]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Rename/remove Nicira NVP references from VMware NSX unit tests
authorarmando-migliaccio <armamig@gmail.com>
Mon, 3 Feb 2014 22:19:25 +0000 (14:19 -0800)
committerarmando-migliaccio <armamig@gmail.com>
Mon, 24 Feb 2014 17:20:24 +0000 (09:20 -0800)
This patch sweeps for Nicira and NVP references and replace
them with VMware and NSX where possible. Some clean-up is
done along the way to improve the organization of the
unit tests module.

Partial-implements blueprint: nicira-plugin-renaming

Change-Id: I48e4779ccec64ba300b26d4967d3f9fae7cfdc14

33 files changed:
neutron/tests/unit/vmware/__init__.py
neutron/tests/unit/vmware/apiclient/fake.py [moved from neutron/tests/unit/vmware/fake_nvpapiclient.py with 98% similarity]
neutron/tests/unit/vmware/apiclient/test_api_common.py
neutron/tests/unit/vmware/apiclient/test_api_request_eventlet.py
neutron/tests/unit/vmware/db/__init__.py [new file with mode: 0644]
neutron/tests/unit/vmware/db/test_lsn_db.py [moved from neutron/tests/unit/nicira/test_lsn_db.py with 100% similarity]
neutron/tests/unit/vmware/db/test_nsx_db.py [moved from neutron/tests/unit/vmware/test_nsx_db.py with 86% similarity]
neutron/tests/unit/vmware/extensions/__init__.py [new file with mode: 0644]
neutron/tests/unit/vmware/extensions/test_addresspairs.py [new file with mode: 0644]
neutron/tests/unit/vmware/extensions/test_maclearning.py [moved from neutron/tests/unit/vmware/test_maclearning.py with 92% similarity]
neutron/tests/unit/vmware/extensions/test_networkgw.py [moved from neutron/tests/unit/vmware/test_networkgw.py with 84% similarity]
neutron/tests/unit/vmware/extensions/test_portsecurity.py [new file with mode: 0644]
neutron/tests/unit/vmware/extensions/test_providernet.py [new file with mode: 0644]
neutron/tests/unit/vmware/extensions/test_qosqueues.py [new file with mode: 0644]
neutron/tests/unit/vmware/nsxlib/base.py
neutron/tests/unit/vmware/nsxlib/test_l2gateway.py
neutron/tests/unit/vmware/nsxlib/test_lsn.py
neutron/tests/unit/vmware/nsxlib/test_queue.py
neutron/tests/unit/vmware/nsxlib/test_router.py
neutron/tests/unit/vmware/nsxlib/test_secgroup.py
neutron/tests/unit/vmware/nsxlib/test_versioning.py
neutron/tests/unit/vmware/test_agent_scheduler.py
neutron/tests/unit/vmware/test_nsx_opts.py
neutron/tests/unit/vmware/test_nsx_plugin.py
neutron/tests/unit/vmware/test_nsx_sync.py
neutron/tests/unit/vmware/test_nsx_utils.py
neutron/tests/unit/vmware/vshield/fake_vcns.py
neutron/tests/unit/vmware/vshield/test_edge_router.py [moved from neutron/tests/unit/vmware/test_edge_router.py with 98% similarity]
neutron/tests/unit/vmware/vshield/test_firewall_driver.py
neutron/tests/unit/vmware/vshield/test_fwaas_plugin.py [moved from neutron/tests/unit/vmware/test_fwaas_plugin.py with 99% similarity]
neutron/tests/unit/vmware/vshield/test_lbaas_plugin.py [moved from neutron/tests/unit/vmware/test_lbaas_plugin.py with 99% similarity]
neutron/tests/unit/vmware/vshield/test_loadbalancer_driver.py
neutron/tests/unit/vmware/vshield/test_vcns_driver.py [moved from neutron/tests/unit/vmware/test_vcns_driver.py with 99% similarity]

index d6210f3a9d11a43a91abb77f6e53d5a15f4d2dae..1abde0032c7f7cc5e729ad024d11db06404ed133 100644 (file)
@@ -19,7 +19,7 @@ import os
 
 import neutron.plugins.nicira.api_client.client_eventlet as client
 from neutron.plugins.nicira import extensions
-import neutron.plugins.nicira.NvpApiClient as nvpapi
+import neutron.plugins.nicira.NvpApiClient as nsxapi
 from neutron.plugins.nicira import nvplib
 from neutron.plugins.nicira.vshield.common import VcnsApiClient as vcnsapi
 from neutron.plugins.nicira.vshield import vcns
@@ -28,7 +28,7 @@ import neutron.plugins.vmware.plugin as neutron_plugin
 
 plugin = neutron_plugin.NsxPlugin
 service_plugin = neutron_plugin.NsxServicePlugin
-api_helper = nvpapi.NVPApiHelper
+api_helper = nsxapi.NVPApiHelper
 api_client = client.NvpApiClientEventlet
 vcns_class = vcns.Vcns
 vcns_driver = vcnsdriver.VcnsDriver
similarity index 98%
rename from neutron/tests/unit/vmware/fake_nvpapiclient.py
rename to neutron/tests/unit/vmware/apiclient/fake.py
index a367b246bd43cb004899be2a3a75a35720bc5635..84ebdc7c7dcb7db168df09ae9028f3e4fb86cec6 100644 (file)
@@ -1,6 +1,6 @@
 # vim: tabstop=4 shiftwidth=4 softtabstop=4
 
-# Copyright 2012 Nicira Networks, Inc.
+# Copyright 2012 VMware, Inc.
 #
 #    Licensed under the Apache License, Version 2.0 (the "License"); you may
 #    not use this file except in compliance with the License. You may obtain
@@ -20,7 +20,7 @@ import six.moves.urllib.parse as urlparse
 
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
-from neutron.plugins.nicira import NvpApiClient
+from neutron.plugins.nicira import NvpApiClient as api_client
 
 
 LOG = logging.getLogger(__name__)
@@ -181,9 +181,9 @@ class FakeClient:
                 'gateway_ip_address', '0.0.0.0')
         else:
             fake_lrouter['default_next_hop'] = '0.0.0.0'
-        # NOTE(salv-orlando): We won't make the Fake NVP API client
-        # aware of NVP version. The long term plan is to replace it
-        # with behavioral mocking of NVP API requests
+        # NOTE(salv-orlando): We won't make the Fake NSX API client
+        # aware of NSX version. The long term plan is to replace it
+        # with behavioral mocking of NSX API requests
         if 'distributed' not in fake_lrouter:
             fake_lrouter['distributed'] = False
         distributed_json = ('"distributed": %s,' %
@@ -257,7 +257,7 @@ class FakeClient:
         try:
             fake_lrouter = self._fake_lrouter_dict[lr_uuid]
         except KeyError:
-            raise NvpApiClient.ResourceNotFound()
+            raise api_client.ResourceNotFound()
         fake_lrouter['lport_count'] += 1
         fake_lport_status = fake_lport.copy()
         fake_lport_status['lr_tenant_id'] = fake_lrouter['tenant_id']
@@ -496,7 +496,7 @@ class FakeClient:
                      for res_uuid in res_dict if res_uuid == target_uuid]
             if items:
                 return json.dumps(items[0])
-            raise NvpApiClient.ResourceNotFound()
+            raise api_client.ResourceNotFound()
 
     def handle_get(self, url):
         #TODO(salvatore-orlando): handle field selection
@@ -505,7 +505,7 @@ class FakeClient:
         relations = urlparse.parse_qs(parsedurl.query).get('relations')
         response_file = self.FAKE_GET_RESPONSES.get(res_type)
         if not response_file:
-            raise NvpApiClient.NvpApiException()
+            raise api_client.NvpApiException()
         if 'lport' in res_type or 'nat' in res_type:
             if len(uuids) > 1:
                 return self._show(res_type, response_file, uuids[0],
@@ -569,7 +569,7 @@ class FakeClient:
             try:
                 resource = res_dict[uuids[-1]]
             except KeyError:
-                raise NvpApiClient.ResourceNotFound()
+                raise api_client.ResourceNotFound()
             if not is_attachment:
                 edit_resource = getattr(self, '_build_%s' % res_type, None)
                 if edit_resource:
@@ -640,7 +640,7 @@ class FakeClient:
         try:
             del res_dict[uuids[-1]]
         except KeyError:
-            raise NvpApiClient.ResourceNotFound()
+            raise api_client.ResourceNotFound()
         return ""
 
     def fake_request(self, *args, **kwargs):
index fde52abdc6939aba775e3f9a0e739b4e81d82606..d15e419d77ac3b595c4fee5c112570ff0ac8a60e 100644 (file)
@@ -21,7 +21,7 @@ import neutron.plugins.nicira.api_client.common as naco
 from neutron.tests import base
 
 
-class NvpApiCommonTest(base.BaseTestCase):
+class ApiCommonTest(base.BaseTestCase):
 
     def test_conn_str(self):
         conn = httplib.HTTPSConnection('localhost', 4242, timeout=0)
index cced00cc4e8810dafea6ae9080de55d75dac6004..6bbe062510e6dcc6ff9214e8613e2b9e758d1168 100644 (file)
@@ -41,11 +41,11 @@ def fetch(url):
     return urllib2.urlopen(url).read()
 
 
-class NvpApiRequestEventletTest(base.BaseTestCase):
+class ApiRequestEventletTest(base.BaseTestCase):
 
     def setUp(self):
 
-        super(NvpApiRequestEventletTest, self).setUp()
+        super(ApiRequestEventletTest, self).setUp()
         self.client = nace.NvpApiClientEventlet(
             [("127.0.0.1", 4401, True)], "admin", "admin")
         self.url = "/ws.v1/_debug"
@@ -54,7 +54,7 @@ class NvpApiRequestEventletTest(base.BaseTestCase):
     def tearDown(self):
         self.client = None
         self.req = None
-        super(NvpApiRequestEventletTest, self).tearDown()
+        super(ApiRequestEventletTest, self).tearDown()
 
     def test_construct_eventlet_api_request(self):
         e = nare.NvpApiRequestEventlet(self.client, self.url)
diff --git a/neutron/tests/unit/vmware/db/__init__.py b/neutron/tests/unit/vmware/db/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
similarity index 86%
rename from neutron/tests/unit/vmware/test_nsx_db.py
rename to neutron/tests/unit/vmware/db/test_nsx_db.py
index de0e745e92cf2b4387f190a3a49fc221414d9bbc..5176f1ed0bb70ca43cff3d7748069c6930c49c6a 100644 (file)
@@ -19,15 +19,15 @@ from neutron import context
 from neutron.db import api as db
 from neutron.db import models_v2
 from neutron.openstack.common.db import exception as d_exc
-from neutron.plugins.nicira.dbexts import nicira_db
-from neutron.plugins.nicira.dbexts import nicira_models
+from neutron.plugins.nicira.dbexts import nicira_db as nsx_db
+from neutron.plugins.nicira.dbexts import nicira_models as models
 from neutron.tests import base
 
 
-class NiciraDBTestCase(base.BaseTestCase):
+class NsxDBTestCase(base.BaseTestCase):
 
     def setUp(self):
-        super(NiciraDBTestCase, self).setUp()
+        super(NsxDBTestCase, self).setUp()
         db.configure_db()
         self.ctx = context.get_admin_context()
         self.addCleanup(db.clear_db)
@@ -51,12 +51,12 @@ class NiciraDBTestCase(base.BaseTestCase):
         nsx_switch_id = 'foo_nsx_switch_id'
         self._setup_neutron_network_and_port(neutron_net_id, neutron_port_id)
 
-        nicira_db.add_neutron_nsx_port_mapping(
+        nsx_db.add_neutron_nsx_port_mapping(
             self.ctx.session, neutron_port_id, nsx_switch_id, nsx_port_id)
         # Call the method twice to trigger a db duplicate constraint error
-        nicira_db.add_neutron_nsx_port_mapping(
+        nsx_db.add_neutron_nsx_port_mapping(
             self.ctx.session, neutron_port_id, nsx_switch_id, nsx_port_id)
-        result = (self.ctx.session.query(nicira_models.NeutronNsxPortMapping).
+        result = (self.ctx.session.query(models.NeutronNsxPortMapping).
                   filter_by(neutron_id=neutron_port_id).one())
         self.assertEqual(nsx_port_id, result.nsx_port_id)
         self.assertEqual(neutron_port_id, result.neutron_id)
@@ -69,12 +69,12 @@ class NiciraDBTestCase(base.BaseTestCase):
         nsx_switch_id = 'foo_nsx_switch_id'
         self._setup_neutron_network_and_port(neutron_net_id, neutron_port_id)
 
-        nicira_db.add_neutron_nsx_port_mapping(
+        nsx_db.add_neutron_nsx_port_mapping(
             self.ctx.session, neutron_port_id, nsx_switch_id, nsx_port_id_1)
         # Call the method twice to trigger a db duplicate constraint error,
         # this time with a different nsx port id!
         self.assertRaises(d_exc.DBDuplicateEntry,
-                          nicira_db.add_neutron_nsx_port_mapping,
+                          nsx_db.add_neutron_nsx_port_mapping,
                           self.ctx.session, neutron_port_id,
                           nsx_switch_id, nsx_port_id_2)
 
@@ -83,6 +83,6 @@ class NiciraDBTestCase(base.BaseTestCase):
         nsx_port_id = 'foo_nsx_port_id'
         nsx_switch_id = 'foo_nsx_switch_id'
         self.assertRaises(d_exc.DBError,
-                          nicira_db.add_neutron_nsx_port_mapping,
+                          nsx_db.add_neutron_nsx_port_mapping,
                           self.ctx.session, neutron_port_id,
                           nsx_switch_id, nsx_port_id)
diff --git a/neutron/tests/unit/vmware/extensions/__init__.py b/neutron/tests/unit/vmware/extensions/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/neutron/tests/unit/vmware/extensions/test_addresspairs.py b/neutron/tests/unit/vmware/extensions/test_addresspairs.py
new file mode 100644 (file)
index 0000000..be30b5b
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright (c) 2014 OpenStack Foundation.
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+from neutron.tests.unit import test_extension_allowedaddresspairs as ext_pairs
+from neutron.tests.unit.vmware import test_nsx_plugin
+
+
+class TestAllowedAddressPairs(test_nsx_plugin.NsxPluginV2TestCase,
+                              ext_pairs.TestAllowedAddressPairs):
+    pass
similarity index 92%
rename from neutron/tests/unit/vmware/test_maclearning.py
rename to neutron/tests/unit/vmware/extensions/test_maclearning.py
index 306430992edd1c26ef52061de621c08bb27608aa..781ad6167daec47e85ebd7a550c09acd18adc8d8 100644 (file)
@@ -27,7 +27,7 @@ from neutron.extensions import agent
 from neutron.plugins.nicira.common import sync
 from neutron.plugins.nicira.NvpApiClient import NVPVersion
 from neutron.tests.unit import test_db_plugin
-from neutron.tests.unit.vmware import fake_nvpapiclient
+from neutron.tests.unit.vmware.apiclient import fake
 from neutron.tests.unit.vmware import get_fake_conf
 from neutron.tests.unit.vmware import NSXAPI_NAME
 from neutron.tests.unit.vmware import NSXEXT_PATH
@@ -65,23 +65,20 @@ class MacLearningDBTestCase(test_db_plugin.NeutronDbPluginV2TestCase):
         for resource, attrs in attributes.RESOURCE_ATTRIBUTE_MAP.iteritems():
             self.saved_attr_map[resource] = attrs.copy()
         ext_mgr = MacLearningExtensionManager()
-        # mock nvp api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
-        self.mock_nvpapi = mock.patch(NSXAPI_NAME, autospec=True)
-        instance = self.mock_nvpapi.start()
+        # mock api client
+        self.fc = fake.FakeClient(STUBS_PATH)
+        self.mock_nsx = mock.patch(NSXAPI_NAME, autospec=True)
+        instance = self.mock_nsx.start()
         # Avoid runs of the synchronizer looping call
         patch_sync = mock.patch.object(sync, '_start_loopingcall')
         patch_sync.start()
 
-        def _fake_request(*args, **kwargs):
-            return self.fc.fake_request(*args, **kwargs)
-
-        # Emulate tests against NVP 2.x
+        # Emulate tests against NSX 2.x
         instance.return_value.get_nvp_version.return_value = NVPVersion("3.0")
-        instance.return_value.request.side_effect = _fake_request
+        instance.return_value.request.side_effect = self.fc.fake_request
         cfg.CONF.set_override('metadata_mode', None, 'NSX')
         self.addCleanup(self.fc.reset_all)
-        self.addCleanup(self.mock_nvpapi.stop)
+        self.addCleanup(self.mock_nsx.stop)
         self.addCleanup(patch_sync.stop)
         self.addCleanup(self.restore_resource_attribute_map)
         self.addCleanup(cfg.CONF.reset)
similarity index 84%
rename from neutron/tests/unit/vmware/test_networkgw.py
rename to neutron/tests/unit/vmware/extensions/test_networkgw.py
index f79d0d9739f831b54b91f619cd751086c8d1a0c6..b61b3949f7f2f5b01d25fc9d93c06100a1bd16d1 100644 (file)
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
 # Copyright 2012 VMware, Inc.  All rights reserved.
 #
 #    Licensed under the Apache License, Version 2.0 (the "License"); you may
@@ -15,8 +13,8 @@
 #    under the License.
 
 import contextlib
-
 import mock
+
 from oslo.config import cfg
 from webob import exc
 import webtest
@@ -29,15 +27,19 @@ from neutron import context
 from neutron.db import api as db_api
 from neutron.db import db_base_plugin_v2
 from neutron import manager
+from neutron.openstack.common import uuidutils
 from neutron.plugins.nicira.dbexts import networkgw_db
 from neutron.plugins.nicira.extensions import networkgw
-from neutron.plugins.nicira.NeutronPlugin import NVP_EXT_PATH
+from neutron.plugins.nicira import nsxlib
+from neutron.plugins.nicira import NvpApiClient
 from neutron import quota
 from neutron.tests import base
 from neutron.tests.unit import test_api_v2
 from neutron.tests.unit import test_db_plugin
 from neutron.tests.unit import test_extensions
-
+from neutron.tests.unit.vmware import NSXEXT_PATH
+from neutron.tests.unit.vmware import PLUGIN_NAME
+from neutron.tests.unit.vmware.test_nsx_plugin import NsxPluginV2TestCase
 
 _uuid = test_api_v2._uuid
 _get_path = test_api_v2._get_path
@@ -594,6 +596,106 @@ class NetworkGatewayDbTestCase(test_db_plugin.NeutronDbPluginV2TestCase):
                                      'vlan', 555)
 
 
+class TestNetworkGateway(NsxPluginV2TestCase,
+                         NetworkGatewayDbTestCase):
+
+    def setUp(self, plugin=PLUGIN_NAME, ext_mgr=None):
+        cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
+        super(TestNetworkGateway,
+              self).setUp(plugin=plugin, ext_mgr=ext_mgr)
+
+    def test_create_network_gateway_name_exceeds_40_chars(self):
+        name = 'this_is_a_gateway_whose_name_is_longer_than_40_chars'
+        with self._network_gateway(name=name) as nw_gw:
+            # Assert Neutron name is not truncated
+            self.assertEqual(nw_gw[self.resource]['name'], name)
+
+    def test_update_network_gateway_with_name_calls_backend(self):
+        with mock.patch.object(
+            nsxlib.l2gateway, 'update_l2_gw_service') as mock_update_gw:
+            with self._network_gateway(name='cavani') as nw_gw:
+                nw_gw_id = nw_gw[self.resource]['id']
+                self._update(networkgw.COLLECTION_NAME, nw_gw_id,
+                             {self.resource: {'name': 'higuain'}})
+                mock_update_gw.assert_called_once_with(
+                    mock.ANY, nw_gw_id, 'higuain')
+
+    def test_update_network_gateway_without_name_does_not_call_backend(self):
+        with mock.patch.object(
+            nsxlib.l2gateway, 'update_l2_gw_service') as mock_update_gw:
+            with self._network_gateway(name='something') as nw_gw:
+                nw_gw_id = nw_gw[self.resource]['id']
+                self._update(networkgw.COLLECTION_NAME, nw_gw_id,
+                             {self.resource: {}})
+                self.assertEqual(mock_update_gw.call_count, 0)
+
+    def test_update_network_gateway_name_exceeds_40_chars(self):
+        new_name = 'this_is_a_gateway_whose_name_is_longer_than_40_chars'
+        with self._network_gateway(name='something') as nw_gw:
+            nw_gw_id = nw_gw[self.resource]['id']
+            self._update(networkgw.COLLECTION_NAME, nw_gw_id,
+                         {self.resource: {'name': new_name}})
+            req = self.new_show_request(networkgw.COLLECTION_NAME,
+                                        nw_gw_id)
+            res = self.deserialize('json', req.get_response(self.ext_api))
+            # Assert Neutron name is not truncated
+            self.assertEqual(new_name, res[self.resource]['name'])
+            # Assert NSX name is truncated
+            self.assertEqual(
+                new_name[:40],
+                self.fc._fake_gatewayservice_dict[nw_gw_id]['display_name'])
+
+    def test_create_network_gateway_nsx_error_returns_500(self):
+        def raise_nsx_api_exc(*args, **kwargs):
+            raise NvpApiClient.NvpApiException
+
+        with mock.patch.object(nsxlib.l2gateway,
+                               'create_l2_gw_service',
+                               new=raise_nsx_api_exc):
+            res = self._create_network_gateway(
+                self.fmt, 'xxx', name='yyy',
+                devices=[{'id': uuidutils.generate_uuid()}])
+            self.assertEqual(500, res.status_int)
+
+    def test_create_network_gateway_nsx_error_returns_409(self):
+        with mock.patch.object(nsxlib.l2gateway,
+                               'create_l2_gw_service',
+                               side_effect=NvpApiClient.Conflict):
+            res = self._create_network_gateway(
+                self.fmt, 'xxx', name='yyy',
+                devices=[{'id': uuidutils.generate_uuid()}])
+            self.assertEqual(409, res.status_int)
+
+    def test_list_network_gateways(self):
+        with self._network_gateway(name='test-gw-1') as gw1:
+            with self._network_gateway(name='test_gw_2') as gw2:
+                req = self.new_list_request(networkgw.COLLECTION_NAME)
+                res = self.deserialize('json', req.get_response(self.ext_api))
+                # We expect the default gateway too
+                key = self.resource + 's'
+                self.assertEqual(len(res[key]), 3)
+                self.assertEqual(res[key][0]['default'],
+                                 True)
+                self.assertEqual(res[key][1]['name'],
+                                 gw1[self.resource]['name'])
+                self.assertEqual(res[key][2]['name'],
+                                 gw2[self.resource]['name'])
+
+    def test_list_network_gateway_with_multiple_connections(self):
+        self._test_list_network_gateway_with_multiple_connections(
+            expected_gateways=2)
+
+    def test_delete_network_gateway(self):
+        # The default gateway must still be there
+        self._test_delete_network_gateway(1)
+
+    def test_show_network_gateway_nsx_error_returns_404(self):
+        invalid_id = 'b5afd4a9-eb71-4af7-a082-8fc625a35b61'
+        req = self.new_show_request(networkgw.COLLECTION_NAME, invalid_id)
+        res = req.get_response(self.ext_api)
+        self.assertEqual(exc.HTTPNotFound.code, res.status_int)
+
+
 class TestNetworkGatewayPlugin(db_base_plugin_v2.NeutronDbPluginV2,
                                networkgw_db.NetworkGatewayMixin):
     """Simple plugin class for testing db support for network gateway ext."""
@@ -602,7 +704,7 @@ class TestNetworkGatewayPlugin(db_base_plugin_v2.NeutronDbPluginV2,
 
     def __init__(self, **args):
         super(TestNetworkGatewayPlugin, self).__init__(**args)
-        extensions.append_api_extensions_path([NVP_EXT_PATH])
+        extensions.append_api_extensions_path([NSXEXT_PATH])
 
     def delete_port(self, context, id, nw_gw_port_check=True):
         if nw_gw_port_check:
diff --git a/neutron/tests/unit/vmware/extensions/test_portsecurity.py b/neutron/tests/unit/vmware/extensions/test_portsecurity.py
new file mode 100644 (file)
index 0000000..a79e72d
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright (c) 2014 OpenStack Foundation.
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+import mock
+
+from neutron.common import test_lib
+from neutron.plugins.nicira.common import sync
+from neutron.tests.unit import test_extension_portsecurity as psec
+from neutron.tests.unit.vmware.apiclient import fake
+from neutron.tests.unit.vmware import get_fake_conf
+from neutron.tests.unit.vmware import NSXAPI_NAME
+from neutron.tests.unit.vmware import PLUGIN_NAME
+from neutron.tests.unit.vmware import STUBS_PATH
+
+
+class PortSecurityTestCase(psec.PortSecurityDBTestCase):
+
+    def setUp(self):
+        test_lib.test_config['config_files'] = [get_fake_conf('nsx.ini.test')]
+        # mock api client
+        self.fc = fake.FakeClient(STUBS_PATH)
+        self.mock_nsx = mock.patch(NSXAPI_NAME, autospec=True)
+        instance = self.mock_nsx.start()
+        instance.return_value.login.return_value = "the_cookie"
+        # Avoid runs of the synchronizer looping call
+        patch_sync = mock.patch.object(sync, '_start_loopingcall')
+        patch_sync.start()
+
+        instance.return_value.request.side_effect = self.fc.fake_request
+        super(PortSecurityTestCase, self).setUp(PLUGIN_NAME)
+        self.addCleanup(self.fc.reset_all)
+        self.addCleanup(self.mock_nsx.stop)
+        self.addCleanup(patch_sync.stop)
+
+
+class TestPortSecurity(PortSecurityTestCase, psec.TestPortSecurity):
+        pass
diff --git a/neutron/tests/unit/vmware/extensions/test_providernet.py b/neutron/tests/unit/vmware/extensions/test_providernet.py
new file mode 100644 (file)
index 0000000..96f2730
--- /dev/null
@@ -0,0 +1,150 @@
+# Copyright (c) 2014 OpenStack Foundation.
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+from oslo.config import cfg
+
+from neutron.extensions import multiprovidernet as mpnet
+from neutron.extensions import providernet as pnet
+from neutron.tests.unit.vmware import NSXEXT_PATH
+from neutron.tests.unit.vmware.test_nsx_plugin import NsxPluginV2TestCase
+
+
+class TestProvidernet(NsxPluginV2TestCase):
+
+    def test_create_provider_network_default_physical_net(self):
+        data = {'network': {'name': 'net1',
+                            'admin_state_up': True,
+                            'tenant_id': 'admin',
+                            pnet.NETWORK_TYPE: 'vlan',
+                            pnet.SEGMENTATION_ID: 411}}
+        network_req = self.new_create_request('networks', data, self.fmt)
+        net = self.deserialize(self.fmt, network_req.get_response(self.api))
+        self.assertEqual(net['network'][pnet.NETWORK_TYPE], 'vlan')
+        self.assertEqual(net['network'][pnet.SEGMENTATION_ID], 411)
+
+    def test_create_provider_network(self):
+        data = {'network': {'name': 'net1',
+                            'admin_state_up': True,
+                            'tenant_id': 'admin',
+                            pnet.NETWORK_TYPE: 'vlan',
+                            pnet.SEGMENTATION_ID: 411,
+                            pnet.PHYSICAL_NETWORK: 'physnet1'}}
+        network_req = self.new_create_request('networks', data, self.fmt)
+        net = self.deserialize(self.fmt, network_req.get_response(self.api))
+        self.assertEqual(net['network'][pnet.NETWORK_TYPE], 'vlan')
+        self.assertEqual(net['network'][pnet.SEGMENTATION_ID], 411)
+        self.assertEqual(net['network'][pnet.PHYSICAL_NETWORK], 'physnet1')
+
+
+class TestMultiProviderNetworks(NsxPluginV2TestCase):
+
+    def setUp(self, plugin=None):
+        cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
+        super(TestMultiProviderNetworks, self).setUp()
+
+    def test_create_network_provider(self):
+        data = {'network': {'name': 'net1',
+                            pnet.NETWORK_TYPE: 'vlan',
+                            pnet.PHYSICAL_NETWORK: 'physnet1',
+                            pnet.SEGMENTATION_ID: 1,
+                            'tenant_id': 'tenant_one'}}
+        network_req = self.new_create_request('networks', data)
+        network = self.deserialize(self.fmt,
+                                   network_req.get_response(self.api))
+        self.assertEqual(network['network'][pnet.NETWORK_TYPE], 'vlan')
+        self.assertEqual(network['network'][pnet.PHYSICAL_NETWORK], 'physnet1')
+        self.assertEqual(network['network'][pnet.SEGMENTATION_ID], 1)
+        self.assertNotIn(mpnet.SEGMENTS, network['network'])
+
+    def test_create_network_single_multiple_provider(self):
+        data = {'network': {'name': 'net1',
+                            mpnet.SEGMENTS:
+                            [{pnet.NETWORK_TYPE: 'vlan',
+                              pnet.PHYSICAL_NETWORK: 'physnet1',
+                              pnet.SEGMENTATION_ID: 1}],
+                            'tenant_id': 'tenant_one'}}
+        net_req = self.new_create_request('networks', data)
+        network = self.deserialize(self.fmt, net_req.get_response(self.api))
+        for provider_field in [pnet.NETWORK_TYPE, pnet.PHYSICAL_NETWORK,
+                               pnet.SEGMENTATION_ID]:
+            self.assertNotIn(provider_field, network['network'])
+        tz = network['network'][mpnet.SEGMENTS][0]
+        self.assertEqual(tz[pnet.NETWORK_TYPE], 'vlan')
+        self.assertEqual(tz[pnet.PHYSICAL_NETWORK], 'physnet1')
+        self.assertEqual(tz[pnet.SEGMENTATION_ID], 1)
+
+        # Tests get_network()
+        net_req = self.new_show_request('networks', network['network']['id'])
+        network = self.deserialize(self.fmt, net_req.get_response(self.api))
+        tz = network['network'][mpnet.SEGMENTS][0]
+        self.assertEqual(tz[pnet.NETWORK_TYPE], 'vlan')
+        self.assertEqual(tz[pnet.PHYSICAL_NETWORK], 'physnet1')
+        self.assertEqual(tz[pnet.SEGMENTATION_ID], 1)
+
+    def test_create_network_multprovider(self):
+        data = {'network': {'name': 'net1',
+                            mpnet.SEGMENTS:
+                            [{pnet.NETWORK_TYPE: 'vlan',
+                              pnet.PHYSICAL_NETWORK: 'physnet1',
+                              pnet.SEGMENTATION_ID: 1},
+                             {pnet.NETWORK_TYPE: 'stt',
+                              pnet.PHYSICAL_NETWORK: 'physnet1'}],
+                            'tenant_id': 'tenant_one'}}
+        network_req = self.new_create_request('networks', data)
+        network = self.deserialize(self.fmt,
+                                   network_req.get_response(self.api))
+        tz = network['network'][mpnet.SEGMENTS]
+        for tz in data['network'][mpnet.SEGMENTS]:
+            for field in [pnet.NETWORK_TYPE, pnet.PHYSICAL_NETWORK,
+                          pnet.SEGMENTATION_ID]:
+                self.assertEqual(tz.get(field), tz.get(field))
+
+        # Tests get_network()
+        net_req = self.new_show_request('networks', network['network']['id'])
+        network = self.deserialize(self.fmt, net_req.get_response(self.api))
+        tz = network['network'][mpnet.SEGMENTS]
+        for tz in data['network'][mpnet.SEGMENTS]:
+            for field in [pnet.NETWORK_TYPE, pnet.PHYSICAL_NETWORK,
+                          pnet.SEGMENTATION_ID]:
+                self.assertEqual(tz.get(field), tz.get(field))
+
+    def test_create_network_with_provider_and_multiprovider_fail(self):
+        data = {'network': {'name': 'net1',
+                            mpnet.SEGMENTS:
+                            [{pnet.NETWORK_TYPE: 'vlan',
+                              pnet.PHYSICAL_NETWORK: 'physnet1',
+                              pnet.SEGMENTATION_ID: 1}],
+                            pnet.NETWORK_TYPE: 'vlan',
+                            pnet.PHYSICAL_NETWORK: 'physnet1',
+                            pnet.SEGMENTATION_ID: 1,
+                            'tenant_id': 'tenant_one'}}
+
+        network_req = self.new_create_request('networks', data)
+        res = network_req.get_response(self.api)
+        self.assertEqual(res.status_int, 400)
+
+    def test_create_network_duplicate_segments(self):
+        data = {'network': {'name': 'net1',
+                            mpnet.SEGMENTS:
+                            [{pnet.NETWORK_TYPE: 'vlan',
+                              pnet.PHYSICAL_NETWORK: 'physnet1',
+                              pnet.SEGMENTATION_ID: 1},
+                             {pnet.NETWORK_TYPE: 'vlan',
+                              pnet.PHYSICAL_NETWORK: 'physnet1',
+                              pnet.SEGMENTATION_ID: 1}],
+                            'tenant_id': 'tenant_one'}}
+        network_req = self.new_create_request('networks', data)
+        res = network_req.get_response(self.api)
+        self.assertEqual(res.status_int, 400)
diff --git a/neutron/tests/unit/vmware/extensions/test_qosqueues.py b/neutron/tests/unit/vmware/extensions/test_qosqueues.py
new file mode 100644 (file)
index 0000000..8c56b4f
--- /dev/null
@@ -0,0 +1,273 @@
+# Copyright (c) 2014 OpenStack Foundation.
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+import contextlib
+
+import mock
+from oslo.config import cfg
+import webob.exc
+
+from neutron import context
+from neutron.plugins.nicira.dbexts import qos_db
+from neutron.plugins.nicira.extensions import qos as ext_qos
+from neutron.plugins.nicira import nsxlib
+from neutron.tests.unit import test_extensions
+from neutron.tests.unit.vmware import NSXEXT_PATH
+from neutron.tests.unit.vmware.test_nsx_plugin import NsxPluginV2TestCase
+
+
+class QoSTestExtensionManager(object):
+
+    def get_resources(self):
+        return ext_qos.Qos.get_resources()
+
+    def get_actions(self):
+        return []
+
+    def get_request_extensions(self):
+        return []
+
+
+class TestQoSQueue(NsxPluginV2TestCase):
+
+    def setUp(self, plugin=None):
+        cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
+        super(TestQoSQueue, self).setUp()
+        ext_mgr = QoSTestExtensionManager()
+        self.ext_api = test_extensions.setup_extensions_middleware(ext_mgr)
+
+    def _create_qos_queue(self, fmt, body, **kwargs):
+        qos_queue = self.new_create_request('qos-queues', body)
+        if (kwargs.get('set_context') and 'tenant_id' in kwargs):
+            # create a specific auth context for this request
+            qos_queue.environ['neutron.context'] = context.Context(
+                '', kwargs['tenant_id'])
+
+        return qos_queue.get_response(self.ext_api)
+
+    @contextlib.contextmanager
+    def qos_queue(self, name='foo', min='0', max='10',
+                  qos_marking=None, dscp='0', default=None, no_delete=False):
+
+        body = {'qos_queue': {'tenant_id': 'tenant',
+                              'name': name,
+                              'min': min,
+                              'max': max}}
+
+        if qos_marking:
+            body['qos_queue']['qos_marking'] = qos_marking
+        if dscp:
+            body['qos_queue']['dscp'] = dscp
+        if default:
+            body['qos_queue']['default'] = default
+        res = self._create_qos_queue('json', body)
+        qos_queue = self.deserialize('json', res)
+        if res.status_int >= 400:
+            raise webob.exc.HTTPClientError(code=res.status_int)
+        try:
+            yield qos_queue
+        finally:
+            if not no_delete:
+                self._delete('qos-queues',
+                             qos_queue['qos_queue']['id'])
+
+    def test_create_qos_queue(self):
+        with self.qos_queue(name='fake_lqueue', min=34, max=44,
+                            qos_marking='untrusted', default=False) as q:
+            self.assertEqual(q['qos_queue']['name'], 'fake_lqueue')
+            self.assertEqual(q['qos_queue']['min'], 34)
+            self.assertEqual(q['qos_queue']['max'], 44)
+            self.assertEqual(q['qos_queue']['qos_marking'], 'untrusted')
+            self.assertFalse(q['qos_queue']['default'])
+
+    def test_create_trusted_qos_queue(self):
+        with mock.patch.object(qos_db.LOG, 'info') as log:
+            with mock.patch.object(nsxlib.queue, 'do_request',
+                                   return_value={"uuid": "fake_queue"}):
+                with self.qos_queue(name='fake_lqueue', min=34, max=44,
+                                    qos_marking='trusted', default=False) as q:
+                    self.assertIsNone(q['qos_queue']['dscp'])
+                    self.assertTrue(log.called)
+
+    def test_create_qos_queue_name_exceeds_40_chars(self):
+        name = 'this_is_a_queue_whose_name_is_longer_than_40_chars'
+        with self.qos_queue(name=name) as queue:
+            # Assert Neutron name is not truncated
+            self.assertEqual(queue['qos_queue']['name'], name)
+
+    def test_create_qos_queue_default(self):
+        with self.qos_queue(default=True) as q:
+            self.assertTrue(q['qos_queue']['default'])
+
+    def test_create_qos_queue_two_default_queues_fail(self):
+        with self.qos_queue(default=True):
+            body = {'qos_queue': {'tenant_id': 'tenant',
+                                  'name': 'second_default_queue',
+                                  'default': True}}
+            res = self._create_qos_queue('json', body)
+            self.assertEqual(res.status_int, 409)
+
+    def test_create_port_with_queue(self):
+        with self.qos_queue(default=True) as q1:
+            res = self._create_network('json', 'net1', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net1 = self.deserialize('json', res)
+            self.assertEqual(net1['network'][ext_qos.QUEUE],
+                             q1['qos_queue']['id'])
+            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
+            with self.port(device_id=device_id, do_delete=False) as p:
+                self.assertEqual(len(p['port'][ext_qos.QUEUE]), 36)
+
+    def test_create_shared_queue_networks(self):
+        with self.qos_queue(default=True, no_delete=True) as q1:
+            res = self._create_network('json', 'net1', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net1 = self.deserialize('json', res)
+            self.assertEqual(net1['network'][ext_qos.QUEUE],
+                             q1['qos_queue']['id'])
+            res = self._create_network('json', 'net2', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net2 = self.deserialize('json', res)
+            self.assertEqual(net1['network'][ext_qos.QUEUE],
+                             q1['qos_queue']['id'])
+            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
+            res = self._create_port('json', net1['network']['id'],
+                                    device_id=device_id)
+            port1 = self.deserialize('json', res)
+            res = self._create_port('json', net2['network']['id'],
+                                    device_id=device_id)
+            port2 = self.deserialize('json', res)
+            self.assertEqual(port1['port'][ext_qos.QUEUE],
+                             port2['port'][ext_qos.QUEUE])
+
+            self._delete('ports', port1['port']['id'])
+            self._delete('ports', port2['port']['id'])
+
+    def test_remove_queue_in_use_fail(self):
+        with self.qos_queue(no_delete=True) as q1:
+            res = self._create_network('json', 'net1', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net1 = self.deserialize('json', res)
+            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
+            res = self._create_port('json', net1['network']['id'],
+                                    device_id=device_id)
+            port = self.deserialize('json', res)
+            self._delete('qos-queues', port['port'][ext_qos.QUEUE], 409)
+
+    def test_update_network_new_queue(self):
+        with self.qos_queue() as q1:
+            res = self._create_network('json', 'net1', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net1 = self.deserialize('json', res)
+            with self.qos_queue() as new_q:
+                data = {'network': {ext_qos.QUEUE: new_q['qos_queue']['id']}}
+                req = self.new_update_request('networks', data,
+                                              net1['network']['id'])
+                res = req.get_response(self.api)
+                net1 = self.deserialize('json', res)
+                self.assertEqual(net1['network'][ext_qos.QUEUE],
+                                 new_q['qos_queue']['id'])
+
+    def test_update_port_adding_device_id(self):
+        with self.qos_queue(no_delete=True) as q1:
+            res = self._create_network('json', 'net1', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net1 = self.deserialize('json', res)
+            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
+            res = self._create_port('json', net1['network']['id'])
+            port = self.deserialize('json', res)
+            self.assertIsNone(port['port'][ext_qos.QUEUE])
+
+            data = {'port': {'device_id': device_id}}
+            req = self.new_update_request('ports', data,
+                                          port['port']['id'])
+
+            res = req.get_response(self.api)
+            port = self.deserialize('json', res)
+            self.assertEqual(len(port['port'][ext_qos.QUEUE]), 36)
+
+    def test_get_port_with_qos_not_admin(self):
+        body = {'qos_queue': {'tenant_id': 'not_admin',
+                              'name': 'foo', 'min': 20, 'max': 20}}
+        res = self._create_qos_queue('json', body, tenant_id='not_admin')
+        q1 = self.deserialize('json', res)
+        res = self._create_network('json', 'net1', True,
+                                   arg_list=(ext_qos.QUEUE, 'tenant_id',),
+                                   queue_id=q1['qos_queue']['id'],
+                                   tenant_id="not_admin")
+        net1 = self.deserialize('json', res)
+        self.assertEqual(len(net1['network'][ext_qos.QUEUE]), 36)
+        res = self._create_port('json', net1['network']['id'],
+                                tenant_id='not_admin', set_context=True)
+
+        port = self.deserialize('json', res)
+        self.assertNotIn(ext_qos.QUEUE, port['port'])
+
+    def test_dscp_value_out_of_range(self):
+        body = {'qos_queue': {'tenant_id': 'admin', 'dscp': '64',
+                              'name': 'foo', 'min': 20, 'max': 20}}
+        res = self._create_qos_queue('json', body)
+        self.assertEqual(res.status_int, 400)
+
+    def test_non_admin_cannot_create_queue(self):
+        body = {'qos_queue': {'tenant_id': 'not_admin',
+                              'name': 'foo', 'min': 20, 'max': 20}}
+        res = self._create_qos_queue('json', body, tenant_id='not_admin',
+                                     set_context=True)
+        self.assertEqual(res.status_int, 403)
+
+    def test_update_port_non_admin_does_not_show_queue_id(self):
+        body = {'qos_queue': {'tenant_id': 'not_admin',
+                              'name': 'foo', 'min': 20, 'max': 20}}
+        res = self._create_qos_queue('json', body, tenant_id='not_admin')
+        q1 = self.deserialize('json', res)
+        res = self._create_network('json', 'net1', True,
+                                   arg_list=(ext_qos.QUEUE,),
+                                   tenant_id='not_admin',
+                                   queue_id=q1['qos_queue']['id'])
+
+        net1 = self.deserialize('json', res)
+        res = self._create_port('json', net1['network']['id'],
+                                tenant_id='not_admin', set_context=True)
+        port = self.deserialize('json', res)
+        device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
+        data = {'port': {'device_id': device_id}}
+        neutron_context = context.Context('', 'not_admin')
+        port = self._update('ports', port['port']['id'], data,
+                            neutron_context=neutron_context)
+        self.assertNotIn(ext_qos.QUEUE, port['port'])
+
+    def test_rxtx_factor(self):
+        with self.qos_queue(max=10) as q1:
+
+            res = self._create_network('json', 'net1', True,
+                                       arg_list=(ext_qos.QUEUE,),
+                                       queue_id=q1['qos_queue']['id'])
+            net1 = self.deserialize('json', res)
+            res = self._create_port('json', net1['network']['id'],
+                                    arg_list=(ext_qos.RXTX_FACTOR,),
+                                    rxtx_factor=2, device_id='1')
+            port = self.deserialize('json', res)
+            req = self.new_show_request('qos-queues',
+                                        port['port'][ext_qos.QUEUE])
+            res = req.get_response(self.ext_api)
+            queue = self.deserialize('json', res)
+            self.assertEqual(queue['qos_queue']['max'], 20)
index 09ea48b9abd6337c4c96db2b6a227854c662def5..64143adb4356acfb959c973c8a80d662871f849b 100644 (file)
 import mock
 
 from neutron.plugins.nicira.common import config  # noqa
-from neutron.plugins.nicira import nsx_cluster
-from neutron.plugins.nicira import NvpApiClient
-from neutron.plugins.nicira import nvplib
+from neutron.plugins.nicira import nsx_cluster as cluster
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests import base
 from neutron.tests.unit import test_api_v2
-from neutron.tests.unit.vmware import fake_nvpapiclient
+from neutron.tests.unit.vmware.apiclient import fake
 from neutron.tests.unit.vmware import NSXAPI_NAME
 from neutron.tests.unit.vmware import STUBS_PATH
 
@@ -34,23 +33,19 @@ _uuid = test_api_v2._uuid
 class NsxlibTestCase(base.BaseTestCase):
 
     def setUp(self):
-        # mock nvp api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
+        self.fc = fake.FakeClient(STUBS_PATH)
         self.mock_nsxapi = mock.patch(NSXAPI_NAME, autospec=True)
         instance = self.mock_nsxapi.start()
         instance.return_value.login.return_value = "the_cookie"
         fake_version = getattr(self, 'fake_version', "3.0")
         instance.return_value.get_nvp_version.return_value = (
-            NvpApiClient.NVPVersion(fake_version))
+            api_client.NVPVersion(fake_version))
 
-        def _fake_request(*args, **kwargs):
-            return self.fc.fake_request(*args, **kwargs)
-
-        instance.return_value.request.side_effect = _fake_request
-        self.fake_cluster = nsx_cluster.NSXCluster(
+        instance.return_value.request.side_effect = self.fc.fake_request
+        self.fake_cluster = cluster.NSXCluster(
             name='fake-cluster', nsx_controllers=['1.1.1.1:999'],
             default_tz_uuid=_uuid(), nsx_user='foo', nsx_password='bar')
-        self.fake_cluster.api_client = NvpApiClient.NVPApiHelper(
+        self.fake_cluster.api_client = api_client.NVPApiHelper(
             ('1.1.1.1', '999', True),
             self.fake_cluster.nsx_user, self.fake_cluster.nsx_password,
             self.fake_cluster.req_timeout, self.fake_cluster.http_timeout,
@@ -68,8 +63,7 @@ class NsxlibTestCase(base.BaseTestCase):
 class NsxlibNegativeBaseTestCase(base.BaseTestCase):
 
     def setUp(self):
-        # mock nsx api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
+        self.fc = fake.FakeClient(STUBS_PATH)
         self.mock_nsxapi = mock.patch(NSXAPI_NAME, autospec=True)
         instance = self.mock_nsxapi.start()
         instance.return_value.login.return_value = "the_cookie"
@@ -77,16 +71,16 @@ class NsxlibNegativeBaseTestCase(base.BaseTestCase):
         # these tests as calls are throwing up errors anyway
         fake_version = getattr(self, 'fake_version', "3.0")
         instance.return_value.get_nvp_version.return_value = (
-            NvpApiClient.NVPVersion(fake_version))
+            api_client.NVPVersion(fake_version))
 
         def _faulty_request(*args, **kwargs):
-            raise nvplib.NvpApiClient.NvpApiException
+            raise api_client.NvpApiException
 
         instance.return_value.request.side_effect = _faulty_request
-        self.fake_cluster = nsx_cluster.NSXCluster(
+        self.fake_cluster = cluster.NSXCluster(
             name='fake-cluster', nsx_controllers=['1.1.1.1:999'],
             default_tz_uuid=_uuid(), nsx_user='foo', nsx_password='bar')
-        self.fake_cluster.api_client = NvpApiClient.NVPApiHelper(
+        self.fake_cluster.api_client = api_client.NVPApiHelper(
             ('1.1.1.1', '999', True),
             self.fake_cluster.nsx_user, self.fake_cluster.nsx_password,
             self.fake_cluster.req_timeout, self.fake_cluster.http_timeout,
index c70efe1462fec4a9f334ee89eefe0f5b602fa02a..35e4a81eb9de4a40fad12a226b3c850486671255 100644 (file)
@@ -16,7 +16,7 @@
 
 from neutron.plugins.nicira.nsxlib import l2gateway as l2gwlib
 from neutron.plugins.nicira.nsxlib import switch as switchlib
-from neutron.plugins.nicira import nvplib
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests.unit import test_api_v2
 from neutron.tests.unit.vmware.nsxlib import base
 
@@ -26,7 +26,7 @@ _uuid = test_api_v2._uuid
 class L2GatewayNegativeTestCase(base.NsxlibNegativeBaseTestCase):
 
     def test_create_l2_gw_service_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           l2gwlib.create_l2_gw_service,
                           self.fake_cluster,
                           'fake-tenant',
@@ -35,19 +35,19 @@ class L2GatewayNegativeTestCase(base.NsxlibNegativeBaseTestCase):
                            'interface_name': 'xxx'}])
 
     def test_delete_l2_gw_service_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           l2gwlib.delete_l2_gw_service,
                           self.fake_cluster,
                           'fake-gateway')
 
     def test_get_l2_gw_service_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           l2gwlib.get_l2_gw_service,
                           self.fake_cluster,
                           'fake-gateway')
 
     def test_update_l2_gw_service_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           l2gwlib.update_l2_gw_service,
                           self.fake_cluster,
                           'fake-gateway',
@@ -135,12 +135,12 @@ class L2GatewayTestCase(base.NsxlibTestCase):
         l2gwlib.plug_l2_gw_service(
             self.fake_cluster, lswitch['uuid'],
             lport['uuid'], gw_id)
-        uri = nvplib._build_uri_path(nvplib.LSWITCHPORT_RESOURCE,
-                                     lport['uuid'],
-                                     lswitch['uuid'],
-                                     is_attachment=True)
-        resp_obj = nvplib.do_request("GET", uri,
-                                     cluster=self.fake_cluster)
+        uri = l2gwlib._build_uri_path(switchlib.LSWITCHPORT_RESOURCE,
+                                      lport['uuid'],
+                                      lswitch['uuid'],
+                                      is_attachment=True)
+        resp_obj = l2gwlib.do_request("GET", uri,
+                                      cluster=self.fake_cluster)
         self.assertIn('LogicalPortAttachment', resp_obj)
         self.assertEqual(resp_obj['LogicalPortAttachment']['type'],
                          'L2GatewayAttachment')
index 855a25533a92f8990db029ba9fd9c2baef1a96e4..0ba35e5308eda7804e9ee8502d5c191f9912996c 100644 (file)
@@ -17,10 +17,10 @@ import json
 import mock
 
 from neutron.common import exceptions
-from neutron.plugins.nicira.common import exceptions as nvp_exc
+from neutron.plugins.nicira.common import exceptions as nsx_exc
 from neutron.plugins.nicira.common import utils
 from neutron.plugins.nicira.nsxlib import lsn as lsnlib
-from neutron.plugins.nicira import NvpApiClient
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests import base
 
 
@@ -239,9 +239,9 @@ class LSNTestCase(base.BaseTestCase):
         lsn_id = "foo_lsn_id"
         lsn_port_id = "foo_lsn_port_id"
         lswitch_port_id = "foo_lswitch_port_id"
-        self.mock_request.side_effect = NvpApiClient.Conflict
+        self.mock_request.side_effect = api_client.Conflict
         self.assertRaises(
-            nvp_exc.LsnConfigurationConflict,
+            nsx_exc.LsnConfigurationConflict,
             lsnlib.lsn_port_plug_network,
             self.cluster, lsn_id, lsn_port_id, lswitch_port_id)
 
index c4fd5f125ac9759c4f8115034802c85ad8565c6c..b274aa06770fe5e1a40d900962eadc8bbbd1b0f0 100644 (file)
@@ -18,7 +18,7 @@ import mock
 
 from neutron.common import exceptions
 from neutron.plugins.nicira.nsxlib import queue as queuelib
-from neutron.plugins.nicira import NvpApiClient
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests.unit.vmware.nsxlib import base
 
 
@@ -44,7 +44,7 @@ class TestLogicalQueueLib(base.NsxlibTestCase):
 
     def test_create_lqueue_nsx_error_raises(self):
         def raise_nsx_exc(*args, **kwargs):
-            raise NvpApiClient.NvpApiException()
+            raise api_client.NvpApiException()
 
         with mock.patch.object(queuelib, 'do_request', new=raise_nsx_exc):
             self.assertRaises(
index daefab8fd6ff468f47cd62119ed8d169a3b7b47b..71e055bc58944ae9340e3abea37b0ee904256ef2 100644 (file)
@@ -18,12 +18,11 @@ import mock
 
 from neutron.common import exceptions
 from neutron.openstack.common import uuidutils
-from neutron.plugins.nicira.common import exceptions as nvp_exc
+from neutron.plugins.nicira.common import exceptions as nsx_exc
 from neutron.plugins.nicira.common import utils
 from neutron.plugins.nicira.nsxlib import router as routerlib
 from neutron.plugins.nicira.nsxlib import switch as switchlib
-from neutron.plugins.nicira import NvpApiClient
-from neutron.plugins.nicira import nvplib
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests.unit import test_api_v2
 from neutron.tests.unit.vmware.nsxlib import base
 
@@ -35,7 +34,7 @@ class TestNatRules(base.NsxlibTestCase):
     def _test_create_lrouter_dnat_rule(self, version):
         with mock.patch.object(self.fake_cluster.api_client,
                                'get_nvp_version',
-                               new=lambda: NvpApiClient.NVPVersion(version)):
+                               new=lambda: api_client.NVPVersion(version)):
             tenant_id = 'pippo'
             lrouter = routerlib.create_lrouter(self.fake_cluster,
                                                uuidutils.generate_uuid(),
@@ -46,10 +45,11 @@ class TestNatRules(base.NsxlibTestCase):
                 self.fake_cluster, lrouter['uuid'], '10.0.0.99',
                 match_criteria={'destination_ip_addresses':
                                 '192.168.0.5'})
-            uri = nvplib._build_uri_path(routerlib.LROUTERNAT_RESOURCE,
-                                         nat_rule['uuid'],
-                                         lrouter['uuid'])
-            resp_obj = nvplib.do_request("GET", uri, cluster=self.fake_cluster)
+            uri = routerlib._build_uri_path(routerlib.LROUTERNAT_RESOURCE,
+                                            nat_rule['uuid'],
+                                            lrouter['uuid'])
+            resp_obj = routerlib.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'])
@@ -178,14 +178,14 @@ class TestExplicitLRouters(base.NsxlibTestCase):
         new_routes = [{"nexthop": "10.0.0.2",
                        "destination": "169.254.169.0/30"}, ]
 
-        nvp_routes = [self._get_single_route(router_id)]
+        nsx_routes = [self._get_single_route(router_id)]
         with mock.patch.object(routerlib, 'get_explicit_routes_lrouter',
-                               return_value=nvp_routes):
+                               return_value=nsx_routes):
             with mock.patch.object(routerlib, 'create_explicit_route_lrouter',
                                    return_value='fake_uuid'):
                 old_routes = routerlib.update_explicit_routes_lrouter(
                     self.fake_cluster, router_id, new_routes)
-        self.assertEqual(old_routes, nvp_routes)
+        self.assertEqual(old_routes, nsx_routes)
 
     def test_update_lrouter_with_no_routes_raise_nsx_exception(self):
         router_id = 'fake_router_id'
@@ -196,8 +196,8 @@ class TestExplicitLRouters(base.NsxlibTestCase):
         with mock.patch.object(routerlib, 'get_explicit_routes_lrouter',
                                return_value=nsx_routes):
             with mock.patch.object(routerlib, 'create_explicit_route_lrouter',
-                                   side_effect=NvpApiClient.NvpApiException):
-                self.assertRaises(NvpApiClient.NvpApiException,
+                                   side_effect=api_client.NvpApiException):
+                self.assertRaises(api_client.NvpApiException,
                                   routerlib.update_explicit_routes_lrouter,
                                   self.fake_cluster, router_id, new_routes)
 
@@ -237,12 +237,12 @@ class TestExplicitLRouters(base.NsxlibTestCase):
         with mock.patch.object(routerlib, 'get_explicit_routes_lrouter',
                                return_value=nsx_routes):
             with mock.patch.object(routerlib, 'delete_explicit_route_lrouter',
-                                   side_effect=NvpApiClient.NvpApiException):
+                                   side_effect=api_client.NvpApiException):
                 with mock.patch.object(
                     routerlib, 'create_explicit_route_lrouter',
                     return_value='fake_uuid'):
                     self.assertRaises(
-                        NvpApiClient.NvpApiException,
+                        api_client.NvpApiException,
                         routerlib.update_explicit_routes_lrouter,
                         self.fake_cluster, router_id, new_routes)
 
@@ -250,7 +250,7 @@ class TestExplicitLRouters(base.NsxlibTestCase):
 class RouterNegativeTestCase(base.NsxlibNegativeBaseTestCase):
 
     def test_create_lrouter_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           routerlib.create_lrouter,
                           self.fake_cluster,
                           uuidutils.generate_uuid(),
@@ -259,19 +259,19 @@ class RouterNegativeTestCase(base.NsxlibNegativeBaseTestCase):
                           'my_hop')
 
     def test_delete_lrouter_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           routerlib.delete_lrouter,
                           self.fake_cluster,
                           'fake_router')
 
     def test_get_lrouter_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           routerlib.get_lrouter,
                           self.fake_cluster,
                           'fake_router')
 
     def test_update_lrouter_on_failure(self):
-        self.assertRaises(nvplib.NvpApiClient.NvpApiException,
+        self.assertRaises(api_client.NvpApiException,
                           routerlib.update_lrouter,
                           self.fake_cluster,
                           'fake_router',
@@ -314,7 +314,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
     def _create_lrouter(self, version, neutron_id=None, distributed=None):
         with mock.patch.object(
             self.fake_cluster.api_client, 'get_nvp_version',
-            return_value=NvpApiClient.NVPVersion(version)):
+            return_value=api_client.NVPVersion(version)):
             if not neutron_id:
                 neutron_id = uuidutils.generate_uuid()
             lrouter = routerlib.create_lrouter(
@@ -375,7 +375,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
 
         with mock.patch.object(self.fake_cluster.api_client,
                                'get_nvp_version',
-                               return_value=NvpApiClient.NVPVersion(version)):
+                               return_value=api_client.NVPVersion(version)):
             with mock.patch.dict(routerlib.ROUTER_FUNC_DICT,
                                  foo_func_dict, clear=True):
                 return routerlib.update_lrouter(
@@ -383,13 +383,13 @@ class TestLogicalRouters(base.NsxlibTestCase):
                     'foo_nexthop', routes={'foo_destination': 'foo_address'})
 
     def test_version_dependent_update_lrouter_old_versions(self):
-        self.assertRaises(nvp_exc.NvpInvalidVersion,
+        self.assertRaises(nsx_exc.NvpInvalidVersion,
                           self._test_version_dependent_update_lrouter,
                           "2.9")
-        self.assertRaises(nvp_exc.NvpInvalidVersion,
+        self.assertRaises(nsx_exc.NvpInvalidVersion,
                           self._test_version_dependent_update_lrouter,
                           "3.0")
-        self.assertRaises(nvp_exc.NvpInvalidVersion,
+        self.assertRaises(nsx_exc.NvpInvalidVersion,
                           self._test_version_dependent_update_lrouter,
                           "3.1")
 
@@ -657,7 +657,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
 
     def test_update_lrouter_port_ips_nonexistent_router_raises(self):
         self.assertRaises(
-            nvp_exc.NvpPluginException, routerlib.update_lrouter_port_ips,
+            nsx_exc.NvpPluginException, routerlib.update_lrouter_port_ips,
             self.fake_cluster, 'boo-router', 'boo-port', [], [])
 
     def test_update_lrouter_port_ips_nsx_exception_raises(self):
@@ -671,11 +671,11 @@ class TestLogicalRouters(base.NsxlibTestCase):
             'name', True, ['192.168.0.1'], '00:11:22:33:44:55')
 
         def raise_nsx_exc(*args, **kwargs):
-            raise NvpApiClient.NvpApiException()
+            raise api_client.NvpApiException()
 
         with mock.patch.object(routerlib, 'do_request', new=raise_nsx_exc):
             self.assertRaises(
-                nvp_exc.NvpPluginException, routerlib.update_lrouter_port_ips,
+                nsx_exc.NvpPluginException, routerlib.update_lrouter_port_ips,
                 self.fake_cluster, lrouter['uuid'],
                 lrouter_port['uuid'], [], [])
 
@@ -751,7 +751,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
         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(nvp_exc.NvpInvalidAttachmentType,
+        self.assertRaises(nsx_exc.NvpInvalidAttachmentType,
                           routerlib.plug_router_port_attachment,
                           self.fake_cluster, lrouter['uuid'],
                           lrouter_port['uuid'], 'gw_att', 'BadType')
@@ -764,7 +764,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
                                            '10.0.0.1')
         with mock.patch.object(self.fake_cluster.api_client,
                                'get_nvp_version',
-                               new=lambda: NvpApiClient.NVPVersion(version)):
+                               new=lambda: api_client.NVPVersion(version)):
             routerlib.create_lrouter_snat_rule(
                 self.fake_cluster, lrouter['uuid'],
                 '10.0.0.2', '10.0.0.2', order=200,
@@ -787,7 +787,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
                                            '10.0.0.1')
         with mock.patch.object(self.fake_cluster.api_client,
                                'get_nvp_version',
-                               return_value=NvpApiClient.NVPVersion(version)):
+                               return_value=api_client.NVPVersion(version)):
             routerlib.create_lrouter_dnat_rule(
                 self.fake_cluster, lrouter['uuid'], '192.168.0.2', order=200,
                 dest_port=dest_port,
@@ -833,7 +833,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
                                            '10.0.0.1')
         with mock.patch.object(self.fake_cluster.api_client,
                                'get_nvp_version',
-                               new=lambda: NvpApiClient.NVPVersion(version)):
+                               new=lambda: api_client.NVPVersion(version)):
             routerlib.create_lrouter_nosnat_rule(
                 self.fake_cluster, lrouter['uuid'],
                 order=100,
@@ -858,7 +858,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
         # v2 or v3 makes no difference for this test
         with mock.patch.object(self.fake_cluster.api_client,
                                'get_nvp_version',
-                               new=lambda: NvpApiClient.NVPVersion('2.0')):
+                               new=lambda: api_client.NVPVersion('2.0')):
             routerlib.create_lrouter_snat_rule(
                 self.fake_cluster, lrouter['uuid'],
                 '10.0.0.2', '10.0.0.2', order=220,
@@ -911,7 +911,7 @@ class TestLogicalRouters(base.NsxlibTestCase):
         rules = routerlib.query_nat_rules(self.fake_cluster, lrouter['uuid'])
         self.assertEqual(len(rules), 3)
         self.assertRaises(
-            nvp_exc.NvpNatRuleMismatch,
+            nsx_exc.NvpNatRuleMismatch,
             routerlib.delete_nat_rules_by_match,
             self.fake_cluster, lrouter['uuid'],
             'SomeWeirdType', 1, 1)
index 5028154343a38cc23aede4dcedd5b17aa505625c..d45c60cea91cd68dd3e0e46f3f04135fb120abce 100644 (file)
@@ -16,7 +16,7 @@
 
 from neutron.common import exceptions
 from neutron.plugins.nicira.nsxlib import secgroup as secgrouplib
-from neutron.plugins.nicira import nvplib
+from neutron.plugins.nicira import nvplib as nsx_utils
 from neutron.tests.unit.vmware.nsxlib import base
 
 
@@ -25,10 +25,10 @@ class SecurityProfileTestCase(base.NsxlibTestCase):
     def test_create_and_get_security_profile(self):
         sec_prof = secgrouplib.create_security_profile(
             self.fake_cluster, 'pippo', {'name': 'test'})
-        sec_prof_res = nvplib.do_request(
+        sec_prof_res = secgrouplib.do_request(
             secgrouplib.HTTP_GET,
-            nvplib._build_uri_path('security-profile',
-                                   resource_id=sec_prof['uuid']),
+            nsx_utils._build_uri_path('security-profile',
+                                      resource_id=sec_prof['uuid']),
             cluster=self.fake_cluster)
         self.assertEqual(sec_prof['uuid'], sec_prof_res['uuid'])
         # Check for builtin rules
@@ -38,10 +38,10 @@ class SecurityProfileTestCase(base.NsxlibTestCase):
     def test_create_and_get_default_security_profile(self):
         sec_prof = secgrouplib.create_security_profile(
             self.fake_cluster, 'pippo', {'name': 'default'})
-        sec_prof_res = nvplib.do_request(
-            nvplib.HTTP_GET,
-            nvplib._build_uri_path('security-profile',
-                                   resource_id=sec_prof['uuid']),
+        sec_prof_res = nsx_utils.do_request(
+            secgrouplib.HTTP_GET,
+            nsx_utils._build_uri_path('security-profile',
+                                      resource_id=sec_prof['uuid']),
             cluster=self.fake_cluster)
         self.assertEqual(sec_prof['uuid'], sec_prof_res['uuid'])
         # Check for builtin rules
@@ -57,10 +57,10 @@ class SecurityProfileTestCase(base.NsxlibTestCase):
                      'logical_port_ingress_rules': [ingress_rule]}
         secgrouplib.update_security_group_rules(
             self.fake_cluster, sec_prof['uuid'], new_rules)
-        sec_prof_res = nvplib.do_request(
-            nvplib.HTTP_GET,
-            nvplib._build_uri_path('security-profile',
-                                   resource_id=sec_prof['uuid']),
+        sec_prof_res = nsx_utils.do_request(
+            secgrouplib.HTTP_GET,
+            nsx_utils._build_uri_path('security-profile',
+                                      resource_id=sec_prof['uuid']),
             cluster=self.fake_cluster)
         self.assertEqual(sec_prof['uuid'], sec_prof_res['uuid'])
         # Check for builtin rules
@@ -81,10 +81,10 @@ class SecurityProfileTestCase(base.NsxlibTestCase):
                      'logical_port_ingress_rules': []}
         secgrouplib.update_security_group_rules(
             self.fake_cluster, sec_prof['uuid'], new_rules)
-        sec_prof_res = nvplib.do_request(
-            nvplib.HTTP_GET,
-            nvplib._build_uri_path('security-profile',
-                                   resource_id=sec_prof['uuid']),
+        sec_prof_res = nsx_utils.do_request(
+            nsx_utils.HTTP_GET,
+            nsx_utils._build_uri_path('security-profile',
+                                      resource_id=sec_prof['uuid']),
             cluster=self.fake_cluster)
         self.assertEqual(sec_prof['uuid'], sec_prof_res['uuid'])
         # Check for builtin rules
@@ -108,9 +108,9 @@ class SecurityProfileTestCase(base.NsxlibTestCase):
         secgrouplib.delete_security_profile(
             self.fake_cluster, sec_prof['uuid'])
         self.assertRaises(exceptions.NotFound,
-                          nvplib.do_request,
-                          nvplib.HTTP_GET,
-                          nvplib._build_uri_path(
+                          secgrouplib.do_request,
+                          secgrouplib.HTTP_GET,
+                          nsx_utils._build_uri_path(
                               'security-profile',
                               resource_id=sec_prof['uuid']),
                           cluster=self.fake_cluster)
index 072c3f645cf113c5e7989d9ed981db3e3ffe235b..a495e6c5a2356ac728edef3ec8cc36f7580b4cc9 100644 (file)
 
 from neutron.plugins.nicira.nsxlib import router as routerlib
 from neutron.plugins.nicira.nsxlib import versioning
-from neutron.plugins.nicira import NvpApiClient
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests import base
 
 
 class TestVersioning(base.BaseTestCase):
 
     def test_function_handling_missing_minor(self):
-        version = NvpApiClient.NVPVersion('2.0')
+        version = api_client.NVPVersion('2.0')
         function = versioning.get_function_by_version(
             routerlib.ROUTER_FUNC_DICT, 'create_lrouter', version)
         self.assertEqual(routerlib.create_implicit_routing_lrouter,
                          function)
 
     def test_function_handling_with_both_major_and_minor(self):
-        version = NvpApiClient.NVPVersion('3.2')
+        version = api_client.NVPVersion('3.2')
         function = versioning.get_function_by_version(
             routerlib.ROUTER_FUNC_DICT, 'create_lrouter', version)
         self.assertEqual(routerlib.create_explicit_routing_lrouter,
                          function)
 
     def test_function_handling_with_newer_major(self):
-        version = NvpApiClient.NVPVersion('5.2')
+        version = api_client.NVPVersion('5.2')
         function = versioning.get_function_by_version(
             routerlib.ROUTER_FUNC_DICT, 'create_lrouter', version)
         self.assertEqual(routerlib.create_explicit_routing_lrouter,
                          function)
 
     def test_function_handling_with_obsolete_major(self):
-        version = NvpApiClient.NVPVersion('1.2')
+        version = api_client.NVPVersion('1.2')
         self.assertRaises(NotImplementedError,
                           versioning.get_function_by_version,
                           routerlib.ROUTER_FUNC_DICT,
                           'create_lrouter', version)
 
     def test_function_handling_with_unknown_version(self):
-        self.assertRaises(NvpApiClient.ServiceUnavailable,
+        self.assertRaises(api_client.ServiceUnavailable,
                           versioning.get_function_by_version,
                           routerlib.ROUTER_FUNC_DICT,
                           'create_lrouter', None)
index 69cbcc6fa55c36d8dc58cbb5dcffe53dc18d352a..4b4397891e42862faa7ce0838029c601be6b259e 100644 (file)
@@ -23,37 +23,34 @@ from neutron.common.test_lib import test_config
 from neutron.plugins.nicira.common import sync
 from neutron.plugins.nicira.dhcp_meta import rpc
 from neutron.tests.unit.openvswitch import test_agent_scheduler as test_base
-from neutron.tests.unit.vmware import fake_nvpapiclient
+from neutron.tests.unit.vmware.apiclient import fake
 from neutron.tests.unit.vmware import get_fake_conf
 from neutron.tests.unit.vmware import NSXAPI_NAME
 from neutron.tests.unit.vmware import PLUGIN_NAME
 from neutron.tests.unit.vmware import STUBS_PATH
 
 
-class NVPDhcpAgentNotifierTestCase(test_base.OvsDhcpAgentNotifierTestCase):
+class DhcpAgentNotifierTestCase(test_base.OvsDhcpAgentNotifierTestCase):
     plugin_str = PLUGIN_NAME
 
     def setUp(self):
         test_config['config_files'] = [get_fake_conf('nsx.ini.full.test')]
 
-        # mock nvp api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
-        self.mock_nvpapi = mock.patch(NSXAPI_NAME, autospec=True)
-        instance = self.mock_nvpapi.start()
+        # mock api client
+        self.fc = fake.FakeClient(STUBS_PATH)
+        self.mock_nsx_api = mock.patch(NSXAPI_NAME, autospec=True)
+        instance = self.mock_nsx_api.start()
         # Avoid runs of the synchronizer looping call
         patch_sync = mock.patch.object(sync, '_start_loopingcall')
         patch_sync.start()
 
-        def _fake_request(*args, **kwargs):
-            return self.fc.fake_request(*args, **kwargs)
-
-        # Emulate tests against NVP 2.x
+        # Emulate tests against NSX 2.x
         instance.return_value.get_nvp_version.return_value = "2.999"
-        instance.return_value.request.side_effect = _fake_request
-        super(NVPDhcpAgentNotifierTestCase, self).setUp()
+        instance.return_value.request.side_effect = self.fc.fake_request
+        super(DhcpAgentNotifierTestCase, self).setUp()
         self.addCleanup(self.fc.reset_all)
         self.addCleanup(patch_sync.stop)
-        self.addCleanup(self.mock_nvpapi.stop)
+        self.addCleanup(self.mock_nsx_api.stop)
         self.addCleanup(cfg.CONF.reset)
 
     def _test_gateway_subnet_notification(self, gateway='10.0.0.1'):
index 4405082cfcafd7d10f4f44e75aae6287f6e32966..e09d307dd79eddbadfad8a444897b10e8da154cc 100644 (file)
@@ -28,7 +28,7 @@ from neutron.plugins.nicira.common import exceptions
 from neutron.plugins.nicira.common import sync
 from neutron.plugins.nicira import nsx_cluster
 from neutron.plugins.nicira.nsxlib import lsn as lsnlib
-from neutron.plugins.nicira import NvpApiClient as nvp_client
+from neutron.plugins.nicira import NvpApiClient as api_client
 from neutron.tests import base
 from neutron.tests.unit.vmware import get_fake_conf
 from neutron.tests.unit.vmware import PLUGIN_NAME
@@ -149,10 +149,10 @@ class ConfigurationTest(base.BaseTestCase):
         cfg.CONF.set_override('core_plugin', PLUGIN_NAME)
         self.assertEqual(config.AgentModes.AGENTLESS,
                          cfg.CONF.NSX.agent_mode)
-        # The version returned from NVP does not really matter here
-        with mock.patch.object(nvp_client.NVPApiHelper,
+        # The version returned from NSX does not really matter here
+        with mock.patch.object(api_client.NVPApiHelper,
                                'get_nvp_version',
-                               return_value=nvp_client.NVPVersion("9.9")):
+                               return_value=api_client.NVPVersion("9.9")):
             with mock.patch.object(lsnlib,
                                    'service_cluster_exists',
                                    return_value=True):
@@ -168,9 +168,9 @@ class ConfigurationTest(base.BaseTestCase):
         cfg.CONF.set_override('core_plugin', PLUGIN_NAME)
         self.assertEqual(config.AgentModes.AGENTLESS,
                          cfg.CONF.NSX.agent_mode)
-        with mock.patch.object(nvp_client.NVPApiHelper,
+        with mock.patch.object(api_client.NVPApiHelper,
                                'get_nvp_version',
-                               return_value=nvp_client.NVPVersion("3.2")):
+                               return_value=api_client.NVPVersion("3.2")):
             self.assertRaises(exceptions.NvpPluginException, NeutronManager)
 
     def test_agentless_extensions_unmet_deps_fail(self):
@@ -179,9 +179,9 @@ class ConfigurationTest(base.BaseTestCase):
         cfg.CONF.set_override('core_plugin', PLUGIN_NAME)
         self.assertEqual(config.AgentModes.AGENTLESS,
                          cfg.CONF.NSX.agent_mode)
-        with mock.patch.object(nvp_client.NVPApiHelper,
+        with mock.patch.object(api_client.NVPApiHelper,
                                'get_nvp_version',
-                               return_value=nvp_client.NVPVersion("3.2")):
+                               return_value=api_client.NVPVersion("3.2")):
             with mock.patch.object(lsnlib,
                                    'service_cluster_exists',
                                    return_value=False):
index 9f31d110bf2e44fac56b702578e5c2e2bce28fd2..a676c5937daa4dace4eb220faa7d5b08cea2e330 100644 (file)
@@ -31,48 +31,39 @@ from neutron import context
 from neutron.extensions import external_net
 from neutron.extensions import l3
 from neutron.extensions import l3_ext_gw_mode
-from neutron.extensions import multiprovidernet as mpnet
 from neutron.extensions import portbindings
 from neutron.extensions import providernet as pnet
 from neutron.extensions import securitygroup as secgrp
 from neutron import manager
 from neutron.manager import NeutronManager
 from neutron.openstack.common.db import exception as db_exc
+from neutron.openstack.common import log
 from neutron.openstack.common import uuidutils
-from neutron.plugins.nicira.common import exceptions as nvp_exc
+from neutron.plugins.nicira.common import exceptions as nsx_exc
 from neutron.plugins.nicira.common import sync
-from neutron.plugins.nicira.dbexts import nicira_db
-from neutron.plugins.nicira.dbexts import qos_db
+from neutron.plugins.nicira.dbexts import nicira_db as nsx_db
 from neutron.plugins.nicira.extensions import distributedrouter as dist_router
-from neutron.plugins.nicira.extensions import networkgw
-from neutron.plugins.nicira.extensions import qos
 from neutron.plugins.nicira import NeutronPlugin
 from neutron.plugins.nicira import nsxlib
 from neutron.plugins.nicira import NvpApiClient
 from neutron.plugins.nicira.NvpApiClient import NVPVersion
 from neutron.tests.unit import _test_extension_portbindings as test_bindings
 import neutron.tests.unit.test_db_plugin as test_plugin
-import neutron.tests.unit.test_extension_allowedaddresspairs as test_addr_pair
 import neutron.tests.unit.test_extension_ext_gw_mode as test_ext_gw_mode
-import neutron.tests.unit.test_extension_portsecurity as psec
 import neutron.tests.unit.test_extension_security_group as ext_sg
-from neutron.tests.unit import test_extensions
 import neutron.tests.unit.test_l3_plugin as test_l3_plugin
 from neutron.tests.unit import testlib_api
-from neutron.tests.unit.vmware import fake_nvpapiclient
+from neutron.tests.unit.vmware.apiclient import fake
 from neutron.tests.unit.vmware import get_fake_conf
 from neutron.tests.unit.vmware import NSXAPI_NAME
 from neutron.tests.unit.vmware import NSXEXT_PATH
 from neutron.tests.unit.vmware import PLUGIN_NAME
 from neutron.tests.unit.vmware import STUBS_PATH
-import neutron.tests.unit.vmware.test_networkgw as test_l2_gw
-
 
-from neutron.openstack.common import log
 LOG = log.getLogger(__name__)
 
 
-class NiciraPluginV2TestCase(test_plugin.NeutronDbPluginV2TestCase):
+class NsxPluginV2TestCase(test_plugin.NeutronDbPluginV2TestCase):
 
     def _create_network(self, fmt, name, admin_state_up,
                         arg_list=None, providernet_args=None, **kwargs):
@@ -106,68 +97,38 @@ class NiciraPluginV2TestCase(test_plugin.NeutronDbPluginV2TestCase):
               ext_mgr=None,
               service_plugins=None):
         test_lib.test_config['config_files'] = [get_fake_conf('nsx.ini.test')]
-        # mock nvp api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
-        self.mock_nvpapi = mock.patch(NSXAPI_NAME, autospec=True)
-        self.mock_instance = self.mock_nvpapi.start()
+        # mock api client
+        self.fc = fake.FakeClient(STUBS_PATH)
+        self.mock_nsx = mock.patch(NSXAPI_NAME, autospec=True)
+        self.mock_instance = self.mock_nsx.start()
         # Avoid runs of the synchronizer looping call
         patch_sync = mock.patch.object(sync, '_start_loopingcall')
         patch_sync.start()
 
-        def _fake_request(*args, **kwargs):
-            return self.fc.fake_request(*args, **kwargs)
-
-        # Emulate tests against NVP 2.x
+        # Emulate tests against NSX 2.x
         self.mock_instance.return_value.get_nvp_version.return_value = (
             NVPVersion("2.9"))
-        self.mock_instance.return_value.request.side_effect = _fake_request
-        super(NiciraPluginV2TestCase, self).setUp(plugin=plugin,
-                                                  ext_mgr=ext_mgr)
+        self.mock_instance.return_value.request.side_effect = (
+            self.fc.fake_request)
+        super(NsxPluginV2TestCase, self).setUp(plugin=plugin,
+                                               ext_mgr=ext_mgr)
         cfg.CONF.set_override('metadata_mode', None, 'NSX')
         self.addCleanup(self.fc.reset_all)
         self.addCleanup(mock.patch.stopall)
 
 
-class TestNiciraBasicGet(test_plugin.TestBasicGet, NiciraPluginV2TestCase):
+class TestBasicGet(test_plugin.TestBasicGet, NsxPluginV2TestCase):
     pass
 
 
-class TestNiciraV2HTTPResponse(test_plugin.TestV2HTTPResponse,
-                               NiciraPluginV2TestCase):
+class TestV2HTTPResponse(test_plugin.TestV2HTTPResponse, NsxPluginV2TestCase):
     pass
 
 
-class TestNiciraProvidernet(NiciraPluginV2TestCase):
-
-    def test_create_provider_network_default_physical_net(self):
-        data = {'network': {'name': 'net1',
-                            'admin_state_up': True,
-                            'tenant_id': 'admin',
-                            pnet.NETWORK_TYPE: 'vlan',
-                            pnet.SEGMENTATION_ID: 411}}
-        network_req = self.new_create_request('networks', data, self.fmt)
-        net = self.deserialize(self.fmt, network_req.get_response(self.api))
-        self.assertEqual(net['network'][pnet.NETWORK_TYPE], 'vlan')
-        self.assertEqual(net['network'][pnet.SEGMENTATION_ID], 411)
-
-    def test_create_provider_network(self):
-        data = {'network': {'name': 'net1',
-                            'admin_state_up': True,
-                            'tenant_id': 'admin',
-                            pnet.NETWORK_TYPE: 'vlan',
-                            pnet.SEGMENTATION_ID: 411,
-                            pnet.PHYSICAL_NETWORK: 'physnet1'}}
-        network_req = self.new_create_request('networks', data, self.fmt)
-        net = self.deserialize(self.fmt, network_req.get_response(self.api))
-        self.assertEqual(net['network'][pnet.NETWORK_TYPE], 'vlan')
-        self.assertEqual(net['network'][pnet.SEGMENTATION_ID], 411)
-        self.assertEqual(net['network'][pnet.PHYSICAL_NETWORK], 'physnet1')
-
-
-class TestNiciraPortsV2(NiciraPluginV2TestCase,
-                        test_plugin.TestPortsV2,
-                        test_bindings.PortBindingsTestCase,
-                        test_bindings.PortBindingsHostTestCaseMixin):
+class TestPortsV2(NsxPluginV2TestCase,
+                  test_plugin.TestPortsV2,
+                  test_bindings.PortBindingsTestCase,
+                  test_bindings.PortBindingsHostTestCaseMixin):
 
     VIF_TYPE = portbindings.VIF_TYPE_OVS
     HAS_PORT_FILTER = True
@@ -201,7 +162,7 @@ class TestNiciraPortsV2(NiciraPluginV2TestCase,
                         self.assertEqual(len(ls), 2)
 
     def test_update_port_delete_ip(self):
-        # This test case overrides the default because the nvp plugin
+        # This test case overrides the default because the nsx plugin
         # implements port_security/security groups and it is not allowed
         # to remove an ip address from a port unless the security group
         # is first removed.
@@ -230,11 +191,11 @@ class TestNiciraPortsV2(NiciraPluginV2TestCase,
         query_params = "network_id=%s" % net_id
         self._test_list_resources('port', [],
                                   query_params=query_params)
-        # Also verify no orphan port was left on nvp
+        # Also verify no orphan port was left on nsx
         # no port should be there at all
         self.assertFalse(self.fc._fake_lswitch_lport_dict)
 
-    def test_create_port_nvp_error_no_orphan_left(self):
+    def test_create_port_nsx_error_no_orphan_left(self):
         with mock.patch.object(nsxlib.switch, 'create_lport',
                                side_effect=NvpApiClient.NvpApiException):
             with self.network() as net:
@@ -244,7 +205,7 @@ class TestNiciraPortsV2(NiciraPluginV2TestCase,
                 self._verify_no_orphan_left(net_id)
 
     def test_create_port_neutron_error_no_orphan_left(self):
-        with mock.patch.object(nicira_db, 'add_neutron_nsx_port_mapping',
+        with mock.patch.object(nsx_db, 'add_neutron_nsx_port_mapping',
                                side_effect=ntn_exc.NeutronException):
             with self.network() as net:
                 net_id = net['network']['id']
@@ -257,7 +218,7 @@ class TestNiciraPortsV2(NiciraPluginV2TestCase,
             inner_exception=sql_exc.IntegrityError(mock.ANY,
                                                    mock.ANY,
                                                    mock.ANY))
-        with mock.patch.object(nicira_db, 'add_neutron_nsx_port_mapping',
+        with mock.patch.object(nsx_db, 'add_neutron_nsx_port_mapping',
                                side_effect=db_exception):
             with self.network() as net:
                 with self.port(device_owner='network:dhcp'):
@@ -266,7 +227,7 @@ class TestNiciraPortsV2(NiciraPluginV2TestCase,
     def test_create_port_maintenance_returns_503(self):
         with self.network() as net:
             with mock.patch.object(nsxlib.switch, 'do_request',
-                                   side_effect=nvp_exc.MaintenanceInProgress):
+                                   side_effect=nsx_exc.MaintenanceInProgress):
                 data = {'port': {'network_id': net['network']['id'],
                                  'admin_state_up': False,
                                  'fixed_ips': [],
@@ -280,8 +241,7 @@ class TestNiciraPortsV2(NiciraPluginV2TestCase,
                                      res.status_int)
 
 
-class TestNiciraNetworksV2(test_plugin.TestNetworksV2,
-                           NiciraPluginV2TestCase):
+class TestNetworksV2(test_plugin.TestNetworksV2, NsxPluginV2TestCase):
 
     def _test_create_bridge_network(self, vlan_id=None):
         net_type = vlan_id and 'vlan' or 'flat'
@@ -317,7 +277,7 @@ class TestNiciraNetworksV2(test_plugin.TestNetworksV2,
 
     def test_list_networks_filter_by_id(self):
         # We add this unit test to cover some logic specific to the
-        # nvp plugin
+        # nsx plugin
         with contextlib.nested(self.network(name='net1'),
                                self.network(name='net2')) as (net1, net2):
             query_params = 'id=%s' % net1['network']['id']
@@ -368,7 +328,7 @@ class TestNiciraNetworksV2(test_plugin.TestNetworksV2,
                             'admin_state_up': True,
                             'tenant_id': self._tenant_id}}
         with mock.patch.object(nsxlib.switch, 'do_request',
-                               side_effect=nvp_exc.MaintenanceInProgress):
+                               side_effect=nsx_exc.MaintenanceInProgress):
             net_req = self.new_create_request('networks', data, self.fmt)
             res = net_req.get_response(self.api)
             self.assertEqual(webob.exc.HTTPServiceUnavailable.code,
@@ -384,63 +344,26 @@ class TestNiciraNetworksV2(test_plugin.TestNetworksV2,
                               net['network']['id'], data)
 
 
-class NiciraPortSecurityTestCase(psec.PortSecurityDBTestCase):
-
-    def setUp(self):
-        test_lib.test_config['config_files'] = [get_fake_conf('nsx.ini.test')]
-        # mock nvp api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
-        self.mock_nvpapi = mock.patch(NSXAPI_NAME, autospec=True)
-        instance = self.mock_nvpapi.start()
-        instance.return_value.login.return_value = "the_cookie"
-        # Avoid runs of the synchronizer looping call
-        patch_sync = mock.patch.object(sync, '_start_loopingcall')
-        patch_sync.start()
-
-        def _fake_request(*args, **kwargs):
-            return self.fc.fake_request(*args, **kwargs)
-
-        instance.return_value.request.side_effect = _fake_request
-        super(NiciraPortSecurityTestCase, self).setUp(PLUGIN_NAME)
-        self.addCleanup(self.fc.reset_all)
-        self.addCleanup(self.mock_nvpapi.stop)
-        self.addCleanup(patch_sync.stop)
-
-
-class TestNiciraPortSecurity(NiciraPortSecurityTestCase,
-                             psec.TestPortSecurity):
-        pass
-
-
-class TestNiciraAllowedAddressPairs(NiciraPluginV2TestCase,
-                                    test_addr_pair.TestAllowedAddressPairs):
-    pass
-
-
-class NiciraSecurityGroupsTestCase(ext_sg.SecurityGroupDBTestCase):
+class SecurityGroupsTestCase(ext_sg.SecurityGroupDBTestCase):
 
     def setUp(self):
         test_lib.test_config['config_files'] = [get_fake_conf('nsx.ini.test')]
-        # mock nvp api client
-        fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
-        self.mock_nvpapi = mock.patch(NSXAPI_NAME, autospec=True)
-        instance = self.mock_nvpapi.start()
+        # mock nsx api client
+        self.fc = fake.FakeClient(STUBS_PATH)
+        self.mock_nsx = mock.patch(NSXAPI_NAME, autospec=True)
+        instance = self.mock_nsx.start()
         instance.return_value.login.return_value = "the_cookie"
         # Avoid runs of the synchronizer looping call
         patch_sync = mock.patch.object(sync, '_start_loopingcall')
         patch_sync.start()
 
-        def _fake_request(*args, **kwargs):
-            return fc.fake_request(*args, **kwargs)
-
-        instance.return_value.request.side_effect = _fake_request
-        self.addCleanup(self.mock_nvpapi.stop)
+        instance.return_value.request.side_effect = self.fc.fake_request
+        self.addCleanup(self.mock_nsx.stop)
         self.addCleanup(patch_sync.stop)
-        super(NiciraSecurityGroupsTestCase, self).setUp(PLUGIN_NAME)
+        super(SecurityGroupsTestCase, self).setUp(PLUGIN_NAME)
 
 
-class TestNiciraSecurityGroup(ext_sg.TestSecurityGroups,
-                              NiciraSecurityGroupsTestCase):
+class TestSecurityGroup(ext_sg.TestSecurityGroups, SecurityGroupsTestCase):
 
     def test_create_security_group_name_exceeds_40_chars(self):
         name = 'this_is_a_secgroup_whose_name_is_longer_than_40_chars'
@@ -464,7 +387,7 @@ class TestNiciraSecurityGroup(ext_sg.TestSecurityGroups,
             self.assertEqual(res.status_int, 400)
 
 
-class TestNiciraL3ExtensionManager(object):
+class TestL3ExtensionManager(object):
 
     def get_resources(self):
         # Simulate extension of L3 attribute map
@@ -486,14 +409,14 @@ class TestNiciraL3ExtensionManager(object):
         return []
 
 
-class TestNiciraL3SecGrpExtensionManager(TestNiciraL3ExtensionManager):
+class TestL3SecGrpExtensionManager(TestL3ExtensionManager):
     """A fake extension manager for L3 and Security Group extensions.
 
-    Includes also Nicira-specific L3 attributes.
+    Includes also NSX specific L3 attributes.
     """
 
     def get_resources(self):
-        resources = super(TestNiciraL3SecGrpExtensionManager,
+        resources = super(TestL3SecGrpExtensionManager,
                           self).get_resources()
         resources.extend(secgrp.Securitygroup.get_resources())
         return resources
@@ -510,8 +433,7 @@ def restore_l3_attribute_map(map_to_restore):
     l3.RESOURCE_ATTRIBUTE_MAP = map_to_restore
 
 
-class NiciraL3NatTest(test_l3_plugin.L3BaseForIntTests,
-                      NiciraPluginV2TestCase):
+class L3NatTest(test_l3_plugin.L3BaseForIntTests, NsxPluginV2TestCase):
 
     def _restore_l3_attribute_map(self):
         l3.RESOURCE_ATTRIBUTE_MAP = self._l3_attribute_map_bk
@@ -524,8 +446,8 @@ class NiciraL3NatTest(test_l3_plugin.L3BaseForIntTests,
         cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
         l3_attribute_map_bk = backup_l3_attribute_map()
         self.addCleanup(restore_l3_attribute_map, l3_attribute_map_bk)
-        ext_mgr = ext_mgr or TestNiciraL3ExtensionManager()
-        super(NiciraL3NatTest, self).setUp(
+        ext_mgr = ext_mgr or TestL3ExtensionManager()
+        super(L3NatTest, self).setUp(
             plugin=plugin, ext_mgr=ext_mgr, service_plugins=service_plugins)
         plugin_instance = NeutronManager.get_plugin()
         self._plugin_name = "%s.%s" % (
@@ -534,9 +456,9 @@ class NiciraL3NatTest(test_l3_plugin.L3BaseForIntTests,
         self._plugin_class = plugin_instance.__class__
 
 
-class TestNiciraL3NatTestCase(NiciraL3NatTest,
-                              test_l3_plugin.L3NatDBIntTestCase,
-                              NiciraPluginV2TestCase):
+class TestL3NatTestCase(L3NatTest,
+                        test_l3_plugin.L3NatDBIntTestCase,
+                        NsxPluginV2TestCase):
 
     def _create_l3_ext_network(self, vlan_id=None):
         name = 'l3_ext_net'
@@ -565,13 +487,13 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
             for k, v in expected:
                 self.assertEqual(net['network'][k], v)
 
-    def _nvp_validate_ext_gw(self, router_id, l3_gw_uuid, vlan_id):
-        """Verify data on fake NVP API client in order to validate
+    def _nsx_validate_ext_gw(self, router_id, l3_gw_uuid, vlan_id):
+        """Verify data on fake NSX API client in order to validate
         plugin did set them properly
         """
         # First find the NSX router ID
         ctx = context.get_admin_context()
-        nsx_router_id = nicira_db.get_nsx_router_id(ctx.session, router_id)
+        nsx_router_id = nsx_db.get_nsx_router_id(ctx.session, router_id)
         ports = [port for port in self.fc._fake_lrouter_lport_dict.values()
                  if (port['lr_uuid'] == nsx_router_id and
                      port['att_type'] == "L3GatewayAttachment")]
@@ -600,7 +522,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                         (router['router']['external_gateway_info']
                          ['network_id']))
                     if validate_ext_gw:
-                        self._nvp_validate_ext_gw(router['router']['id'],
+                        self._nsx_validate_ext_gw(router['router']['id'],
                                                   'l3_gw_uuid', vlan_id)
                 finally:
                     self._delete('routers', router['router']['id'])
@@ -636,7 +558,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
     def test_router_create_distributed_with_3_1(self):
         self._test_router_create_with_distributed(True, True)
 
-    def test_router_create_distributed_with_new_nvp_versions(self):
+    def test_router_create_distributed_with_new_nsx_versions(self):
         with mock.patch.object(nsxlib.router, 'create_explicit_route_lrouter'):
             self._test_router_create_with_distributed(True, True, '3.2')
             self._test_router_create_with_distributed(True, True, '4.0')
@@ -672,7 +594,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
             'routers', data, self.fmt)
         return router_req.get_response(self.ext_api)
 
-    def test_router_create_nvp_error_returns_500(self, vlan_id=None):
+    def test_router_create_nsx_error_returns_500(self, vlan_id=None):
         with mock.patch.object(nsxlib.router,
                                'create_router_lport',
                                side_effect=NvpApiClient.NvpApiException):
@@ -685,7 +607,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
 
     def test_router_add_gateway_invalid_network_returns_404(self):
         # NOTE(salv-orlando): This unit test has been overriden
-        # as the nicira plugin support the ext_gw_mode extension
+        # as the nsx plugin support the ext_gw_mode extension
         # which mandates a uuid for the external network identifier
         with self.router() as r:
             self._add_external_gateway_to_router(
@@ -698,7 +620,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
         # TODO(salv-orlando): Verify whehter this is thread-safe
         # w.r.t. sqllite and parallel testing
         self._test_list_resources('router', [])
-        # Check that router is not in NVP
+        # Check that router is not in NSX
         self.assertFalse(self.fc._fake_lrouter_dict)
 
     def test_router_create_with_gw_info_neutron_fail_does_rollback(self):
@@ -715,8 +637,8 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                         res.status_int)
                     self._verify_router_rollback()
 
-    def test_router_create_with_gw_info_nvp_fail_does_rollback(self):
-        # Simulate error while fetching nvp router gw port
+    def test_router_create_with_gw_info_nsx_fail_does_rollback(self):
+        # Simulate error while fetching nsx router gw port
         with mock.patch.object(self._plugin_class,
                                '_find_router_gw_port',
                                side_effect=NvpApiClient.NvpApiException):
@@ -755,7 +677,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                             self.assertEqual(net_id,
                                              s2['subnet']['network_id'])
                             if validate_ext_gw:
-                                self._nvp_validate_ext_gw(
+                                self._nsx_validate_ext_gw(
                                     body['router']['id'],
                                     'l3_gw_uuid', vlan_id)
                         finally:
@@ -787,10 +709,10 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
     def test_floatingip_with_invalid_create_port(self):
         self._test_floatingip_with_invalid_create_port(self._plugin_name)
 
-    def _nvp_metadata_setup(self):
+    def _metadata_setup(self):
         cfg.CONF.set_override('metadata_mode', 'access_network', 'NSX')
 
-    def _nvp_metadata_teardown(self):
+    def _metadata_teardown(self):
         cfg.CONF.set_override('metadata_mode', None, 'NSX')
 
     def test_create_router_name_exceeds_40_chars(self):
@@ -800,47 +722,47 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
             self.assertEqual(rtr['router']['name'], name)
 
     def test_router_add_interface_subnet_with_metadata_access(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_add_interface_subnet()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_add_interface_port_with_metadata_access(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_add_interface_port()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_add_interface_dupsubnet_returns_400_with_metadata(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_add_interface_dup_subnet1_returns_400()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_add_interface_overlapped_cidr_returns_400_with(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_add_interface_overlapped_cidr_returns_400()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_remove_interface_inuse_returns_409_with_metadata(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_remove_interface_inuse_returns_409()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_remove_iface_wrong_sub_returns_400_with_metadata(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_remove_interface_wrong_subnet_returns_400()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_delete_with_metadata_access(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_delete()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_router_delete_with_port_existed_returns_409_with_metadata(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         self.test_router_delete_with_port_existed_returns_409()
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_metadatata_network_created_with_router_interface_add(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         with self.router() as r:
             with self.subnet() as s:
                 self._router_interface_action('add',
@@ -860,10 +782,10 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                                               r['router']['id'],
                                               s['subnet']['id'],
                                               None)
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_metadata_network_create_rollback_on_create_subnet_failure(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         with self.router() as r:
             with self.subnet() as s:
                 # Raise a NeutronException (eg: NotFound)
@@ -880,10 +802,10 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                                               r['router']['id'],
                                               s['subnet']['id'],
                                               None)
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_metadata_network_create_rollback_on_add_rtr_iface_failure(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         with self.router() as r:
             with self.subnet() as s:
                 # Raise a NeutronException when adding metadata subnet
@@ -912,10 +834,10 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                                               r['router']['id'],
                                               s['subnet']['id'],
                                               None)
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_metadata_network_removed_with_router_interface_remove(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         with self.router() as r:
             with self.subnet() as s:
                 self._router_interface_action('add', r['router']['id'],
@@ -941,10 +863,10 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                            webob.exc.HTTPNotFound.code)
                 self._show('subnets', meta_sub_id,
                            webob.exc.HTTPNotFound.code)
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_metadata_network_remove_rollback_on_failure(self):
-        self._nvp_metadata_setup()
+        self._metadata_setup()
         with self.router() as r:
             with self.subnet() as s:
                 self._router_interface_action('add', r['router']['id'],
@@ -980,7 +902,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                            webob.exc.HTTPOk.code)
                 self._show('ports', meta_port_id,
                            webob.exc.HTTPOk.code)
-        self._nvp_metadata_teardown()
+        self._metadata_teardown()
 
     def test_metadata_dhcp_host_route(self):
         cfg.CONF.set_override('metadata_mode', 'dhcp_host_route', 'NSX')
@@ -1021,7 +943,7 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                 with mock.patch.object(
                     nsxlib.router,
                     'do_request',
-                    side_effect=nvp_exc.MaintenanceInProgress):
+                    side_effect=nsx_exc.MaintenanceInProgress):
                     data = {'router': {'tenant_id': 'whatever'}}
                     data['router']['name'] = 'router1'
                     data['router']['external_gateway_info'] = {
@@ -1033,267 +955,22 @@ class TestNiciraL3NatTestCase(NiciraL3NatTest,
                                      res.status_int)
 
 
-class NvpQoSTestExtensionManager(object):
-
-    def get_resources(self):
-        return qos.Qos.get_resources()
-
-    def get_actions(self):
-        return []
-
-    def get_request_extensions(self):
-        return []
-
-
-class TestQoSQueue(NiciraPluginV2TestCase):
-
-    def setUp(self, plugin=None):
-        cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
-        super(TestQoSQueue, self).setUp()
-        ext_mgr = NvpQoSTestExtensionManager()
-        self.ext_api = test_extensions.setup_extensions_middleware(ext_mgr)
-
-    def _create_qos_queue(self, fmt, body, **kwargs):
-        qos_queue = self.new_create_request('qos-queues', body)
-        if (kwargs.get('set_context') and 'tenant_id' in kwargs):
-            # create a specific auth context for this request
-            qos_queue.environ['neutron.context'] = context.Context(
-                '', kwargs['tenant_id'])
-
-        return qos_queue.get_response(self.ext_api)
-
-    @contextlib.contextmanager
-    def qos_queue(self, name='foo', min='0', max='10',
-                  qos_marking=None, dscp='0', default=None, no_delete=False):
-
-        body = {'qos_queue': {'tenant_id': 'tenant',
-                              'name': name,
-                              'min': min,
-                              'max': max}}
-
-        if qos_marking:
-            body['qos_queue']['qos_marking'] = qos_marking
-        if dscp:
-            body['qos_queue']['dscp'] = dscp
-        if default:
-            body['qos_queue']['default'] = default
-        res = self._create_qos_queue('json', body)
-        qos_queue = self.deserialize('json', res)
-        if res.status_int >= 400:
-            raise webob.exc.HTTPClientError(code=res.status_int)
-        try:
-            yield qos_queue
-        finally:
-            if not no_delete:
-                self._delete('qos-queues',
-                             qos_queue['qos_queue']['id'])
-
-    def test_create_qos_queue(self):
-        with self.qos_queue(name='fake_lqueue', min=34, max=44,
-                            qos_marking='untrusted', default=False) as q:
-            self.assertEqual(q['qos_queue']['name'], 'fake_lqueue')
-            self.assertEqual(q['qos_queue']['min'], 34)
-            self.assertEqual(q['qos_queue']['max'], 44)
-            self.assertEqual(q['qos_queue']['qos_marking'], 'untrusted')
-            self.assertFalse(q['qos_queue']['default'])
-
-    def test_create_trusted_qos_queue(self):
-        with mock.patch.object(qos_db.LOG, 'info') as log:
-            with mock.patch.object(nsxlib.queue, 'do_request',
-                                   return_value={"uuid": "fake_queue"}):
-                with self.qos_queue(name='fake_lqueue', min=34, max=44,
-                                    qos_marking='trusted', default=False) as q:
-                    self.assertIsNone(q['qos_queue']['dscp'])
-                    self.assertTrue(log.called)
-
-    def test_create_qos_queue_name_exceeds_40_chars(self):
-        name = 'this_is_a_queue_whose_name_is_longer_than_40_chars'
-        with self.qos_queue(name=name) as queue:
-            # Assert Neutron name is not truncated
-            self.assertEqual(queue['qos_queue']['name'], name)
-
-    def test_create_qos_queue_default(self):
-        with self.qos_queue(default=True) as q:
-            self.assertTrue(q['qos_queue']['default'])
-
-    def test_create_qos_queue_two_default_queues_fail(self):
-        with self.qos_queue(default=True):
-            body = {'qos_queue': {'tenant_id': 'tenant',
-                                  'name': 'second_default_queue',
-                                  'default': True}}
-            res = self._create_qos_queue('json', body)
-            self.assertEqual(res.status_int, 409)
-
-    def test_create_port_with_queue(self):
-        with self.qos_queue(default=True) as q1:
-            res = self._create_network('json', 'net1', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net1 = self.deserialize('json', res)
-            self.assertEqual(net1['network'][qos.QUEUE],
-                             q1['qos_queue']['id'])
-            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
-            with self.port(device_id=device_id, do_delete=False) as p:
-                self.assertEqual(len(p['port'][qos.QUEUE]), 36)
-
-    def test_create_shared_queue_networks(self):
-        with self.qos_queue(default=True, no_delete=True) as q1:
-            res = self._create_network('json', 'net1', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net1 = self.deserialize('json', res)
-            self.assertEqual(net1['network'][qos.QUEUE],
-                             q1['qos_queue']['id'])
-            res = self._create_network('json', 'net2', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net2 = self.deserialize('json', res)
-            self.assertEqual(net1['network'][qos.QUEUE],
-                             q1['qos_queue']['id'])
-            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
-            res = self._create_port('json', net1['network']['id'],
-                                    device_id=device_id)
-            port1 = self.deserialize('json', res)
-            res = self._create_port('json', net2['network']['id'],
-                                    device_id=device_id)
-            port2 = self.deserialize('json', res)
-            self.assertEqual(port1['port'][qos.QUEUE],
-                             port2['port'][qos.QUEUE])
-
-            self._delete('ports', port1['port']['id'])
-            self._delete('ports', port2['port']['id'])
-
-    def test_remove_queue_in_use_fail(self):
-        with self.qos_queue(no_delete=True) as q1:
-            res = self._create_network('json', 'net1', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net1 = self.deserialize('json', res)
-            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
-            res = self._create_port('json', net1['network']['id'],
-                                    device_id=device_id)
-            port = self.deserialize('json', res)
-            self._delete('qos-queues', port['port'][qos.QUEUE], 409)
-
-    def test_update_network_new_queue(self):
-        with self.qos_queue() as q1:
-            res = self._create_network('json', 'net1', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net1 = self.deserialize('json', res)
-            with self.qos_queue() as new_q:
-                data = {'network': {qos.QUEUE: new_q['qos_queue']['id']}}
-                req = self.new_update_request('networks', data,
-                                              net1['network']['id'])
-                res = req.get_response(self.api)
-                net1 = self.deserialize('json', res)
-                self.assertEqual(net1['network'][qos.QUEUE],
-                                 new_q['qos_queue']['id'])
-
-    def test_update_port_adding_device_id(self):
-        with self.qos_queue(no_delete=True) as q1:
-            res = self._create_network('json', 'net1', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net1 = self.deserialize('json', res)
-            device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
-            res = self._create_port('json', net1['network']['id'])
-            port = self.deserialize('json', res)
-            self.assertIsNone(port['port'][qos.QUEUE])
-
-            data = {'port': {'device_id': device_id}}
-            req = self.new_update_request('ports', data,
-                                          port['port']['id'])
-
-            res = req.get_response(self.api)
-            port = self.deserialize('json', res)
-            self.assertEqual(len(port['port'][qos.QUEUE]), 36)
-
-    def test_get_port_with_qos_not_admin(self):
-        body = {'qos_queue': {'tenant_id': 'not_admin',
-                              'name': 'foo', 'min': 20, 'max': 20}}
-        res = self._create_qos_queue('json', body, tenant_id='not_admin')
-        q1 = self.deserialize('json', res)
-        res = self._create_network('json', 'net1', True,
-                                   arg_list=(qos.QUEUE, 'tenant_id',),
-                                   queue_id=q1['qos_queue']['id'],
-                                   tenant_id="not_admin")
-        net1 = self.deserialize('json', res)
-        self.assertEqual(len(net1['network'][qos.QUEUE]), 36)
-        res = self._create_port('json', net1['network']['id'],
-                                tenant_id='not_admin', set_context=True)
-
-        port = self.deserialize('json', res)
-        self.assertNotIn(qos.QUEUE, port['port'])
-
-    def test_dscp_value_out_of_range(self):
-        body = {'qos_queue': {'tenant_id': 'admin', 'dscp': '64',
-                              'name': 'foo', 'min': 20, 'max': 20}}
-        res = self._create_qos_queue('json', body)
-        self.assertEqual(res.status_int, 400)
-
-    def test_non_admin_cannot_create_queue(self):
-        body = {'qos_queue': {'tenant_id': 'not_admin',
-                              'name': 'foo', 'min': 20, 'max': 20}}
-        res = self._create_qos_queue('json', body, tenant_id='not_admin',
-                                     set_context=True)
-        self.assertEqual(res.status_int, 403)
-
-    def test_update_port_non_admin_does_not_show_queue_id(self):
-        body = {'qos_queue': {'tenant_id': 'not_admin',
-                              'name': 'foo', 'min': 20, 'max': 20}}
-        res = self._create_qos_queue('json', body, tenant_id='not_admin')
-        q1 = self.deserialize('json', res)
-        res = self._create_network('json', 'net1', True,
-                                   arg_list=(qos.QUEUE,),
-                                   tenant_id='not_admin',
-                                   queue_id=q1['qos_queue']['id'])
-
-        net1 = self.deserialize('json', res)
-        res = self._create_port('json', net1['network']['id'],
-                                tenant_id='not_admin', set_context=True)
-        port = self.deserialize('json', res)
-        device_id = "00fff4d0-e4a8-4a3a-8906-4c4cdafb59f1"
-        data = {'port': {'device_id': device_id}}
-        neutron_context = context.Context('', 'not_admin')
-        port = self._update('ports', port['port']['id'], data,
-                            neutron_context=neutron_context)
-        self.assertNotIn(qos.QUEUE, port['port'])
-
-    def test_rxtx_factor(self):
-        with self.qos_queue(max=10) as q1:
-
-            res = self._create_network('json', 'net1', True,
-                                       arg_list=(qos.QUEUE,),
-                                       queue_id=q1['qos_queue']['id'])
-            net1 = self.deserialize('json', res)
-            res = self._create_port('json', net1['network']['id'],
-                                    arg_list=(qos.RXTX_FACTOR,),
-                                    rxtx_factor=2, device_id='1')
-            port = self.deserialize('json', res)
-            req = self.new_show_request('qos-queues',
-                                        port['port'][qos.QUEUE])
-            res = req.get_response(self.ext_api)
-            queue = self.deserialize('json', res)
-            self.assertEqual(queue['qos_queue']['max'], 20)
-
-
-class NiciraExtGwModeTestCase(NiciraPluginV2TestCase,
-                              test_ext_gw_mode.ExtGwModeIntTestCase):
+class ExtGwModeTestCase(NsxPluginV2TestCase,
+                        test_ext_gw_mode.ExtGwModeIntTestCase):
     pass
 
 
-class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
-                                test_l3_plugin.L3NatTestCaseMixin,
-                                ext_sg.SecurityGroupsTestCase):
+class NeutronNsxOutOfSync(NsxPluginV2TestCase,
+                          test_l3_plugin.L3NatTestCaseMixin,
+                          ext_sg.SecurityGroupsTestCase):
 
     def setUp(self):
         l3_attribute_map_bk = backup_l3_attribute_map()
         self.addCleanup(restore_l3_attribute_map, l3_attribute_map_bk)
-        super(NiciraNeutronNVPOutOfSync, self).setUp(
-            ext_mgr=TestNiciraL3SecGrpExtensionManager())
+        super(NeutronNsxOutOfSync, self).setUp(
+            ext_mgr=TestL3SecGrpExtensionManager())
 
-    def test_delete_network_not_in_nvp(self):
+    def test_delete_network_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net1 = self.deserialize('json', res)
         self.fc._fake_lswitch_dict.clear()
@@ -1301,7 +978,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         res = req.get_response(self.api)
         self.assertEqual(res.status_int, 204)
 
-    def test_show_network_not_in_nvp(self):
+    def test_show_network_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net = self.deserialize('json', res)
         self.fc._fake_lswitch_dict.clear()
@@ -1311,7 +988,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         self.assertEqual(net['network']['status'],
                          constants.NET_STATUS_ERROR)
 
-    def test_delete_port_not_in_nvp(self):
+    def test_delete_port_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net1 = self.deserialize('json', res)
         res = self._create_port('json', net1['network']['id'])
@@ -1321,7 +998,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         res = req.get_response(self.api)
         self.assertEqual(res.status_int, 204)
 
-    def test_show_port_not_in_nvp(self):
+    def test_show_port_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net1 = self.deserialize('json', res)
         res = self._create_port('json', net1['network']['id'])
@@ -1334,7 +1011,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         self.assertEqual(net['port']['status'],
                          constants.PORT_STATUS_ERROR)
 
-    def test_create_port_on_network_not_in_nvp(self):
+    def test_create_port_on_network_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net1 = self.deserialize('json', res)
         self.fc._fake_lswitch_dict.clear()
@@ -1342,7 +1019,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         port = self.deserialize('json', res)
         self.assertEqual(port['port']['status'], constants.PORT_STATUS_ERROR)
 
-    def test_update_port_not_in_nvp(self):
+    def test_update_port_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net1 = self.deserialize('json', res)
         res = self._create_port('json', net1['network']['id'])
@@ -1354,7 +1031,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         self.assertEqual(port['port']['status'], constants.PORT_STATUS_ERROR)
         self.assertEqual(port['port']['name'], 'error_port')
 
-    def test_delete_port_and_network_not_in_nvp(self):
+    def test_delete_port_and_network_not_in_nsx(self):
         res = self._create_network('json', 'net1', True)
         net1 = self.deserialize('json', res)
         res = self._create_port('json', net1['network']['id'])
@@ -1368,7 +1045,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         res = req.get_response(self.api)
         self.assertEqual(res.status_int, 204)
 
-    def test_delete_router_not_in_nvp(self):
+    def test_delete_router_not_in_nsx(self):
         res = self._create_router('json', 'tenant')
         router = self.deserialize('json', res)
         self.fc._fake_lrouter_dict.clear()
@@ -1376,7 +1053,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         res = req.get_response(self.ext_api)
         self.assertEqual(res.status_int, 204)
 
-    def test_show_router_not_in_nvp(self):
+    def test_show_router_not_in_nsx(self):
         res = self._create_router('json', 'tenant')
         router = self.deserialize('json', res)
         self.fc._fake_lrouter_dict.clear()
@@ -1397,7 +1074,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         sub = self.deserialize('json', sub_res)
         return net_id, sub['subnet']['id']
 
-    def test_clear_gateway_nat_rule_not_in_nvp(self):
+    def test_clear_gateway_nat_rule_not_in_nsx(self):
         # Create external network and subnet
         ext_net_id = self._create_network_and_subnet('1.1.1.0/24', True)[0]
         # Create internal network and subnet
@@ -1420,7 +1097,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
             router['router']['id'])
         res = req.get_response(self.ext_api)
         self.assertEqual(res.status_int, 200)
-        # Delete NAT rule from NVP, clear gateway
+        # Delete NAT rule from NSX, clear gateway
         # and verify operation still succeeds
         self.fc._fake_lrouter_nat_dict.clear()
         req = self.new_update_request(
@@ -1430,7 +1107,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         res = req.get_response(self.ext_api)
         self.assertEqual(res.status_int, 200)
 
-    def test_update_router_not_in_nvp(self):
+    def test_update_router_not_in_nsx(self):
         res = self._create_router('json', 'tenant')
         router = self.deserialize('json', res)
         self.fc._fake_lrouter_dict.clear()
@@ -1445,7 +1122,7 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
         self.assertEqual(router['router']['status'],
                          constants.NET_STATUS_ERROR)
 
-    def test_delete_security_group_not_in_nvp(self):
+    def test_delete_security_group_not_in_nsx(self):
         res = self._create_security_group('json', 'name', 'desc')
         sec_group = self.deserialize('json', res)
         self.fc._fake_securityprofile_dict.clear()
@@ -1454,205 +1131,3 @@ class NiciraNeutronNVPOutOfSync(NiciraPluginV2TestCase,
             sec_group['security_group']['id'])
         res = req.get_response(self.ext_api)
         self.assertEqual(res.status_int, 204)
-
-
-class TestNiciraNetworkGateway(NiciraPluginV2TestCase,
-                               test_l2_gw.NetworkGatewayDbTestCase):
-
-    def setUp(self, plugin=PLUGIN_NAME, ext_mgr=None):
-        cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
-        super(TestNiciraNetworkGateway,
-              self).setUp(plugin=plugin, ext_mgr=ext_mgr)
-
-    def test_create_network_gateway_name_exceeds_40_chars(self):
-        name = 'this_is_a_gateway_whose_name_is_longer_than_40_chars'
-        with self._network_gateway(name=name) as nw_gw:
-            # Assert Neutron name is not truncated
-            self.assertEqual(nw_gw[self.resource]['name'], name)
-
-    def test_update_network_gateway_with_name_calls_backend(self):
-        with mock.patch.object(
-            nsxlib.l2gateway, 'update_l2_gw_service') as mock_update_gw:
-            with self._network_gateway(name='cavani') as nw_gw:
-                nw_gw_id = nw_gw[self.resource]['id']
-                self._update(networkgw.COLLECTION_NAME, nw_gw_id,
-                             {self.resource: {'name': 'higuain'}})
-                mock_update_gw.assert_called_once_with(
-                    mock.ANY, nw_gw_id, 'higuain')
-
-    def test_update_network_gateway_without_name_does_not_call_backend(self):
-        with mock.patch.object(
-            nsxlib.l2gateway, 'update_l2_gw_service') as mock_update_gw:
-            with self._network_gateway(name='something') as nw_gw:
-                nw_gw_id = nw_gw[self.resource]['id']
-                self._update(networkgw.COLLECTION_NAME, nw_gw_id,
-                             {self.resource: {}})
-                self.assertEqual(mock_update_gw.call_count, 0)
-
-    def test_update_network_gateway_name_exceeds_40_chars(self):
-        new_name = 'this_is_a_gateway_whose_name_is_longer_than_40_chars'
-        with self._network_gateway(name='something') as nw_gw:
-            nw_gw_id = nw_gw[self.resource]['id']
-            self._update(networkgw.COLLECTION_NAME, nw_gw_id,
-                         {self.resource: {'name': new_name}})
-            req = self.new_show_request(networkgw.COLLECTION_NAME,
-                                        nw_gw_id)
-            res = self.deserialize('json', req.get_response(self.ext_api))
-            # Assert Neutron name is not truncated
-            self.assertEqual(new_name, res[self.resource]['name'])
-            # Assert NVP name is truncated
-            self.assertEqual(
-                new_name[:40],
-                self.fc._fake_gatewayservice_dict[nw_gw_id]['display_name'])
-
-    def test_create_network_gateway_nvp_error_returns_500(self):
-        def raise_nvp_api_exc(*args, **kwargs):
-            raise NvpApiClient.NvpApiException
-
-        with mock.patch.object(nsxlib.l2gateway,
-                               'create_l2_gw_service',
-                               new=raise_nvp_api_exc):
-            res = self._create_network_gateway(
-                self.fmt, 'xxx', name='yyy',
-                devices=[{'id': uuidutils.generate_uuid()}])
-            self.assertEqual(500, res.status_int)
-
-    def test_create_network_gateway_nvp_error_returns_409(self):
-        with mock.patch.object(nsxlib.l2gateway,
-                               'create_l2_gw_service',
-                               side_effect=NvpApiClient.Conflict):
-            res = self._create_network_gateway(
-                self.fmt, 'xxx', name='yyy',
-                devices=[{'id': uuidutils.generate_uuid()}])
-            self.assertEqual(409, res.status_int)
-
-    def test_list_network_gateways(self):
-        with self._network_gateway(name='test-gw-1') as gw1:
-            with self._network_gateway(name='test_gw_2') as gw2:
-                req = self.new_list_request(networkgw.COLLECTION_NAME)
-                res = self.deserialize('json', req.get_response(self.ext_api))
-                # We expect the default gateway too
-                key = self.resource + 's'
-                self.assertEqual(len(res[key]), 3)
-                self.assertEqual(res[key][0]['default'],
-                                 True)
-                self.assertEqual(res[key][1]['name'],
-                                 gw1[self.resource]['name'])
-                self.assertEqual(res[key][2]['name'],
-                                 gw2[self.resource]['name'])
-
-    def test_list_network_gateway_with_multiple_connections(self):
-        self._test_list_network_gateway_with_multiple_connections(
-            expected_gateways=2)
-
-    def test_delete_network_gateway(self):
-        # The default gateway must still be there
-        self._test_delete_network_gateway(1)
-
-    def test_show_network_gateway_nvp_error_returns_404(self):
-        invalid_id = 'b5afd4a9-eb71-4af7-a082-8fc625a35b61'
-        req = self.new_show_request(networkgw.COLLECTION_NAME, invalid_id)
-        res = req.get_response(self.ext_api)
-        self.assertEqual(webob.exc.HTTPNotFound.code, res.status_int)
-
-
-class TestNiciraMultiProviderNetworks(NiciraPluginV2TestCase):
-
-    def setUp(self, plugin=None):
-        cfg.CONF.set_override('api_extensions_path', NSXEXT_PATH)
-        super(TestNiciraMultiProviderNetworks, self).setUp()
-
-    def test_create_network_provider(self):
-        data = {'network': {'name': 'net1',
-                            pnet.NETWORK_TYPE: 'vlan',
-                            pnet.PHYSICAL_NETWORK: 'physnet1',
-                            pnet.SEGMENTATION_ID: 1,
-                            'tenant_id': 'tenant_one'}}
-        network_req = self.new_create_request('networks', data)
-        network = self.deserialize(self.fmt,
-                                   network_req.get_response(self.api))
-        self.assertEqual(network['network'][pnet.NETWORK_TYPE], 'vlan')
-        self.assertEqual(network['network'][pnet.PHYSICAL_NETWORK], 'physnet1')
-        self.assertEqual(network['network'][pnet.SEGMENTATION_ID], 1)
-        self.assertNotIn(mpnet.SEGMENTS, network['network'])
-
-    def test_create_network_single_multiple_provider(self):
-        data = {'network': {'name': 'net1',
-                            mpnet.SEGMENTS:
-                            [{pnet.NETWORK_TYPE: 'vlan',
-                              pnet.PHYSICAL_NETWORK: 'physnet1',
-                              pnet.SEGMENTATION_ID: 1}],
-                            'tenant_id': 'tenant_one'}}
-        net_req = self.new_create_request('networks', data)
-        network = self.deserialize(self.fmt, net_req.get_response(self.api))
-        for provider_field in [pnet.NETWORK_TYPE, pnet.PHYSICAL_NETWORK,
-                               pnet.SEGMENTATION_ID]:
-            self.assertNotIn(provider_field, network['network'])
-        tz = network['network'][mpnet.SEGMENTS][0]
-        self.assertEqual(tz[pnet.NETWORK_TYPE], 'vlan')
-        self.assertEqual(tz[pnet.PHYSICAL_NETWORK], 'physnet1')
-        self.assertEqual(tz[pnet.SEGMENTATION_ID], 1)
-
-        # Tests get_network()
-        net_req = self.new_show_request('networks', network['network']['id'])
-        network = self.deserialize(self.fmt, net_req.get_response(self.api))
-        tz = network['network'][mpnet.SEGMENTS][0]
-        self.assertEqual(tz[pnet.NETWORK_TYPE], 'vlan')
-        self.assertEqual(tz[pnet.PHYSICAL_NETWORK], 'physnet1')
-        self.assertEqual(tz[pnet.SEGMENTATION_ID], 1)
-
-    def test_create_network_multprovider(self):
-        data = {'network': {'name': 'net1',
-                            mpnet.SEGMENTS:
-                            [{pnet.NETWORK_TYPE: 'vlan',
-                              pnet.PHYSICAL_NETWORK: 'physnet1',
-                              pnet.SEGMENTATION_ID: 1},
-                             {pnet.NETWORK_TYPE: 'stt',
-                              pnet.PHYSICAL_NETWORK: 'physnet1'}],
-                            'tenant_id': 'tenant_one'}}
-        network_req = self.new_create_request('networks', data)
-        network = self.deserialize(self.fmt,
-                                   network_req.get_response(self.api))
-        tz = network['network'][mpnet.SEGMENTS]
-        for tz in data['network'][mpnet.SEGMENTS]:
-            for field in [pnet.NETWORK_TYPE, pnet.PHYSICAL_NETWORK,
-                          pnet.SEGMENTATION_ID]:
-                self.assertEqual(tz.get(field), tz.get(field))
-
-        # Tests get_network()
-        net_req = self.new_show_request('networks', network['network']['id'])
-        network = self.deserialize(self.fmt, net_req.get_response(self.api))
-        tz = network['network'][mpnet.SEGMENTS]
-        for tz in data['network'][mpnet.SEGMENTS]:
-            for field in [pnet.NETWORK_TYPE, pnet.PHYSICAL_NETWORK,
-                          pnet.SEGMENTATION_ID]:
-                self.assertEqual(tz.get(field), tz.get(field))
-
-    def test_create_network_with_provider_and_multiprovider_fail(self):
-        data = {'network': {'name': 'net1',
-                            mpnet.SEGMENTS:
-                            [{pnet.NETWORK_TYPE: 'vlan',
-                              pnet.PHYSICAL_NETWORK: 'physnet1',
-                              pnet.SEGMENTATION_ID: 1}],
-                            pnet.NETWORK_TYPE: 'vlan',
-                            pnet.PHYSICAL_NETWORK: 'physnet1',
-                            pnet.SEGMENTATION_ID: 1,
-                            'tenant_id': 'tenant_one'}}
-
-        network_req = self.new_create_request('networks', data)
-        res = network_req.get_response(self.api)
-        self.assertEqual(res.status_int, 400)
-
-    def test_create_network_duplicate_segments(self):
-        data = {'network': {'name': 'net1',
-                            mpnet.SEGMENTS:
-                            [{pnet.NETWORK_TYPE: 'vlan',
-                              pnet.PHYSICAL_NETWORK: 'physnet1',
-                              pnet.SEGMENTATION_ID: 1},
-                             {pnet.NETWORK_TYPE: 'vlan',
-                              pnet.PHYSICAL_NETWORK: 'physnet1',
-                              pnet.SEGMENTATION_ID: 1}],
-                            'tenant_id': 'tenant_one'}}
-        network_req = self.new_create_request('networks', data)
-        res = network_req.get_response(self.api)
-        self.assertEqual(res.status_int, 400)
index 652b32d8d7beac508d2ba2271605cd2c197c2b69..11db173a57a57e8c9075b37498813569b2a9cdbc 100644 (file)
@@ -1,6 +1,6 @@
 # vim: tabstop=4 shiftwidth=4 softtabstop=4
 
-# Copyright 2013 Nicira Networks, Inc.
+# Copyright 2013 VMware, Inc.
 # All Rights Reserved
 #
 #    Licensed under the Apache License, Version 2.0 (the "License"); you may
@@ -29,13 +29,13 @@ from neutron import context
 from neutron.openstack.common import jsonutils as json
 from neutron.openstack.common import log
 from neutron.plugins.nicira.common import sync
-from neutron.plugins.nicira import nsx_cluster
+from neutron.plugins.nicira import nsx_cluster as cluster
 from neutron.plugins.nicira import NvpApiClient
-from neutron.plugins.nicira import nvplib
+from neutron.plugins.nicira import nvplib as nsx_utils
 from neutron.plugins.vmware import plugin
 from neutron.tests import base
 from neutron.tests.unit import test_api_v2
-from neutron.tests.unit.vmware import fake_nvpapiclient
+from neutron.tests.unit.vmware.apiclient import fake
 from neutron.tests.unit.vmware import get_fake_conf
 from neutron.tests.unit.vmware import NSXAPI_NAME
 from neutron.tests.unit.vmware import STUBS_PATH
@@ -51,60 +51,60 @@ LROUTERS = [{'uuid': _uuid(), 'name': 'lr-1'},
             {'uuid': _uuid(), 'name': 'lr-2'}]
 
 
-class NvpCacheTestCase(base.BaseTestCase):
-    """Test suite providing coverage for the NvpCache class."""
+class CacheTestCase(base.BaseTestCase):
+    """Test suite providing coverage for the Cache class."""
 
     def setUp(self):
-        self.nvp_cache = sync.NvpCache()
+        self.nsx_cache = sync.NvpCache()
         for lswitch in LSWITCHES:
-            self.nvp_cache._uuid_dict_mappings[lswitch['uuid']] = (
-                self.nvp_cache._lswitches)
-            self.nvp_cache._lswitches[lswitch['uuid']] = (
+            self.nsx_cache._uuid_dict_mappings[lswitch['uuid']] = (
+                self.nsx_cache._lswitches)
+            self.nsx_cache._lswitches[lswitch['uuid']] = (
                 {'data': lswitch,
                  'hash': hash(json.dumps(lswitch))})
         for lswitchport in LSWITCHPORTS:
-            self.nvp_cache._uuid_dict_mappings[lswitchport['uuid']] = (
-                self.nvp_cache._lswitchports)
-            self.nvp_cache._lswitchports[lswitchport['uuid']] = (
+            self.nsx_cache._uuid_dict_mappings[lswitchport['uuid']] = (
+                self.nsx_cache._lswitchports)
+            self.nsx_cache._lswitchports[lswitchport['uuid']] = (
                 {'data': lswitchport,
                  'hash': hash(json.dumps(lswitchport))})
         for lrouter in LROUTERS:
-            self.nvp_cache._uuid_dict_mappings[lrouter['uuid']] = (
-                self.nvp_cache._lrouters)
-            self.nvp_cache._lrouters[lrouter['uuid']] = (
+            self.nsx_cache._uuid_dict_mappings[lrouter['uuid']] = (
+                self.nsx_cache._lrouters)
+            self.nsx_cache._lrouters[lrouter['uuid']] = (
                 {'data': lrouter,
                  'hash': hash(json.dumps(lrouter))})
-        super(NvpCacheTestCase, self).setUp()
+        super(CacheTestCase, self).setUp()
 
     def test_get_lswitches(self):
-        ls_uuids = self.nvp_cache.get_lswitches()
+        ls_uuids = self.nsx_cache.get_lswitches()
         self.assertEqual(set(ls_uuids),
                          set([ls['uuid'] for ls in LSWITCHES]))
 
     def test_get_lswitchports(self):
-        lp_uuids = self.nvp_cache.get_lswitchports()
+        lp_uuids = self.nsx_cache.get_lswitchports()
         self.assertEqual(set(lp_uuids),
                          set([lp['uuid'] for lp in LSWITCHPORTS]))
 
     def test_get_lrouters(self):
-        lr_uuids = self.nvp_cache.get_lrouters()
+        lr_uuids = self.nsx_cache.get_lrouters()
         self.assertEqual(set(lr_uuids),
                          set([lr['uuid'] for lr in LROUTERS]))
 
     def test_get_lswitches_changed_only(self):
-        ls_uuids = self.nvp_cache.get_lswitches(changed_only=True)
+        ls_uuids = self.nsx_cache.get_lswitches(changed_only=True)
         self.assertEqual(0, len(ls_uuids))
 
     def test_get_lswitchports_changed_only(self):
-        lp_uuids = self.nvp_cache.get_lswitchports(changed_only=True)
+        lp_uuids = self.nsx_cache.get_lswitchports(changed_only=True)
         self.assertEqual(0, len(lp_uuids))
 
     def test_get_lrouters_changed_only(self):
-        lr_uuids = self.nvp_cache.get_lrouters(changed_only=True)
+        lr_uuids = self.nsx_cache.get_lrouters(changed_only=True)
         self.assertEqual(0, len(lr_uuids))
 
     def _verify_update(self, new_resource, changed=True, hit=True):
-        cached_resource = self.nvp_cache[new_resource['uuid']]
+        cached_resource = self.nsx_cache[new_resource['uuid']]
         self.assertEqual(new_resource, cached_resource['data'])
         self.assertEqual(hit, cached_resource.get('hit', False))
         self.assertEqual(changed,
@@ -113,68 +113,68 @@ class NvpCacheTestCase(base.BaseTestCase):
     def test_update_lswitch_new_item(self):
         new_switch_uuid = _uuid()
         new_switch = {'uuid': new_switch_uuid, 'name': 'new_switch'}
-        self.nvp_cache.update_lswitch(new_switch)
-        self.assertIn(new_switch_uuid, self.nvp_cache._lswitches.keys())
+        self.nsx_cache.update_lswitch(new_switch)
+        self.assertIn(new_switch_uuid, self.nsx_cache._lswitches.keys())
         self._verify_update(new_switch)
 
     def test_update_lswitch_existing_item(self):
         switch = LSWITCHES[0]
         switch['name'] = 'new_name'
-        self.nvp_cache.update_lswitch(switch)
-        self.assertIn(switch['uuid'], self.nvp_cache._lswitches.keys())
+        self.nsx_cache.update_lswitch(switch)
+        self.assertIn(switch['uuid'], self.nsx_cache._lswitches.keys())
         self._verify_update(switch)
 
     def test_update_lswitchport_new_item(self):
         new_switchport_uuid = _uuid()
         new_switchport = {'uuid': new_switchport_uuid,
                           'name': 'new_switchport'}
-        self.nvp_cache.update_lswitchport(new_switchport)
+        self.nsx_cache.update_lswitchport(new_switchport)
         self.assertIn(new_switchport_uuid,
-                      self.nvp_cache._lswitchports.keys())
+                      self.nsx_cache._lswitchports.keys())
         self._verify_update(new_switchport)
 
     def test_update_lswitchport_existing_item(self):
         switchport = LSWITCHPORTS[0]
         switchport['name'] = 'new_name'
-        self.nvp_cache.update_lswitchport(switchport)
+        self.nsx_cache.update_lswitchport(switchport)
         self.assertIn(switchport['uuid'],
-                      self.nvp_cache._lswitchports.keys())
+                      self.nsx_cache._lswitchports.keys())
         self._verify_update(switchport)
 
     def test_update_lrouter_new_item(self):
         new_router_uuid = _uuid()
         new_router = {'uuid': new_router_uuid,
                       'name': 'new_router'}
-        self.nvp_cache.update_lrouter(new_router)
+        self.nsx_cache.update_lrouter(new_router)
         self.assertIn(new_router_uuid,
-                      self.nvp_cache._lrouters.keys())
+                      self.nsx_cache._lrouters.keys())
         self._verify_update(new_router)
 
     def test_update_lrouter_existing_item(self):
         router = LROUTERS[0]
         router['name'] = 'new_name'
-        self.nvp_cache.update_lrouter(router)
+        self.nsx_cache.update_lrouter(router)
         self.assertIn(router['uuid'],
-                      self.nvp_cache._lrouters.keys())
+                      self.nsx_cache._lrouters.keys())
         self._verify_update(router)
 
     def test_process_updates_initial(self):
         # Clear cache content to simulate first-time filling
-        self.nvp_cache._lswitches.clear()
-        self.nvp_cache._lswitchports.clear()
-        self.nvp_cache._lrouters.clear()
-        self.nvp_cache.process_updates(LSWITCHES, LROUTERS, LSWITCHPORTS)
+        self.nsx_cache._lswitches.clear()
+        self.nsx_cache._lswitchports.clear()
+        self.nsx_cache._lrouters.clear()
+        self.nsx_cache.process_updates(LSWITCHES, LROUTERS, LSWITCHPORTS)
         for resource in LSWITCHES + LROUTERS + LSWITCHPORTS:
             self._verify_update(resource)
 
     def test_process_updates_no_change(self):
-        self.nvp_cache.process_updates(LSWITCHES, LROUTERS, LSWITCHPORTS)
+        self.nsx_cache.process_updates(LSWITCHES, LROUTERS, LSWITCHPORTS)
         for resource in LSWITCHES + LROUTERS + LSWITCHPORTS:
             self._verify_update(resource, changed=False)
 
     def test_process_updates_with_changes(self):
         LSWITCHES[0]['name'] = 'altered'
-        self.nvp_cache.process_updates(LSWITCHES, LROUTERS, LSWITCHPORTS)
+        self.nsx_cache.process_updates(LSWITCHES, LROUTERS, LSWITCHPORTS)
         for resource in LSWITCHES + LROUTERS + LSWITCHPORTS:
             changed = (True if resource['uuid'] == LSWITCHES[0]['uuid']
                        else False)
@@ -183,7 +183,7 @@ class NvpCacheTestCase(base.BaseTestCase):
     def _test_process_updates_with_removals(self):
         lswitches = LSWITCHES[:]
         lswitch = lswitches.pop()
-        self.nvp_cache.process_updates(lswitches, LROUTERS, LSWITCHPORTS)
+        self.nsx_cache.process_updates(lswitches, LROUTERS, LSWITCHPORTS)
         for resource in LSWITCHES + LROUTERS + LSWITCHPORTS:
             hit = (False if resource['uuid'] == lswitch['uuid']
                    else True)
@@ -195,12 +195,12 @@ class NvpCacheTestCase(base.BaseTestCase):
 
     def test_process_updates_cleanup_after_delete(self):
         deleted_lswitch, lswitches = self._test_process_updates_with_removals()
-        self.nvp_cache.process_deletes()
-        self.nvp_cache.process_updates(lswitches, LROUTERS, LSWITCHPORTS)
-        self.assertNotIn(deleted_lswitch['uuid'], self.nvp_cache._lswitches)
+        self.nsx_cache.process_deletes()
+        self.nsx_cache.process_updates(lswitches, LROUTERS, LSWITCHPORTS)
+        self.assertNotIn(deleted_lswitch['uuid'], self.nsx_cache._lswitches)
 
     def _verify_delete(self, resource, deleted=True, hit=True):
-        cached_resource = self.nvp_cache[resource['uuid']]
+        cached_resource = self.nsx_cache[resource['uuid']]
         data_field = 'data_bk' if deleted else 'data'
         self.assertEqual(resource, cached_resource[data_field])
         self.assertEqual(hit, cached_resource.get('hit', False))
@@ -214,23 +214,23 @@ class NvpCacheTestCase(base.BaseTestCase):
 
     def test_process_deletes_no_change(self):
         # Mark all resources as hit
-        self._set_hit(self.nvp_cache._lswitches.values())
-        self._set_hit(self.nvp_cache._lswitchports.values())
-        self._set_hit(self.nvp_cache._lrouters.values())
-        self.nvp_cache.process_deletes()
+        self._set_hit(self.nsx_cache._lswitches.values())
+        self._set_hit(self.nsx_cache._lswitchports.values())
+        self._set_hit(self.nsx_cache._lrouters.values())
+        self.nsx_cache.process_deletes()
         for resource in LSWITCHES + LROUTERS + LSWITCHPORTS:
             self._verify_delete(resource, hit=False, deleted=False)
 
     def test_process_deletes_with_removals(self):
         # Mark all resources but one as hit
         uuid_to_delete = LSWITCHPORTS[0]['uuid']
-        self._set_hit(self.nvp_cache._lswitches.values(),
+        self._set_hit(self.nsx_cache._lswitches.values(),
                       uuid_to_delete)
-        self._set_hit(self.nvp_cache._lswitchports.values(),
+        self._set_hit(self.nsx_cache._lswitchports.values(),
                       uuid_to_delete)
-        self._set_hit(self.nvp_cache._lrouters.values(),
+        self._set_hit(self.nsx_cache._lrouters.values(),
                       uuid_to_delete)
-        self.nvp_cache.process_deletes()
+        self.nsx_cache.process_deletes()
         for resource in LSWITCHES + LROUTERS + LSWITCHPORTS:
             deleted = resource['uuid'] == uuid_to_delete
             self._verify_delete(resource, hit=False, deleted=deleted)
@@ -253,27 +253,24 @@ class SyncLoopingCallTestCase(base.BaseTestCase):
             self.assertTrue(synchronizer._synchronize_state.call_count)
 
 
-class NvpSyncTestCase(base.BaseTestCase):
+class SyncTestCase(base.BaseTestCase):
 
     def setUp(self):
-        # mock nvp api client
-        self.fc = fake_nvpapiclient.FakeClient(STUBS_PATH)
-        mock_nvpapi = mock.patch(NSXAPI_NAME, autospec=True)
+        # mock api client
+        self.fc = fake.FakeClient(STUBS_PATH)
+        mock_api = mock.patch(NSXAPI_NAME, autospec=True)
         # Avoid runs of the synchronizer looping call
         # These unit tests will excplicitly invoke synchronization
         patch_sync = mock.patch.object(sync, '_start_loopingcall')
-        self.mock_nvpapi = mock_nvpapi.start()
+        self.mock_api = mock_api.start()
         patch_sync.start()
-        self.mock_nvpapi.return_value.login.return_value = "the_cookie"
-        # Emulate tests against NVP 3.x
-        self.mock_nvpapi.return_value.get_nvp_version.return_value = (
+        self.mock_api.return_value.login.return_value = "the_cookie"
+        # Emulate tests against NSX 3.x
+        self.mock_api.return_value.get_nvp_version.return_value = (
             NvpApiClient.NVPVersion("3.1"))
 
-        def _fake_request(*args, **kwargs):
-            return self.fc.fake_request(*args, **kwargs)
-
-        self.mock_nvpapi.return_value.request.side_effect = _fake_request
-        self.fake_cluster = nsx_cluster.NSXCluster(
+        self.mock_api.return_value.request.side_effect = self.fc.fake_request
+        self.fake_cluster = cluster.NSXCluster(
             name='fake-cluster', nsx_controllers=['1.1.1.1:999'],
             default_tz_uuid=_uuid(), nsx_user='foo', nsx_password='bar')
         self.fake_cluster.api_client = NvpApiClient.NVPApiHelper(
@@ -296,16 +293,16 @@ class NvpSyncTestCase(base.BaseTestCase):
         self.mock_nm_get_plugin = mock_nm_get_plugin.start()
         self.mock_nm_get_plugin.return_value = self._plugin
         mock_nm_get_service_plugins.start()
-        super(NvpSyncTestCase, self).setUp()
+        super(SyncTestCase, self).setUp()
         self.addCleanup(self.fc.reset_all)
         self.addCleanup(patch_sync.stop)
-        self.addCleanup(mock_nvpapi.stop)
+        self.addCleanup(mock_api.stop)
         self.addCleanup(mock_nm_get_plugin.stop)
         self.addCleanup(mock_nm_get_service_plugins.stop)
 
     def tearDown(self):
         cfg.CONF.reset()
-        super(NvpSyncTestCase, self).tearDown()
+        super(SyncTestCase, self).tearDown()
 
     @contextlib.contextmanager
     def _populate_data(self, ctx, net_size=2, port_size=2, router_size=2):
@@ -456,7 +453,7 @@ class NvpSyncTestCase(base.BaseTestCase):
     def _test_sync_with_chunk_larger_maxpagesize(
         self, net_size, port_size, router_size, chunk_size, exp_calls):
         ctx = context.get_admin_context()
-        real_func = nvplib.get_single_query_page
+        real_func = nsx_utils.get_single_query_page
         sp = sync.SyncParameters(chunk_size)
         with self._populate_data(ctx, net_size=net_size,
                                  port_size=port_size,
@@ -465,7 +462,7 @@ class NvpSyncTestCase(base.BaseTestCase):
                 # The following mock is just for counting calls,
                 # but we will still run the actual function
                 with mock.patch.object(
-                    nvplib, 'get_single_query_page',
+                    nsx_utils, 'get_single_query_page',
                     side_effect=real_func) as mock_get_page:
                     self._test_sync(
                         constants.NET_STATUS_ACTIVE,
@@ -491,7 +488,7 @@ class NvpSyncTestCase(base.BaseTestCase):
             chunk_size=48, exp_calls=6)
 
     def test_sync_multi_chunk(self):
-        # The fake NVP API client cannot be used for this test
+        # The fake NSX API client cannot be used for this test
         ctx = context.get_admin_context()
         # Generate 4 networks, 1 port per network, and 4 routers
         with self._populate_data(ctx, net_size=4, port_size=1, router_size=4):
@@ -633,8 +630,8 @@ class NvpSyncTestCase(base.BaseTestCase):
             q_rtr_data = self._plugin.get_router(ctx, q_rtr_id)
             self.assertEqual(constants.NET_STATUS_DOWN, q_rtr_data['status'])
 
-    def test_sync_nvp_failure_backoff(self):
-        self.mock_nvpapi.return_value.request.side_effect = (
+    def test_sync_nsx_failure_backoff(self):
+        self.mock_api.return_value.request.side_effect = (
             NvpApiClient.RequestTimeout)
         # chunk size won't matter here
         sp = sync.SyncParameters(999)
index deebaa6c5fb530da34937dbf4c49c04cfd239376..1b8f74c164120c0467db3eca49a5939c1709f96c 100644 (file)
@@ -19,7 +19,7 @@ import mock
 
 from neutron.db import api as db_api
 from neutron.openstack.common import uuidutils
-from neutron.plugins.nicira.common import exceptions as nvp_exc
+from neutron.plugins.nicira.common import exceptions as nsx_exc
 from neutron.plugins.nicira.common import nsx_utils
 from neutron.plugins.nicira.common import utils
 from neutron.plugins.nicira import NvpApiClient
@@ -279,7 +279,7 @@ class ClusterManagementTestCase(nsx_base.NsxlibTestCase):
         with mock.patch.object(self.fake_cluster.api_client,
                                'request',
                                side_effect=NvpApiClient.ReadOnlyMode):
-            self.assertRaises(nvp_exc.MaintenanceInProgress,
+            self.assertRaises(nsx_exc.MaintenanceInProgress,
                               nvplib.do_request, cluster=self.fake_cluster)
 
     def test_cluster_method_not_implemented(self):
index e6999dd69d40a23620269a088abbfd57cb7afa59..5a5bfb1563b6735a8584487b802e7fcc7a11c700 100644 (file)
@@ -41,7 +41,7 @@ class FakeVcns(object):
         self._edge_idx = 0
         self._lswitches = {}
         self._unique_router_name = unique_router_name
-        self._fake_nvpapi = None
+        self._fake_nsx_api = None
         self.fake_firewall_dict = {}
         self.temp_firewall = {
             "firewallRules": {
@@ -54,8 +54,8 @@ class FakeVcns(object):
         self._fake_app_profiles_dict = {}
         self._fake_loadbalancer_config = {}
 
-    def set_fake_nvpapi(self, fake_nvpapi):
-        self._fake_nvpapi = fake_nvpapi
+    def set_fake_nsx_api(self, fake_nsx_api):
+        self._fake_nsx_api = fake_nsx_api
 
     def _validate_edge_name(self, name):
         for edge_id, edge in self._edges.iteritems():
@@ -237,10 +237,10 @@ class FakeVcns(object):
         return (header, response)
 
     def create_lswitch(self, lsconfig):
-        # The lswitch is created via VCNS API so the fake nvpapi wont
-        # see it. Added to fake nvpapi here.
-        if self._fake_nvpapi:
-            lswitch = self._fake_nvpapi._add_lswitch(json.dumps(lsconfig))
+        # The lswitch is created via VCNS API so the fake nsx_api will not
+        # see it. Added to fake nsx_api here.
+        if self._fake_nsx_api:
+            lswitch = self._fake_nsx_api._add_lswitch(json.dumps(lsconfig))
         else:
             lswitch = lsconfig
             lswitch['uuid'] = uuidutils.generate_uuid()
@@ -255,9 +255,9 @@ class FakeVcns(object):
         if id not in self._lswitches:
             raise Exception(_("Lswitch %s does not exist") % id)
         del self._lswitches[id]
-        if self._fake_nvpapi:
+        if self._fake_nsx_api:
             # TODO(fank): fix the hack
-            del self._fake_nvpapi._fake_lswitch_dict[id]
+            del self._fake_nsx_api._fake_lswitch_dict[id]
         header = {
             'status': 200
         }
similarity index 98%
rename from neutron/tests/unit/vmware/test_edge_router.py
rename to neutron/tests/unit/vmware/vshield/test_edge_router.py
index 87139c10528d964e80ff4e27d489f33f7e6423d7..b95a4a25dc95a92fa60958bf2de30934ce1b6bd8 100644 (file)
@@ -63,7 +63,7 @@ class ServiceRouterTestExtensionManager(object):
         return []
 
 
-class ServiceRouterTest(test_nsx_plugin.NiciraL3NatTest,
+class ServiceRouterTest(test_nsx_plugin.L3NatTest,
                         test_l3_plugin.L3NatTestCaseMixin):
 
     def vcns_patch(self):
@@ -115,7 +115,7 @@ class ServiceRouterTest(test_nsx_plugin.NiciraL3NatTest,
             service_plugins=service_plugins,
             ext_mgr=ext_mgr)
 
-        self.fc2.set_fake_nvpapi(self.fc)
+        self.fc2.set_fake_nsx_api(self.fc)
         self.addCleanup(self.fc2.reset_all)
         self.addCleanup(mock.patch.stopall)
 
@@ -158,7 +158,7 @@ class ServiceRouterTest(test_nsx_plugin.NiciraL3NatTest,
 
 
 class ServiceRouterTestCase(ServiceRouterTest,
-                            test_nsx_plugin.TestNiciraL3NatTestCase):
+                            test_nsx_plugin.TestL3NatTestCase):
 
     def test_router_create(self):
         name = 'router1'
index cd6764b8191415412b2ebd0e8afa24f11c5b0d8b..71e49bd42c90b932f7e12030b68c115aaab22fdd 100644 (file)
@@ -14,7 +14,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 #
-# @author: linb, VMware
 
 import contextlib
 import mock
@@ -70,8 +69,7 @@ class VcnsDriverTestCase(test_db_firewall.FirewallPluginDbTestCase,
         self.mock_vcns = mock.patch(VCNS_NAME, autospec=True)
         self.vcns_firewall_patch()
 
-        self.nvp_service_plugin_callback = mock.Mock()
-        self.driver = vcns_driver.VcnsDriver(self.nvp_service_plugin_callback)
+        self.driver = vcns_driver.VcnsDriver(mock.Mock())
 
         super(VcnsDriverTestCase, self).setUp()
         self.addCleanup(self.fc2.reset_all)
similarity index 99%
rename from neutron/tests/unit/vmware/test_fwaas_plugin.py
rename to neutron/tests/unit/vmware/vshield/test_fwaas_plugin.py
index 9f0c226aeb5b4da8c8507755e31837c5a5406340..7ce6fb915db4f29d82a836ca78a4cb1a342ae382 100644 (file)
@@ -27,7 +27,7 @@ from neutron import manager
 from neutron.openstack.common import uuidutils
 from neutron.plugins.common import constants as const
 from neutron.tests.unit.db.firewall import test_db_firewall
-from neutron.tests.unit.vmware import test_edge_router
+from neutron.tests.unit.vmware.vshield import test_edge_router
 
 _uuid = uuidutils.generate_uuid
 
similarity index 99%
rename from neutron/tests/unit/vmware/test_lbaas_plugin.py
rename to neutron/tests/unit/vmware/vshield/test_lbaas_plugin.py
index 0c9cc8408c542c8dce15949865d0841eb906b9c3..f9a8a229667145a40072b72b46e27094d2144d72 100644 (file)
@@ -14,7 +14,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 #
-# @author: linb, VMware
 
 import contextlib
 
@@ -27,7 +26,7 @@ from neutron.extensions import loadbalancer as lb
 from neutron import manager
 from neutron.openstack.common import uuidutils
 from neutron.tests.unit.db.loadbalancer import test_db_loadbalancer
-from neutron.tests.unit.vmware import test_edge_router
+from neutron.tests.unit.vmware.vshield import test_edge_router
 
 _uuid = uuidutils.generate_uuid
 
index ff5ba692dfb1df4634230c3ffaf5b58bcbdff587..4cc2ea4b83cd38d743a57db32667059ed82ac4d4 100644 (file)
@@ -22,10 +22,8 @@ from neutron.common import config as n_config
 from neutron import context
 from neutron.openstack.common import uuidutils
 from neutron.plugins.nicira.dbexts import vcns_db
-from neutron.plugins.nicira.vshield import (
-    vcns_driver)
-from neutron.plugins.nicira.vshield.common import (
-    exceptions as vcns_exc)
+from neutron.plugins.nicira.vshield.common import exceptions as vcns_exc
+from neutron.plugins.nicira.vshield import vcns_driver
 from neutron.tests.unit.db.loadbalancer import test_db_loadbalancer
 from neutron.tests.unit.vmware import get_fake_conf
 from neutron.tests.unit.vmware import VCNS_NAME
@@ -85,8 +83,7 @@ class VcnsDriverTestCase(test_db_loadbalancer.LoadBalancerPluginDbTestCase):
         self.mock_vcns = mock.patch(VCNS_NAME, autospec=True)
         self.vcns_loadbalancer_patch()
 
-        self.nvp_service_plugin_callback = mock.Mock()
-        self.driver = vcns_driver.VcnsDriver(self.nvp_service_plugin_callback)
+        self.driver = vcns_driver.VcnsDriver(mock.Mock())
 
         super(VcnsDriverTestCase, self).setUp()
         self.addCleanup(self.fc2.reset_all)
similarity index 99%
rename from neutron/tests/unit/vmware/test_vcns_driver.py
rename to neutron/tests/unit/vmware/vshield/test_vcns_driver.py
index 9ed11466dec03151ce242f3c8588b42ae8428368..ea889b7e765465d4abf16b08f0a5bf44b615915c 100644 (file)
@@ -19,8 +19,7 @@ from eventlet import greenthread
 import mock
 
 from neutron.common import config as n_config
-from neutron.plugins.nicira.vshield.common import (
-    constants as vcns_const)
+from neutron.plugins.nicira.vshield.common import constants as vcns_const
 from neutron.plugins.nicira.vshield.common.constants import RouterStatus
 from neutron.plugins.nicira.vshield.tasks.constants import TaskState
 from neutron.plugins.nicira.vshield.tasks.constants import TaskStatus