コード例 #1
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_plug_lrouter_port_patch_attachment(self):
     tenant_id = 'pippo'
     transport_zones_config = [{
         'zone_uuid': _uuid(),
         'transport_type': 'stt'
     }]
     lswitch = switchlib.create_lswitch(self.fake_cluster, _uuid(),
                                        tenant_id, 'fake-switch',
                                        transport_zones_config)
     lport = switchlib.create_lport(self.fake_cluster, lswitch['uuid'],
                                    tenant_id, 'xyz', 'name', 'device_id',
                                    True)
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        tenant_id, 'fake-lrouter',
                                        '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(self.fake_cluster,
                                                  lrouter['uuid'], 'pippo',
                                                  'neutron_port_id', 'name',
                                                  True, ['192.168.0.1'],
                                                  '00:11:22:33:44:55:66')
     result = routerlib.plug_router_port_attachment(self.fake_cluster,
                                                    lrouter['uuid'],
                                                    lrouter_port['uuid'],
                                                    lport['uuid'],
                                                    'PatchAttachment')
     self.assertEqual(lport['uuid'],
                      result['LogicalPortAttachment']['peer_port_uuid'])
コード例 #2
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def _prepare_nat_rules_for_delete_tests(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     # v2 or v3 makes no difference for this test
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: Version('2.0')):
         routerlib.create_lrouter_snat_rule(
             self.fake_cluster,
             lrouter['uuid'],
             '10.0.0.2',
             '10.0.0.2',
             order=220,
             match_criteria={'source_ip_addresses': '192.168.0.0/24'})
         routerlib.create_lrouter_snat_rule(
             self.fake_cluster,
             lrouter['uuid'],
             '10.0.0.3',
             '10.0.0.3',
             order=200,
             match_criteria={'source_ip_addresses': '192.168.0.2/32'})
         routerlib.create_lrouter_dnat_rule(
             self.fake_cluster,
             lrouter['uuid'],
             '192.168.0.2',
             order=200,
             match_criteria={'destination_ip_addresses': '10.0.0.3'})
     return lrouter
コード例 #3
0
 def test_get_lrouters(self):
     lrouter_uuids = [routerlib.create_lrouter(
         self.fake_cluster, 'whatever', 'pippo', 'fake-lrouter-%s' % k,
         '10.0.0.1')['uuid'] for k in range(3)]
     routers = routerlib.get_lrouters(self.fake_cluster, 'pippo')
     for router in routers:
         self.assertIn(router['uuid'], lrouter_uuids)
コード例 #4
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_get_lrouters(self):
     lrouter_uuids = [routerlib.create_lrouter(
         self.fake_cluster, 'whatever', 'pippo', 'fake-lrouter-%s' % k,
         '10.0.0.1')['uuid'] for k in range(3)]
     routers = routerlib.get_lrouters(self.fake_cluster, 'pippo')
     for router in routers:
         self.assertIn(router['uuid'], lrouter_uuids)
コード例 #5
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_plug_lrouter_port_patch_attachment(self):
     tenant_id = 'pippo'
     transport_zones_config = [{'zone_uuid': _uuid(),
                                'transport_type': 'stt'}]
     lswitch = switchlib.create_lswitch(self.fake_cluster,
                                        _uuid(),
                                        tenant_id, 'fake-switch',
                                        transport_zones_config)
     lport = switchlib.create_lport(self.fake_cluster, lswitch['uuid'],
                                    tenant_id, 'xyz',
                                    'name', 'device_id', True)
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        tenant_id,
                                        'fake-lrouter',
                                        '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
         'name', True, ['192.168.0.1'], '00:11:22:33:44:55:66')
     result = routerlib.plug_router_port_attachment(
         self.fake_cluster, lrouter['uuid'],
         lrouter_port['uuid'],
         lport['uuid'], 'PatchAttachment')
     self.assertEqual(lport['uuid'],
                      result['LogicalPortAttachment']['peer_port_uuid'])
コード例 #6
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_delete_lrouter(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     routerlib.delete_lrouter(self.fake_cluster, lrouter['uuid'])
     self.assertRaises(exceptions.NotFound, routerlib.get_lrouter,
                       self.fake_cluster, lrouter['uuid'])
コード例 #7
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
    def test_update_lrouter_port(self):
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(),
                                           'pippo',
                                           'fake-lrouter',
                                           '10.0.0.1')
        lrouter_port = routerlib.create_router_lport(
            self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
            'name', True, ['192.168.0.1'], '00:11:22:33:44:55')
        routerlib.update_router_lport(
            self.fake_cluster, lrouter['uuid'], lrouter_port['uuid'],
            'pippo', 'another_port_id', 'name', False,
            ['192.168.0.1', '10.10.10.254'])

        ports = routerlib.query_lrouter_lports(
            self.fake_cluster, lrouter['uuid'])
        self.assertEqual(len(ports), 1)
        res_port = ports[0]
        port_tags = self._build_tag_dict(res_port['tags'])
        self.assertEqual(['192.168.0.1', '10.10.10.254'],
                         res_port['ip_addresses'])
        self.assertEqual('False', res_port['admin_status_enabled'])
        self.assertIn('os_tid', port_tags)
        self.assertIn('q_port_id', port_tags)
        self.assertEqual('pippo', port_tags['os_tid'])
        self.assertEqual('another_port_id', port_tags['q_port_id'])
コード例 #8
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
    def test_update_lrouter_port(self):
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(), 'pippo',
                                           'fake-lrouter', '10.0.0.1')
        lrouter_port = routerlib.create_router_lport(self.fake_cluster,
                                                     lrouter['uuid'], 'pippo',
                                                     'neutron_port_id', 'name',
                                                     True, ['192.168.0.1'],
                                                     '00:11:22:33:44:55')
        routerlib.update_router_lport(self.fake_cluster, lrouter['uuid'],
                                      lrouter_port['uuid'], 'pippo',
                                      'another_port_id', 'name', False,
                                      ['192.168.0.1', '10.10.10.254'])

        ports = routerlib.query_lrouter_lports(self.fake_cluster,
                                               lrouter['uuid'])
        self.assertEqual(len(ports), 1)
        res_port = ports[0]
        port_tags = self._build_tag_dict(res_port['tags'])
        self.assertEqual(['192.168.0.1', '10.10.10.254'],
                         res_port['ip_addresses'])
        self.assertEqual('False', res_port['admin_status_enabled'])
        self.assertIn('os_tid', port_tags)
        self.assertIn('q_port_id', port_tags)
        self.assertEqual('pippo', port_tags['os_tid'])
        self.assertEqual('another_port_id', port_tags['q_port_id'])
コード例 #9
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_update_lrouter_port_nonexistent_port_raises(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     self.assertRaises(exceptions.NotFound, routerlib.update_router_lport,
                       self.fake_cluster, lrouter['uuid'], 'boo-port',
                       'pippo', 'neutron_port_id', 'name', True,
                       ['192.168.0.1'])
コード例 #10
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_delete_lrouter_port_nonexistent_port_raises(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     self.assertRaises(exceptions.NotFound,
                       routerlib.delete_router_lport,
                       self.fake_cluster, lrouter['uuid'], 'abc')
コード例 #11
0
 def test_delete_lrouter_port_nonexistent_port_raises(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     self.assertRaises(exceptions.NotFound,
                       routerlib.delete_router_lport,
                       self.fake_cluster, lrouter['uuid'], 'abc')
コード例 #12
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_update_lrouter_port_nonexistent_port_raises(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     self.assertRaises(
         exceptions.NotFound, routerlib.update_router_lport,
         self.fake_cluster, lrouter['uuid'], 'boo-port', 'pippo',
         'neutron_port_id', 'name', True, ['192.168.0.1'])
コード例 #13
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def _create_lrouter(self, version, neutron_id=None, distributed=None):
     with mock.patch.object(
         self.fake_cluster.api_client, 'get_version',
         return_value=version_module.Version(version)):
         if not neutron_id:
             neutron_id = uuidutils.generate_uuid()
         lrouter = routerlib.create_lrouter(
             self.fake_cluster, neutron_id, 'pippo',
             'fake-lrouter', '10.0.0.1', distributed=distributed)
         return routerlib.get_lrouter(self.fake_cluster,
                                      lrouter['uuid'])
コード例 #14
0
 def _create_lrouter(self, version, neutron_id=None, distributed=None):
     with mock.patch.object(
         self.fake_cluster.api_client, 'get_version',
         return_value=Version(version)):
         if not neutron_id:
             neutron_id = uuidutils.generate_uuid()
         lrouter = routerlib.create_lrouter(
             self.fake_cluster, neutron_id, 'pippo',
             'fake-lrouter', '10.0.0.1', distributed=distributed)
         return routerlib.get_lrouter(self.fake_cluster,
                                      lrouter['uuid'])
コード例 #15
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_delete_lrouter(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     routerlib.delete_lrouter(self.fake_cluster, lrouter['uuid'])
     self.assertRaises(exceptions.NotFound,
                       routerlib.get_lrouter,
                       self.fake_cluster,
                       lrouter['uuid'])
コード例 #16
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_create_and_get_lrouter_name_exceeds_40chars(self):
     neutron_id = uuidutils.generate_uuid()
     display_name = '*' * 50
     lrouter = routerlib.create_lrouter(self.fake_cluster, neutron_id,
                                        'pippo', display_name, '10.0.0.1')
     res_lrouter = routerlib.get_lrouter(self.fake_cluster, lrouter['uuid'])
     self._verify_lrouter(res_lrouter,
                          lrouter['uuid'],
                          '*' * 40,
                          '10.0.0.1',
                          'pippo',
                          expected_neutron_id=neutron_id)
コード例 #17
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_create_and_get_lrouter_name_exceeds_40chars(self):
     neutron_id = uuidutils.generate_uuid()
     display_name = '*' * 50
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        neutron_id,
                                        'pippo',
                                        display_name,
                                        '10.0.0.1')
     res_lrouter = routerlib.get_lrouter(self.fake_cluster,
                                         lrouter['uuid'])
     self._verify_lrouter(res_lrouter, lrouter['uuid'],
                          '*' * 40, '10.0.0.1', 'pippo',
                          expected_neutron_id=neutron_id)
コード例 #18
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_plug_lrouter_port_invalid_attachment_type_raises(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
         'name', True, ['192.168.0.1'], '00:11:22:33:44:55')
     self.assertRaises(nsx_exc.InvalidAttachmentType,
                       routerlib.plug_router_port_attachment,
                       self.fake_cluster, lrouter['uuid'],
                       lrouter_port['uuid'], 'gw_att', 'BadType')
コード例 #19
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_plug_lrouter_port_invalid_attachment_type_raises(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(self.fake_cluster,
                                                  lrouter['uuid'], 'pippo',
                                                  'neutron_port_id', 'name',
                                                  True, ['192.168.0.1'],
                                                  '00:11:22:33:44:55')
     self.assertRaises(nsx_exc.InvalidAttachmentType,
                       routerlib.plug_router_port_attachment,
                       self.fake_cluster, lrouter['uuid'],
                       lrouter_port['uuid'], 'gw_att', 'BadType')
コード例 #20
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_update_lrouter(self):
     neutron_id = uuidutils.generate_uuid()
     lrouter = routerlib.create_lrouter(self.fake_cluster, neutron_id,
                                        'pippo', 'fake-lrouter', '10.0.0.1')
     lrouter = routerlib.update_lrouter(self.fake_cluster, lrouter['uuid'],
                                        'new_name', '192.168.0.1')
     res_lrouter = routerlib.get_lrouter(self.fake_cluster, lrouter['uuid'])
     self._verify_lrouter(res_lrouter,
                          lrouter['uuid'],
                          'new_name',
                          '192.168.0.1',
                          'pippo',
                          expected_neutron_id=neutron_id)
コード例 #21
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_update_lrouter_port_ips_remove_only(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
         'name', True, ['192.168.0.1', '10.10.10.254'], '00:11:22:33:44:55')
     routerlib.update_lrouter_port_ips(self.fake_cluster, lrouter['uuid'],
                                       lrouter_port['uuid'], [],
                                       ['10.10.10.254'])
     ports = routerlib.query_lrouter_lports(self.fake_cluster,
                                            lrouter['uuid'])
     self.assertEqual(len(ports), 1)
     res_port = ports[0]
     self.assertEqual(['192.168.0.1'], res_port['ip_addresses'])
コード例 #22
0
 def test_query_lrouter_ports(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     router_port_uuids = [routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo',
         'qp_id_%s' % k, 'port-%s' % k, True,
         ['192.168.0.%s' % k], '00:11:22:33:44:55')['uuid']
         for k in range(3)]
     ports = routerlib.query_lrouter_lports(
         self.fake_cluster, lrouter['uuid'])
     self.assertEqual(len(ports), 3)
     for res_port in ports:
         self.assertIn(res_port['uuid'], router_port_uuids)
コード例 #23
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def _test_create_router_dnat_rule(self, version, dest_port=None):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            return_value=version_module.Version(version)):
         routerlib.create_lrouter_dnat_rule(
             self.fake_cluster, lrouter['uuid'], '192.168.0.2', order=200,
             dest_port=dest_port,
             match_criteria={'destination_ip_addresses': '10.0.0.3'})
         rules = routerlib.query_nat_rules(
             self.fake_cluster, lrouter['uuid'])
         self.assertEqual(len(rules), 1)
コード例 #24
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
    def test_create_router_snat_rule_invalid_match_keys_raises(self):
        # In this case the version does not make a difference
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(),
                                           'pippo',
                                           'fake-lrouter',
                                           '10.0.0.1')

        with mock.patch.object(self.fake_cluster.api_client,
                               'get_version',
                               new=lambda: '2.0'):
            self.assertRaises(AttributeError,
                              routerlib.create_lrouter_snat_rule,
                              self.fake_cluster, lrouter['uuid'],
                              '10.0.0.2', '10.0.0.2', order=200,
                              match_criteria={'foo': 'bar'})
コード例 #25
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_query_lrouter_ports(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     router_port_uuids = [routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo',
         'qp_id_%s' % k, 'port-%s' % k, True,
         ['192.168.0.%s' % k], '00:11:22:33:44:55')['uuid']
         for k in range(3)]
     ports = routerlib.query_lrouter_lports(
         self.fake_cluster, lrouter['uuid'])
     self.assertEqual(len(ports), 3)
     for res_port in ports:
         self.assertIn(res_port['uuid'], router_port_uuids)
コード例 #26
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def _test_create_router_snat_rule(self, version):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: version_module.Version(version)):
         routerlib.create_lrouter_snat_rule(
             self.fake_cluster, lrouter['uuid'],
             '10.0.0.2', '10.0.0.2', order=200,
             match_criteria={'source_ip_addresses': '192.168.0.24'})
         rules = routerlib.query_nat_rules(
             self.fake_cluster, lrouter['uuid'])
         self.assertEqual(len(rules), 1)
コード例 #27
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def _test_create_router_nosnat_rule(self, version, expected=1):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: Version(version)):
         routerlib.create_lrouter_nosnat_rule(
             self.fake_cluster,
             lrouter['uuid'],
             order=100,
             match_criteria={'destination_ip_addresses': '192.168.0.0/24'})
         rules = routerlib.query_nat_rules(self.fake_cluster,
                                           lrouter['uuid'])
         # NoSNAT rules do not exist in V2
         self.assertEqual(len(rules), expected)
コード例 #28
0
 def _test_create_router_snat_rule(self, version):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: Version(version)):
         routerlib.create_lrouter_snat_rule(
             self.fake_cluster, lrouter['uuid'],
             '10.0.0.2', '10.0.0.2', order=200,
             match_criteria={'source_ip_addresses': '192.168.0.24'})
         rules = routerlib.query_nat_rules(
             self.fake_cluster, lrouter['uuid'])
         self.assertEqual(len(rules), 1)
コード例 #29
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_delete_lrouter_port(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(self.fake_cluster,
                                                  lrouter['uuid'], 'pippo',
                                                  'x', 'y', True, [],
                                                  '00:11:22:33:44:55')
     ports = routerlib.query_lrouter_lports(self.fake_cluster,
                                            lrouter['uuid'])
     self.assertEqual(len(ports), 1)
     routerlib.delete_router_lport(self.fake_cluster, lrouter['uuid'],
                                   lrouter_port['uuid'])
     ports = routerlib.query_lrouter_lports(self.fake_cluster,
                                            lrouter['uuid'])
     self.assertFalse(len(ports))
コード例 #30
0
    def test_create_router_snat_rule_invalid_match_keys_raises(self):
        # In this case the version does not make a difference
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(),
                                           'pippo',
                                           'fake-lrouter',
                                           '10.0.0.1')

        with mock.patch.object(self.fake_cluster.api_client,
                               'get_version',
                               new=lambda: '2.0'):
            self.assertRaises(AttributeError,
                              routerlib.create_lrouter_snat_rule,
                              self.fake_cluster, lrouter['uuid'],
                              '10.0.0.2', '10.0.0.2', order=200,
                              match_criteria={'foo': 'bar'})
コード例 #31
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_plug_lrouter_port_l3_gw_attachment_with_vlan(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(), 'pippo',
                                        'fake-lrouter', '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(self.fake_cluster,
                                                  lrouter['uuid'], 'pippo',
                                                  'neutron_port_id', 'name',
                                                  True, ['192.168.0.1'],
                                                  '00:11:22:33:44:55')
     result = routerlib.plug_router_port_attachment(
         self.fake_cluster, lrouter['uuid'], lrouter_port['uuid'], 'gw_att',
         'L3GatewayAttachment', 123)
     self.assertEqual(
         'gw_att',
         result['LogicalPortAttachment']['l3_gateway_service_uuid'])
     self.assertEqual('123', result['LogicalPortAttachment']['vlan_id'])
コード例 #32
0
 def _test_create_router_dnat_rule(self, version, dest_port=None):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            return_value=Version(version)):
         routerlib.create_lrouter_dnat_rule(
             self.fake_cluster, lrouter['uuid'], '192.168.0.2', order=200,
             dest_port=dest_port,
             match_criteria={'destination_ip_addresses': '10.0.0.3'})
         rules = routerlib.query_nat_rules(
             self.fake_cluster, lrouter['uuid'])
         self.assertEqual(len(rules), 1)
コード例 #33
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_plug_lrouter_port_l3_gw_attachment(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
         'name', True, ['192.168.0.1'], '00:11:22:33:44:55:66')
     result = routerlib.plug_router_port_attachment(
         self.fake_cluster, lrouter['uuid'],
         lrouter_port['uuid'],
         'gw_att', 'L3GatewayAttachment')
     self.assertEqual(
         'gw_att',
         result['LogicalPortAttachment']['l3_gateway_service_uuid'])
コード例 #34
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_update_lrouter(self):
     neutron_id = uuidutils.generate_uuid()
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        neutron_id,
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     lrouter = routerlib.update_lrouter(self.fake_cluster,
                                        lrouter['uuid'],
                                        'new_name',
                                        '192.168.0.1')
     res_lrouter = routerlib.get_lrouter(self.fake_cluster,
                                         lrouter['uuid'])
     self._verify_lrouter(res_lrouter, lrouter['uuid'],
                          'new_name', '192.168.0.1', 'pippo',
                          expected_neutron_id=neutron_id)
コード例 #35
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def _test_create_router_nosnat_rule(self, version, expected=1):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: version_module.Version(version)):
         routerlib.create_lrouter_nosnat_rule(
             self.fake_cluster, lrouter['uuid'],
             order=100,
             match_criteria={'destination_ip_addresses': '192.168.0.0/24'})
         rules = routerlib.query_nat_rules(
             self.fake_cluster, lrouter['uuid'])
         # NoSNAT rules do not exist in V2
         self.assertEqual(len(rules), expected)
コード例 #36
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_delete_lrouter_port(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo', 'x', 'y', True, [],
         '00:11:22:33:44:55')
     ports = routerlib.query_lrouter_lports(
         self.fake_cluster, lrouter['uuid'])
     self.assertEqual(len(ports), 1)
     routerlib.delete_router_lport(self.fake_cluster, lrouter['uuid'],
                                   lrouter_port['uuid'])
     ports = routerlib.query_lrouter_lports(
         self.fake_cluster, lrouter['uuid'])
     self.assertFalse(len(ports))
コード例 #37
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
 def test_create_lrouter(self):
     tenant_id = 'fake_tenant_id'
     router_name = 'fake_router_name'
     router_id = 'fake_router_id'
     nexthop_ip = '10.0.0.1'
     with mock.patch.object(routerlib,
                            'do_request',
                            return_value=self._get_lrouter(
                                tenant_id, router_name, router_id)):
         lrouter = routerlib.create_lrouter(self.fake_cluster,
                                            uuidutils.generate_uuid(),
                                            tenant_id, router_name,
                                            nexthop_ip)
         self.assertEqual(lrouter['routing_config']['type'],
                          'RoutingTableRoutingConfig')
         self.assertNotIn('default_route_next_hop',
                          lrouter['routing_config'])
コード例 #38
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_update_lrouter_port_ips_add_and_remove(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     lrouter_port = routerlib.create_router_lport(
         self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
         'name', True, ['192.168.0.1'], '00:11:22:33:44:55')
     routerlib.update_lrouter_port_ips(
         self.fake_cluster, lrouter['uuid'], lrouter_port['uuid'],
         ['10.10.10.254'], ['192.168.0.1'])
     ports = routerlib.query_lrouter_lports(
         self.fake_cluster, lrouter['uuid'])
     self.assertEqual(len(ports), 1)
     res_port = ports[0]
     self.assertEqual(['10.10.10.254'], res_port['ip_addresses'])
コード例 #39
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
    def test_delete_peer_lrouter_port(self):
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(),
                                           'pippo',
                                           'fake-lrouter',
                                           '10.0.0.1')
        lrouter_port = routerlib.create_router_lport(
            self.fake_cluster, lrouter['uuid'], 'pippo', 'x', 'y', True, [],
            '00:11:22:33:44:55')

        def fakegetport(*args, **kwargs):
            return {'_relations': {'LogicalPortAttachment':
                                   {'peer_port_uuid': lrouter_port['uuid']}}}
        # mock get_port
        with mock.patch.object(switchlib, 'get_port', new=fakegetport):
            routerlib.delete_peer_router_lport(self.fake_cluster,
                                               lrouter_port['uuid'],
                                               'whatwever', 'whatever')
コード例 #40
0
    def test_delete_peer_lrouter_port(self):
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(),
                                           'pippo',
                                           'fake-lrouter',
                                           '10.0.0.1')
        lrouter_port = routerlib.create_router_lport(
            self.fake_cluster, lrouter['uuid'], 'pippo', 'x', 'y', True, [],
            '00:11:22:33:44:55')

        def fakegetport(*args, **kwargs):
            return {'_relations': {'LogicalPortAttachment':
                                   {'peer_port_uuid': lrouter_port['uuid']}}}
        # mock get_port
        with mock.patch.object(routerlib, 'get_port', new=fakegetport):
            routerlib.delete_peer_router_lport(self.fake_cluster,
                                               lrouter_port['uuid'],
                                               'whatwever', 'whatever')
コード例 #41
0
ファイル: test_router.py プロジェクト: mshabdiz/neutron
    def test_update_lrouter_port_ips_nsx_exception_raises(self):
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(), 'pippo',
                                           'fake-lrouter', '10.0.0.1')
        lrouter_port = routerlib.create_router_lport(self.fake_cluster,
                                                     lrouter['uuid'], 'pippo',
                                                     'neutron_port_id', 'name',
                                                     True, ['192.168.0.1'],
                                                     '00:11:22:33:44:55')

        def raise_nsx_exc(*args, **kwargs):
            raise api_exc.NsxApiException()

        with mock.patch.object(routerlib, 'do_request', new=raise_nsx_exc):
            self.assertRaises(nsx_exc.NsxPluginException,
                              routerlib.update_lrouter_port_ips,
                              self.fake_cluster, lrouter['uuid'],
                              lrouter_port['uuid'], [], [])
コード例 #42
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def test_create_lrouter(self):
     tenant_id = 'fake_tenant_id'
     router_name = 'fake_router_name'
     router_id = 'fake_router_id'
     nexthop_ip = '10.0.0.1'
     with mock.patch.object(
         nsxlib, 'do_request',
         return_value=self._get_lrouter(tenant_id,
                                        router_name,
                                        router_id)):
         lrouter = routerlib.create_lrouter(self.fake_cluster,
                                            uuidutils.generate_uuid(),
                                            tenant_id,
                                            router_name, nexthop_ip)
         self.assertEqual(lrouter['routing_config']['type'],
                          'RoutingTableRoutingConfig')
         self.assertNotIn('default_route_next_hop',
                          lrouter['routing_config'])
コード例 #43
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
    def test_update_lrouter_port_ips_nsx_exception_raises(self):
        lrouter = routerlib.create_lrouter(self.fake_cluster,
                                           uuidutils.generate_uuid(),
                                           'pippo',
                                           'fake-lrouter',
                                           '10.0.0.1')
        lrouter_port = routerlib.create_router_lport(
            self.fake_cluster, lrouter['uuid'], 'pippo', 'neutron_port_id',
            'name', True, ['192.168.0.1'], '00:11:22:33:44:55')

        def raise_nsx_exc(*args, **kwargs):
            raise api_exc.NsxApiException()

        with mock.patch.object(nsxlib, 'do_request', new=raise_nsx_exc):
            self.assertRaises(
                nsx_exc.NsxPluginException, routerlib.update_lrouter_port_ips,
                self.fake_cluster, lrouter['uuid'],
                lrouter_port['uuid'], [], [])
コード例 #44
0
 def _test_create_lrouter_dnat_rule(self, version):
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: Version(version)):
         tenant_id = 'pippo'
         lrouter = routerlib.create_lrouter(self.fake_cluster,
                                            uuidutils.generate_uuid(),
                                            tenant_id, 'fake_router',
                                            '192.168.0.1')
         nat_rule = routerlib.create_lrouter_dnat_rule(
             self.fake_cluster,
             lrouter['uuid'],
             '10.0.0.99',
             match_criteria={'destination_ip_addresses': '192.168.0.5'})
         uri = nsxlib._build_uri_path(routerlib.LROUTERNAT_RESOURCE,
                                      nat_rule['uuid'], lrouter['uuid'])
         resp_obj = nsxlib.do_request("GET", uri, cluster=self.fake_cluster)
         self.assertEqual('DestinationNatRule', resp_obj['type'])
         self.assertEqual('192.168.0.5',
                          resp_obj['match']['destination_ip_addresses'])
コード例 #45
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def _test_create_lrouter_dnat_rule(self, version):
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: version_module.Version(version)):
         tenant_id = 'pippo'
         lrouter = routerlib.create_lrouter(self.fake_cluster,
                                            uuidutils.generate_uuid(),
                                            tenant_id,
                                            'fake_router',
                                            '192.168.0.1')
         nat_rule = routerlib.create_lrouter_dnat_rule(
             self.fake_cluster, lrouter['uuid'], '10.0.0.99',
             match_criteria={'destination_ip_addresses':
                             '192.168.0.5'})
         uri = nsxlib._build_uri_path(routerlib.LROUTERNAT_RESOURCE,
                                      nat_rule['uuid'],
                                      lrouter['uuid'])
         resp_obj = nsxlib.do_request("GET", uri, cluster=self.fake_cluster)
         self.assertEqual('DestinationNatRule', resp_obj['type'])
         self.assertEqual('192.168.0.5',
                          resp_obj['match']['destination_ip_addresses'])
コード例 #46
0
ファイル: test_router.py プロジェクト: AsherBond/quantum
 def _prepare_nat_rules_for_delete_tests(self):
     lrouter = routerlib.create_lrouter(self.fake_cluster,
                                        uuidutils.generate_uuid(),
                                        'pippo',
                                        'fake-lrouter',
                                        '10.0.0.1')
     # v2 or v3 makes no difference for this test
     with mock.patch.object(self.fake_cluster.api_client,
                            'get_version',
                            new=lambda: version_module.Version('2.0')):
         routerlib.create_lrouter_snat_rule(
             self.fake_cluster, lrouter['uuid'],
             '10.0.0.2', '10.0.0.2', order=220,
             match_criteria={'source_ip_addresses': '192.168.0.0/24'})
         routerlib.create_lrouter_snat_rule(
             self.fake_cluster, lrouter['uuid'],
             '10.0.0.3', '10.0.0.3', order=200,
             match_criteria={'source_ip_addresses': '192.168.0.2/32'})
         routerlib.create_lrouter_dnat_rule(
             self.fake_cluster, lrouter['uuid'], '192.168.0.2', order=200,
             match_criteria={'destination_ip_addresses': '10.0.0.3'})
     return lrouter