def _update_tenant_fw_disconnect(self, context, **kwargs):
        """Update Tenant FW

        @param context: contains user information.
        @param kwargs:
        @return: nwa_data
        @raise AgentProxyException
        """
        if self.multi_dc:
            self.proxy_l2.delete_connect_port(context, **kwargs)
        nwa_data = kwargs.get('nwa_data')
        device_id = kwargs['nwa_info']['device']['id']
        network_id = kwargs['nwa_info']['network']['id']
        device_name = data_utils.get_tfw_device_name(nwa_data, device_id)

        if self.tenant_fw_disconnect_hook:
            self.tenant_fw_disconnect_hook(context, device_name, **kwargs)

        rcode, body = self.client.l3.update_tenant_fw(
            kwargs['nwa_tenant_id'],
            device_name,
            kwargs['nwa_info']['port']['ip'],
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            kwargs['nwa_info']['network']['vlan_type'],
            connect='disconnect')
        if rcode != 200 or body['status'] != 'SUCCEED':
            LOG.error(_LE("UpdateTenantFW(disconnect) FAILED."))
            info = {
                'status': 'FAILED',
                'msg': 'UpdateTenantFW(disconnect) FAILED.'
            }
            raise nwa_exc.AgentProxyException(value=info)

        LOG.debug("UpdateTenantFW(disconnect) SUCCEED.")
        resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw']

        data_utils.strip_interface_data(nwa_data, device_id, network_id,
                                        resource_group_name_nw)
        data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id,
                                           resource_group_name_nw)

        if not l2.check_segment_tfw(network_id, resource_group_name_nw,
                                    nwa_data):
            data_utils.strip_vp_net_data(nwa_data, network_id,
                                         resource_group_name_nw,
                                         nwa_const.NWA_DEVICE_TFW)
        return nwa_data
    def _update_tenant_fw_disconnect(self, context, **kwargs):
        """Update Tenant FW

        @param context: contains user information.
        @param kwargs:
        @return: nwa_data
        @raise AgentProxyException
        """
        if self.multi_dc:
            self.proxy_l2.delete_connect_port(context, **kwargs)
        nwa_data = kwargs.get('nwa_data')
        device_id = kwargs['nwa_info']['device']['id']
        network_id = kwargs['nwa_info']['network']['id']
        device_name = data_utils.get_tfw_device_name(nwa_data, device_id)

        if self.tenant_fw_disconnect_hook:
            self.tenant_fw_disconnect_hook(context, device_name, **kwargs)

        rcode, body = self.client.l3.update_tenant_fw(
            kwargs['nwa_tenant_id'],
            device_name,
            kwargs['nwa_info']['port']['ip'],
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            kwargs['nwa_info']['network']['vlan_type'],
            connect='disconnect'
        )
        if rcode != 200 or body['status'] != 'SUCCEED':
            LOG.error(_LE("UpdateTenantFW(disconnect) FAILED."))
            info = {'status': 'FAILED',
                    'msg': 'UpdateTenantFW(disconnect) FAILED.'}
            raise nwa_exc.AgentProxyException(value=info)

        LOG.debug("UpdateTenantFW(disconnect) SUCCEED.")
        resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw']

        data_utils.strip_interface_data(nwa_data, device_id, network_id,
                                        resource_group_name_nw)
        data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id,
                                           resource_group_name_nw)

        if not l2.check_segment_tfw(network_id, resource_group_name_nw,
                                    nwa_data):
            data_utils.strip_vp_net_data(nwa_data, network_id,
                                         resource_group_name_nw,
                                         nwa_const.NWA_DEVICE_TFW)
        return nwa_data
    def _delete_tenant_fw(self, context, **kwargs):
        """Delete Tenant FW

        @param context: contains user information.
        @param kwargs: nwa_tenant_id, nwa_tenant_id, nwa_info, nwa_data
        @return: resutl(succeed = True, other = False), data(nwa_data or None)
        """
        if self.multi_dc:
            self.proxy_l2.delete_connect_port(context, **kwargs)
        nwa_data = kwargs.get('nwa_data')
        nwa_info = kwargs['nwa_info']

        network_id = nwa_info['network']['id']
        device_id = nwa_info['device']['id']

        device_name = data_utils.get_tfw_device_name(nwa_data, device_id)
        if self.tenant_fw_delete_hook:
            self.tenant_fw_delete_hook(context, device_name, **kwargs)

        rcode, body = self.client.l3.delete_tenant_fw(
            kwargs['nwa_tenant_id'],
            device_name,
            'TFW'
        )
        if rcode != 200 or body['status'] != 'SUCCEED':
            msg = _LE("DeleteTenantFW %s."), body['status']
            LOG.error(msg)
            raise nwa_exc.AgentProxyException(value=nwa_data)

        LOG.debug("DeleteTenantFW SUCCEED.")

        resource_group_name_nw = nwa_info['resource_group_name_nw']
        # delete recode
        data_utils.strip_device_data(nwa_data, device_id)
        data_utils.strip_interface_data(nwa_data, device_id, network_id,
                                        resource_group_name_nw)
        data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id,
                                           resource_group_name_nw)

        if not l2.check_segment_tfw(network_id, resource_group_name_nw,
                                    nwa_data):
            data_utils.strip_vp_net_data(nwa_data, network_id,
                                         resource_group_name_nw,
                                         nwa_const.NWA_DEVICE_TFW)
        return nwa_data
    def _delete_tenant_fw(self, context, **kwargs):
        """Delete Tenant FW

        @param context: contains user information.
        @param kwargs: nwa_tenant_id, nwa_tenant_id, nwa_info, nwa_data
        @return: resutl(succeed = True, other = False), data(nwa_data or None)
        """
        if self.multi_dc:
            self.proxy_l2.delete_connect_port(context, **kwargs)
        nwa_data = kwargs.get('nwa_data')
        nwa_info = kwargs['nwa_info']

        network_id = nwa_info['network']['id']
        device_id = nwa_info['device']['id']

        device_name = data_utils.get_tfw_device_name(nwa_data, device_id)
        if self.tenant_fw_delete_hook:
            self.tenant_fw_delete_hook(context, device_name, **kwargs)

        rcode, body = self.client.l3.delete_tenant_fw(kwargs['nwa_tenant_id'],
                                                      device_name, 'TFW')
        if rcode != 200 or body['status'] != 'SUCCEED':
            msg = _LE("DeleteTenantFW %s."), body['status']
            LOG.error(msg)
            raise nwa_exc.AgentProxyException(value=nwa_data)

        LOG.debug("DeleteTenantFW SUCCEED.")

        resource_group_name_nw = nwa_info['resource_group_name_nw']
        # delete recode
        data_utils.strip_device_data(nwa_data, device_id)
        data_utils.strip_interface_data(nwa_data, device_id, network_id,
                                        resource_group_name_nw)
        data_utils.strip_tfw_data_if_exist(nwa_data, device_id, network_id,
                                           resource_group_name_nw)

        if not l2.check_segment_tfw(network_id, resource_group_name_nw,
                                    nwa_data):
            data_utils.strip_vp_net_data(nwa_data, network_id,
                                         resource_group_name_nw,
                                         nwa_const.NWA_DEVICE_TFW)
        return nwa_data
    def _delete_general_dev_data(self, **kwargs):
        nwa_info = kwargs.get('nwa_info')
        nwa_data = kwargs.get('nwa_data')

        device_id = nwa_info['device']['id']
        network_id = nwa_info['network']['id']
        resource_group_name = nwa_info['resource_group_name']

        dev_key = data_utils.get_device_key(device_id)
        if dev_key in nwa_data:
            data_utils.strip_interface_data(
                nwa_data, device_id, network_id, resource_group_name)
            if count_device_id(device_id, nwa_data) == 1:
                data_utils.strip_device_data(nwa_data, device_id)

        if not check_segment_gd(network_id, resource_group_name, nwa_data):
            data_utils.strip_vp_net_data(nwa_data, network_id,
                                         resource_group_name,
                                         nwa_const.NWA_DEVICE_GDV)

        return nwa_data
Example #6
0
    def _delete_general_dev_data(self, **kwargs):
        nwa_info = kwargs.get('nwa_info')
        nwa_data = kwargs.get('nwa_data')

        device_id = nwa_info['device']['id']
        network_id = nwa_info['network']['id']
        resource_group_name = nwa_info['resource_group_name']

        dev_key = data_utils.get_device_key(device_id)
        if dev_key in nwa_data:
            data_utils.strip_interface_data(nwa_data, device_id, network_id,
                                            resource_group_name)
            if count_device_id(device_id, nwa_data) == 1:
                data_utils.strip_device_data(nwa_data, device_id)

        if not check_segment_gd(network_id, resource_group_name, nwa_data):
            data_utils.strip_vp_net_data(nwa_data, network_id,
                                         resource_group_name,
                                         nwa_const.NWA_DEVICE_GDV)

        return nwa_data