Пример #1
0
    def _update_tenant_fw_connect(self, context, **kwargs):
        nwa_data = kwargs.get('nwa_data')

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

        rcode, body = self.client.l3.update_tenant_fw(
            kwargs['nwa_tenant_id'],
            data_utils.get_tfw_device_name(nwa_data, device_id),
            kwargs['nwa_info']['port']['ip'],
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            kwargs['nwa_info']['network']['vlan_type'],
            connect='connect')

        if rcode != 200 or body['status'] != 'SUCCEED':
            raise nwa_exc.AgentProxyException(value=None)

        LOG.debug("UpdateTenantFW succeed.")
        resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw']
        tfw_name = body['resultdata']['TenantFWName']

        data_utils.set_tfw_interface_data(nwa_data, device_id, network_id,
                                          resource_group_name_nw, tfw_name,
                                          kwargs['nwa_info'])
        vlan_id = data_utils.get_vlan_id(network_id, nwa_data,
                                         body['resultdata'])
        data_utils.set_vp_net_data(nwa_data, network_id,
                                   resource_group_name_nw,
                                   nwa_const.NWA_DEVICE_TFW, vlan_id)

        if self.tenant_fw_connect_hook:
            self.tenant_fw_connect_hook(context, tfw_name, **kwargs)
        return nwa_data
Пример #2
0
    def _create_tenant_fw(self, nwa_data, context, **kwargs):
        device_id = kwargs['nwa_info']['device']['id']
        network_id = kwargs['nwa_info']['network']['id']
        rcode, body = self.client.l3.create_tenant_fw(
            kwargs['nwa_tenant_id'], kwargs['nwa_info']['resource_group_name'],
            kwargs['nwa_info']['port']['ip'],
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            kwargs['nwa_info']['network']['vlan_type'])
        if rcode != 200 or body['status'] != 'SUCCEED':
            return None

        LOG.debug("CreateTenantFW SUCCEED.")

        tfw_name = body['resultdata']['TenantFWName']
        resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw']

        data_utils.set_tfw_device_data(nwa_data, device_id, tfw_name,
                                       kwargs['nwa_info'])
        data_utils.set_tfw_interface_data(nwa_data, device_id, network_id,
                                          resource_group_name_nw, tfw_name,
                                          kwargs['nwa_info'])
        vlan_id = data_utils.get_vlan_id(network_id, nwa_data,
                                         body['resultdata'])
        data_utils.set_vp_net_data(nwa_data, network_id,
                                   resource_group_name_nw,
                                   nwa_const.NWA_DEVICE_TFW, vlan_id)

        if self.tenant_fw_create_hook:
            self.tenant_fw_create_hook(context, tfw_name, **kwargs)
        return nwa_data
Пример #3
0
    def _update_tenant_fw_connect(self, context, **kwargs):
        nwa_data = kwargs.get('nwa_data')

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

        rcode, body = self.client.l3.update_tenant_fw(
            kwargs['nwa_tenant_id'],
            data_utils.get_tfw_device_name(nwa_data, device_id),
            kwargs['nwa_info']['port']['ip'],
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            kwargs['nwa_info']['network']['vlan_type'],
            connect='connect')

        if rcode != 200 or body['status'] != 'SUCCEED':
            raise nwa_exc.AgentProxyException(value=None)

        LOG.debug("UpdateTenantFW succeed.")
        resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw']
        tfw_name = body['resultdata']['TenantFWName']

        data_utils.set_tfw_interface_data(nwa_data, device_id, network_id,
                                          resource_group_name_nw,
                                          tfw_name, kwargs['nwa_info'])
        vlan_id = data_utils.get_vlan_id(network_id, nwa_data,
                                         body['resultdata'])
        data_utils.set_vp_net_data(nwa_data, network_id,
                                   resource_group_name_nw,
                                   nwa_const.NWA_DEVICE_TFW,
                                   vlan_id)

        if self.tenant_fw_connect_hook:
            self.tenant_fw_connect_hook(context, tfw_name, **kwargs)
        return nwa_data
Пример #4
0
    def _create_tenant_fw(self, nwa_data, context, **kwargs):
        device_id = kwargs['nwa_info']['device']['id']
        network_id = kwargs['nwa_info']['network']['id']
        rcode, body = self.client.l3.create_tenant_fw(
            kwargs['nwa_tenant_id'],
            kwargs['nwa_info']['resource_group_name'],
            kwargs['nwa_info']['port']['ip'],
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            kwargs['nwa_info']['network']['vlan_type']
        )
        if rcode != 200 or body['status'] != 'SUCCEED':
            return None

        LOG.debug("CreateTenantFW SUCCEED.")

        tfw_name = body['resultdata']['TenantFWName']
        resource_group_name_nw = kwargs['nwa_info']['resource_group_name_nw']

        data_utils.set_tfw_device_data(nwa_data, device_id,
                                       tfw_name, kwargs['nwa_info'])
        data_utils.set_tfw_interface_data(nwa_data, device_id, network_id,
                                          resource_group_name_nw,
                                          tfw_name, kwargs['nwa_info'])
        vlan_id = data_utils.get_vlan_id(network_id, nwa_data,
                                         body['resultdata'])
        data_utils.set_vp_net_data(nwa_data, network_id,
                                   resource_group_name_nw,
                                   nwa_const.NWA_DEVICE_TFW,
                                   vlan_id)

        if self.tenant_fw_create_hook:
            self.tenant_fw_create_hook(context, tfw_name, **kwargs)
        return nwa_data
Пример #5
0
 def _create_connect_port(self, context, **kwargs):
     body = self.create_connect_port(context, **kwargs)
     if body:
         nwa_data = kwargs['nwa_data']
         nwa_info = kwargs['nwa_info']
         network_id = nwa_info['network']['id']
         vlan_id = nwa_info['network']['vlan_id']
         resource_group_name = nwa_info['resource_group_name']
         vlan_key = data_utils.get_vlan_key(network_id)
         if vlan_key not in nwa_data:
             LOG.error(_LE("not create vlan."))
             raise nwa_exc.AgentProxyException(value=nwa_data)
         data_utils.set_vp_net_data(nwa_data, network_id,
                                    resource_group_name,
                                    nwa_const.NWA_DEVICE_GDV,
                                    vlan_id)
         self._append_device_for_gdv(nwa_info, nwa_data)
     else:
         LOG.debug("CreateConnectPort %s", body['status'])
         raise nwa_exc.AgentProxyException(value=nwa_data)
     return nwa_data
Пример #6
0
    def _create_general_dev(self, context, **kwargs):
        nwa_tenant_id = kwargs.get('nwa_tenant_id')
        nwa_info = kwargs.get('nwa_info')
        nwa_data = kwargs.get('nwa_data')

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

        port_type = None

        rcode, body = self.client.l2.create_general_dev(
            nwa_tenant_id,
            resource_group_name,
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            port_type=port_type
        )

        if rcode == 200 and body['status'] == 'SUCCEED':
            LOG.debug("CreateGeneralDev SUCCEED")

            vlan_key = data_utils.get_vlan_key(network_id)
            if vlan_key not in nwa_data:
                LOG.error(_LE("not create vlan."))
                raise nwa_exc.AgentProxyException(value=nwa_data)

            vlan_id = data_utils.get_vlan_id(network_id, nwa_data,
                                             body['resultdata'])
            data_utils.set_vp_net_data(nwa_data, network_id,
                                       resource_group_name,
                                       nwa_const.NWA_DEVICE_GDV,
                                       vlan_id)

            self._append_device_for_gdv(nwa_info, nwa_data)
        else:
            LOG.debug("CreateGeneralDev %s", body['status'])
            raise nwa_exc.AgentProxyException(value=nwa_data)

        return nwa_data
Пример #7
0
    def _create_general_dev(self, context, **kwargs):
        nwa_tenant_id = kwargs.get('nwa_tenant_id')
        nwa_info = kwargs.get('nwa_info')
        nwa_data = kwargs.get('nwa_data')

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

        port_type = None

        rcode, body = self.client.l2.create_general_dev(
            nwa_tenant_id,
            resource_group_name,
            data_utils.get_vlan_logical_name(nwa_data, network_id),
            port_type=port_type)

        if rcode == 200 and body['status'] == 'SUCCEED':
            LOG.debug("CreateGeneralDev SUCCEED")

            vlan_key = data_utils.get_vlan_key(network_id)
            if vlan_key not in nwa_data:
                LOG.error(_LE("not create vlan."))
                raise nwa_exc.AgentProxyException(value=nwa_data)

            vlan_id = data_utils.get_vlan_id(network_id, nwa_data,
                                             body['resultdata'])
            data_utils.set_vp_net_data(nwa_data, network_id,
                                       resource_group_name,
                                       nwa_const.NWA_DEVICE_GDV, vlan_id)

            self._append_device_for_gdv(nwa_info, nwa_data)
        else:
            LOG.debug("CreateGeneralDev %s", body['status'])
            raise nwa_exc.AgentProxyException(value=nwa_data)

        return nwa_data