]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
cisco: Do not change supported_extension_aliases directly
authorAkihiro Motoki <motoki@da.jp.nec.com>
Fri, 14 Mar 2014 23:51:12 +0000 (08:51 +0900)
committerAkihiro Motoki <motoki@da.jp.nec.com>
Fri, 14 Mar 2014 23:56:00 +0000 (08:56 +0900)
cisco network plugin extends supported_extension_aliases in __init__
but supported_exntension_aliases is a class attribute and it is not
reset to the original even after each unit test finished.
To avoid this this patch copies supported_extension_aliases to
an instance attribute and extends it to ensure the class variable
is not changed. This reduces unnecessary logs in unit tests.

Change-Id: I3a7313f5ca2d10b1ae6ea961d9d05611aee055c0
Closes-Bug: #1292742

neutron/plugins/cisco/network_plugin.py

index 7d500a3d590f68d7f0579a4944808a4e64b1af4c..d3a43691481aeed35ce53ac1a599e5754f11bbdf 100644 (file)
@@ -34,7 +34,7 @@ LOG = logging.getLogger(__name__)
 
 class PluginV2(db_base_plugin_v2.NeutronDbPluginV2):
     """Meta-Plugin with v2 API support for multiple sub-plugins."""
-    supported_extension_aliases = ["credential", "Cisco qos"]
+    _supported_extension_aliases = ["credential", "Cisco qos"]
     _methods_to_delegate = ['create_network',
                             'delete_network', 'update_network', 'get_network',
                             'get_networks',
@@ -65,6 +65,15 @@ class PluginV2(db_base_plugin_v2.NeutronDbPluginV2):
         cexc.VlanIDNotFound: wexc.HTTPNotFound,
     }
 
+    @property
+    def supported_extension_aliases(self):
+        if not hasattr(self, '_aliases'):
+            aliases = self._supported_extension_aliases[:]
+            if hasattr(self._model, "supported_extension_aliases"):
+                aliases.extend(self._model.supported_extension_aliases)
+            self._aliases = aliases
+        return self._aliases
+
     def __init__(self):
         """Load the model class."""
         self._model = importutils.import_object(config.CISCO.model_class)
@@ -73,10 +82,6 @@ class PluginV2(db_base_plugin_v2.NeutronDbPluginV2):
         self.__native_bulk_support = getattr(self._model,
                                              native_bulk_attr_name, False)
 
-        if hasattr(self._model, "supported_extension_aliases"):
-            self.supported_extension_aliases.extend(
-                self._model.supported_extension_aliases)
-
         neutron_extensions.append_api_extensions_path(extensions.__path__)
 
         # Extend the fault map