示例#1
0
 def test_portcontext_to_nwa_info_original_port(self):
     device_owner = 'do-1'
     device_id = 'di-1'
     id_ = 'id-1'
     subnet_id = 'sid-1'
     ip_address = '192.168.120.1'
     mac = 'mac-1'
     self.context.original = {
         'device_owner': device_owner,
         'device_id': device_id,
         'id': id_,
         'fixed_ips': [
             {
                 'ip_address': ip_address,
                 'subnet_id': subnet_id
             },
         ],
         'mac_address': mac,
     }
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group, True)
     self.assertIsInstance(rd, dict)
     self.assertEqual(rd['device']['owner'], device_owner)
     self.assertEqual(rd['device']['id'], device_id)
     self.assertEqual(rd['subnet']['id'], subnet_id)
     self.assertEqual(rd['port']['id'], id_)
     self.assertEqual(rd['port']['ip'], ip_address)
     self.assertEqual(rd['port']['mac'], mac)
    def _add_router_interface_by_port(self, plugin, context, router_id,
                                      interface_info):
        try:
            session = context.session
            port = plugin._core_plugin._get_port(context,
                                                 interface_info['port_id'])
            network = plugin._core_plugin.get_network(context,
                                                      port['network_id'])

            binding = nwa_db.ensure_port_binding(session, port['id'])
            port_context = driver_context.PortContext(plugin._core_plugin,
                                                      context, port,
                                                      network, binding, None)

            nwa_info = nwa_l2_utils.portcontext_to_nwa_info(
                port_context, self.resource_groups)
            rt_tid = nwa_l3_db.get_tenant_id_by_router(
                session, router_id
            )
            nwa_rt_tid = nwa_com_utils.get_nwa_tenant_id(rt_tid)
            nwa_info['tenant_id'] = rt_tid
            nwa_info['nwa_tenant_id'] = nwa_rt_tid
            proxy = self._get_nwa_proxy(plugin, rt_tid)
            proxy.create_tenant_fw(
                port_context.network._plugin_context,
                rt_tid,
                nwa_rt_tid,
                nwa_info
            )

        except Exception as e:
            LOG.exception(_LE("create tenant firewall %s"), e)
 def test_portcontext_to_nwa_info_original_port(self):
     device_owner = 'do-1'
     device_id = 'di-1'
     id_ = 'id-1'
     subnet_id = 'sid-1'
     ip_address = '192.168.120.1'
     mac = 'mac-1'
     self.context.original = {
         'device_owner': device_owner,
         'device_id': device_id,
         'id': id_,
         'fixed_ips': [
             {'ip_address': ip_address,
              'subnet_id': subnet_id},
         ],
         'mac_address': mac,
     }
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group,
                                               True)
     self.assertIsInstance(rd, dict)
     self.assertEqual(rd['device']['owner'], device_owner)
     self.assertEqual(rd['device']['id'], device_id)
     self.assertEqual(rd['subnet']['id'], subnet_id)
     self.assertEqual(rd['port']['id'], id_)
     self.assertEqual(rd['port']['ip'], ip_address)
     self.assertEqual(rd['port']['mac'], mac)
示例#4
0
 def _make_l2api_kwargs(self, context, use_original_port=False):
     tenant_id, nwa_tenant_id = nwa_com_utils.get_tenant_info(context)
     nwa_info = nwa_l2_utils.portcontext_to_nwa_info(
         context, self.resource_groups, use_original_port)
     return {
         'tenant_id': tenant_id,
         'nwa_tenant_id': nwa_tenant_id,
         'nwa_info': nwa_info
     }
示例#5
0
 def _make_l2api_kwargs(self, context, use_original_port=False):
     tenant_id, nwa_tenant_id = nwa_com_utils.get_tenant_info(context)
     nwa_info = nwa_l2_utils.portcontext_to_nwa_info(
         context, self.resource_groups, use_original_port)
     return {
         'tenant_id': tenant_id,
         'nwa_tenant_id': nwa_tenant_id,
         'nwa_info': nwa_info
     }
示例#6
0
 def test_portcontext_to_nwa_info(self):
     self.context.current = self.context._port
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group)
     self.assertIsInstance(rd, dict)
     p = self.context._port
     self.assertEqual(rd['device']['owner'], p['device_owner'])
     self.assertEqual(rd['device']['id'], p['device_id'])
     self.assertEqual(rd['subnet']['id'], p['fixed_ips'][0]['subnet_id'])
     self.assertEqual(rd['port']['id'], p['id'])
     self.assertEqual(rd['port']['ip'], p['fixed_ips'][0]['ip_address'])
     self.assertEqual(rd['port']['mac'], p['mac_address'])
 def test_portcontext_to_nwa_info(self):
     self.context.current = self.context._port
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group)
     self.assertIsInstance(rd, dict)
     p = self.context._port
     self.assertEqual(rd['device']['owner'], p['device_owner'])
     self.assertEqual(rd['device']['id'], p['device_id'])
     self.assertEqual(rd['subnet']['id'], p['fixed_ips'][0]['subnet_id'])
     self.assertEqual(rd['port']['id'], p['id'])
     self.assertEqual(rd['port']['ip'], p['fixed_ips'][0]['ip_address'])
     self.assertEqual(rd['port']['mac'], p['mac_address'])
 def test_portcontext_to_nwa_info_business_vlan(self):
     # session in context
     self.context.session = MagicMock()
     # external network is not found
     self.context.session.query().filter_by().\
         one.side_effect = sa_exc.NoResultFound
     self.context.network.current['name'] = 'BusinessVLAN_200'
     self.context.network.current['id'] = 'Uuid-BusinessVLAN_200'
     self.context.current = self.context._port
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group)
     self.assertIsInstance(rd, dict)
     self.assertEqual(rd['network']['vlan_type'], 'BusinessVLAN')
 def test_portcontext_to_nwa_info_business_vlan(self):
     # session in context
     self.context.session = MagicMock()
     # external network is not found
     self.context.session.query().filter_by().\
         one.side_effect = sa_exc.NoResultFound
     self.context.network.current['name'] = 'BusinessVLAN_200'
     self.context.network.current['id'] = 'Uuid-BusinessVLAN_200'
     self.context.current = self.context._port
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group)
     self.assertIsInstance(rd, dict)
     self.assertEqual(rd['network']['vlan_type'], 'BusinessVLAN')
示例#10
0
 def _make_l3api_kwargs(self, context):
     rt_tid = nwa_l3_db.get_tenant_id_by_router(
         context.network._plugin_context.session,
         context._port['device_id'])
     nwa_rt_tid = nwa_com_utils.get_nwa_tenant_id(rt_tid)
     nwa_info = nwa_l2_utils.portcontext_to_nwa_info(
         context, self.resource_groups)
     nwa_info['tenant_id'] = rt_tid  # overwrite by router's
     nwa_info['nwa_tenant_id'] = nwa_rt_tid  # tenant_id and nwa_tenant_id
     return {
         'tenant_id': rt_tid,
         'nwa_tenant_id': nwa_rt_tid,
         'nwa_info': nwa_info
     }
示例#11
0
 def _make_l3api_kwargs(self, context):
     rt_tid = nwa_l3_db.get_tenant_id_by_router(
         context.network._plugin_context.session,
         context._port['device_id']
     )
     nwa_rt_tid = nwa_com_utils.get_nwa_tenant_id(rt_tid)
     nwa_info = nwa_l2_utils.portcontext_to_nwa_info(
         context, self.resource_groups)
     nwa_info['tenant_id'] = rt_tid           # overwrite by router's
     nwa_info['nwa_tenant_id'] = nwa_rt_tid   # tenant_id and nwa_tenant_id
     return {
         'tenant_id': rt_tid,
         'nwa_tenant_id': nwa_rt_tid,
         'nwa_info': nwa_info
     }
示例#12
0
 def test_portcontext_to_nwa_info_original_port_no_fixedip(self):
     device_owner = 'do-2'
     device_id = 'di-2'
     id_ = 'id-2'
     subnet_id = ''
     ip_address = ''
     mac = ''
     self.context.original = {
         'device_owner': device_owner,
         'device_id': device_id,
         'id': id_,
         'fixed_ips': [],
         'mac_address': mac,
     }
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group, True)
     self.assertIsInstance(rd, dict)
     self.assertEqual(rd['device']['owner'], device_owner)
     self.assertEqual(rd['device']['id'], device_id)
     self.assertEqual(rd['subnet']['id'], subnet_id)
     self.assertEqual(rd['port']['id'], id_)
     self.assertEqual(rd['port']['ip'], ip_address)
     self.assertEqual(rd['port']['mac'], mac)
 def test_portcontext_to_nwa_info_original_port_no_fixedip(self):
     device_owner = 'do-2'
     device_id = 'di-2'
     id_ = 'id-2'
     subnet_id = ''
     ip_address = ''
     mac = ''
     self.context.original = {
         'device_owner': device_owner,
         'device_id': device_id,
         'id': id_,
         'fixed_ips': [],
         'mac_address': mac,
     }
     rd = nwa_l2_utils.portcontext_to_nwa_info(self.context,
                                               self.resource_group,
                                               True)
     self.assertIsInstance(rd, dict)
     self.assertEqual(rd['device']['owner'], device_owner)
     self.assertEqual(rd['device']['id'], device_id)
     self.assertEqual(rd['subnet']['id'], subnet_id)
     self.assertEqual(rd['port']['id'], id_)
     self.assertEqual(rd['port']['ip'], ip_address)
     self.assertEqual(rd['port']['mac'], mac)