]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Remove 'verbose' API capability
authorSalvatore Orlando <salv.orlando@gmail.com>
Fri, 24 Aug 2012 13:06:06 +0000 (06:06 -0700)
committerSalvatore Orlando <salv.orlando@gmail.com>
Fri, 24 Aug 2012 13:07:41 +0000 (06:07 -0700)
Fixes bug 1040568

Remove parsing of "verbose" query param from API layer
Remove "verbose" fetching from db in db_base_plugin
Remove "verbose" parameter from plugin methods

Change-Id: I5826fd64c7d8c48f4da605f32d21d96280c4c9f2

16 files changed:
quantum/api/v2/base.py
quantum/db/db_base_plugin_v2.py
quantum/db/l3_db.py
quantum/extensions/l3.py
quantum/plugins/cisco/models/network_multi_blade_v2.py
quantum/plugins/cisco/models/virt_phy_sw_v2.py
quantum/plugins/cisco/network_plugin.py
quantum/plugins/linuxbridge/lb_quantum_plugin.py
quantum/plugins/metaplugin/meta_quantum_plugin.py
quantum/plugins/nec/db/nec_plugin_base.py
quantum/plugins/nicira/nicira_nvp_plugin/QuantumPlugin.py
quantum/plugins/openvswitch/ovs_quantum_plugin.py
quantum/quantum_plugin_base_v2.py
quantum/tests/unit/test_api_v2.py
quantum/tests/unit/test_l3_plugin.py
quantum/tests/unit/test_policy.py

index 9800714dc26e74a06336c84035cc0002806a99ba..b743cc447dabcf52f60004298c4ed45855adc89f 100644 (file)
@@ -21,7 +21,6 @@ import webob.exc
 from quantum.api.v2 import attributes
 from quantum.api.v2 import resource as wsgi_resource
 from quantum.common import exceptions
-from quantum.common import utils
 from quantum.openstack.common import cfg
 from quantum.openstack.common.notifier import api as notifier_api
 from quantum import policy
@@ -70,7 +69,7 @@ def _filters(request, attr_info):
 
     Returns a dict of lists for the filters:
 
-    check=a&check=b&name=Bob&verbose=True&verbose=other
+    check=a&check=b&name=Bob&
 
     becomes
 
@@ -78,7 +77,7 @@ def _filters(request, attr_info):
     """
     res = {}
     for key in set(request.GET):
-        if key in ('verbose', 'fields'):
+        if key == 'fields':
             continue
         values = [v for v in request.GET.getall(key) if v]
         if not attr_info.get(key) and values:
@@ -100,38 +99,6 @@ def _filters(request, attr_info):
     return res
 
 
-def _verbose(request):
-    """
-    Determines the verbose fields for a request
-
-    Returns a list of items that are requested to be verbose:
-
-    check=a&check=b&name=Bob&verbose=True&verbose=other
-
-    returns
-
-    [True]
-
-    and
-
-    check=a&check=b&name=Bob&verbose=other
-
-    returns
-
-    ['other']
-
-    """
-    verbose = [utils.boolize(v) for v in request.GET.getall('verbose') if v]
-
-    # NOTE(jkoelker) verbose=<bool> trumps all other verbose settings
-    if True in verbose:
-        return True
-    elif False in verbose:
-        return False
-
-    return verbose
-
-
 class Controller(object):
 
     def __init__(self, plugin, collection, resource, attr_info,
@@ -191,7 +158,6 @@ class Controller(object):
         # plugin before returning.
         original_fields, fields_to_add = self._do_field_list(_fields(request))
         kwargs = {'filters': _filters(request, self._attr_info),
-                  'verbose': _verbose(request),
                   'fields': original_fields}
         obj_getter = getattr(self._plugin, "get_%s" % self._collection)
         obj_list = obj_getter(request.context, **kwargs)
@@ -205,15 +171,13 @@ class Controller(object):
                                         "get_%s" % self._resource,
                                         obj,
                                         plugin=self._plugin)]
-
         return {self._collection: [self._view(obj,
                                               fields_to_strip=fields_to_add)
                                    for obj in obj_list]}
 
     def _item(self, request, id, do_authz=False, field_list=None):
         """Retrieves and formats a single element of the requested entity"""
-        kwargs = {'verbose': _verbose(request),
-                  'fields': field_list}
+        kwargs = {'fields': field_list}
         action = "get_%s" % self._resource
         obj_getter = getattr(self._plugin, action)
         obj = obj_getter(request.context, id, **kwargs)
index 8750a26ebe57e44ac21550227c02b5c0a3f13abc..4dac991a4ee1bfaf4fc6dba957ea8c5477c00029 100644 (file)
@@ -82,21 +82,13 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
                 query = query.filter(model.tenant_id == context.tenant_id)
         return query
 
-    def _get_by_id(self, context, model, id, joins=(), verbose=None):
+    def _get_by_id(self, context, model, id):
         query = self._model_query(context, model)
-        if verbose:
-            if verbose and isinstance(verbose, list):
-                options = [orm.joinedload(join) for join in joins
-                           if join in verbose]
-            else:
-                options = [orm.joinedload(join) for join in joins]
-            query = query.options(*options)
         return query.filter_by(id=id).one()
 
-    def _get_network(self, context, id, verbose=None):
+    def _get_network(self, context, id):
         try:
-            network = self._get_by_id(context, models_v2.Network, id,
-                                      joins=('subnets',), verbose=verbose)
+            network = self._get_by_id(context, models_v2.Network, id)
         except exc.NoResultFound:
             raise q_exc.NetworkNotFound(net_id=id)
         except exc.MultipleResultsFound:
@@ -104,10 +96,9 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
             raise q_exc.NetworkNotFound(net_id=id)
         return network
 
-    def _get_subnet(self, context, id, verbose=None):
+    def _get_subnet(self, context, id):
         try:
-            subnet = self._get_by_id(context, models_v2.Subnet, id,
-                                     verbose=verbose)
+            subnet = self._get_by_id(context, models_v2.Subnet, id)
         except exc.NoResultFound:
             raise q_exc.SubnetNotFound(subnet_id=id)
         except exc.MultipleResultsFound:
@@ -115,10 +106,9 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
             raise q_exc.SubnetNotFound(subnet_id=id)
         return subnet
 
-    def _get_port(self, context, id, verbose=None):
+    def _get_port(self, context, id):
         try:
-            port = self._get_by_id(context, models_v2.Port, id,
-                                   verbose=verbose)
+            port = self._get_by_id(context, models_v2.Port, id)
         except exc.NoResultFound:
             # NOTE(jkoelker) The PortNotFound exceptions requires net_id
             #                kwarg in order to set the message correctly
@@ -156,7 +146,7 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         return resource
 
     def _get_collection(self, context, model, dict_func, filters=None,
-                        fields=None, verbose=None):
+                        fields=None):
         collection = self._model_query(context, model)
         if filters:
             for key, value in filters.iteritems():
@@ -796,15 +786,14 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
             subnets_qry.filter_by(network_id=id).delete()
             context.session.delete(network)
 
-    def get_network(self, context, id, fields=None, verbose=None):
-        network = self._get_network(context, id, verbose=verbose)
+    def get_network(self, context, id, fields=None):
+        network = self._get_network(context, id)
         return self._make_network_dict(network, fields)
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         return self._get_collection(context, models_v2.Network,
                                     self._make_network_dict,
-                                    filters=filters, fields=fields,
-                                    verbose=verbose)
+                                    filters=filters, fields=fields)
 
     def create_subnet_bulk(self, context, subnets):
         return self._create_bulk('subnet', context, subnets)
@@ -955,15 +944,14 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
 
             context.session.delete(subnet)
 
-    def get_subnet(self, context, id, fields=None, verbose=None):
-        subnet = self._get_subnet(context, id, verbose=verbose)
+    def get_subnet(self, context, id, fields=None):
+        subnet = self._get_subnet(context, id)
         return self._make_subnet_dict(subnet, fields)
 
-    def get_subnets(self, context, filters=None, fields=None, verbose=None):
+    def get_subnets(self, context, filters=None, fields=None):
         return self._get_collection(context, models_v2.Subnet,
                                     self._make_subnet_dict,
-                                    filters=filters, fields=fields,
-                                    verbose=verbose)
+                                    filters=filters, fields=fields)
 
     def create_port_bulk(self, context, ports):
         return self._create_bulk('port', context, ports)
@@ -1077,16 +1065,15 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
                                                   port_id=id)
             context.session.delete(port)
 
-    def get_port(self, context, id, fields=None, verbose=None):
-        port = self._get_port(context, id, verbose=verbose)
+    def get_port(self, context, id, fields=None):
+        port = self._get_port(context, id)
         return self._make_port_dict(port, fields)
 
-    def get_ports(self, context, filters=None, fields=None, verbose=None):
+    def get_ports(self, context, filters=None, fields=None):
         fixed_ips = filters.pop('fixed_ips', []) if filters else []
         ports = self._get_collection(context, models_v2.Port,
                                      self._make_port_dict,
-                                     filters=filters, fields=fields,
-                                     verbose=verbose)
+                                     filters=filters, fields=fields)
 
         if ports and fixed_ips:
             filtered_ports = []
index 84f6a59d44239fa8ac8c504f1277e7bc2d8e83f6..f33b76bfd13d0a5417298d7973ea18e8b22d6648 100644 (file)
@@ -77,9 +77,9 @@ class FloatingIP(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
 class L3_NAT_db_mixin(l3.RouterPluginBase):
     """Mixin class to add L3/NAT router methods to db_plugin_base_v2"""
 
-    def _get_router(self, context, id, verbose=None):
+    def _get_router(self, context, id):
         try:
-            router = self._get_by_id(context, Router, id, verbose=verbose)
+            router = self._get_by_id(context, Router, id)
         except exc.NoResultFound:
             raise l3.RouterNotFound(router_id=id)
         except exc.MultipleResultsFound:
@@ -191,15 +191,14 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):
             # thanks to cascading on the ORM relationship
             context.session.delete(router)
 
-    def get_router(self, context, id, fields=None, verbose=None):
-        router = self._get_router(context, id, verbose=verbose)
+    def get_router(self, context, id, fields=None):
+        router = self._get_router(context, id)
         return self._make_router_dict(router, fields)
 
-    def get_routers(self, context, filters=None, fields=None, verbose=None):
+    def get_routers(self, context, filters=None, fields=None):
         return self._get_collection(context, Router,
                                     self._make_router_dict,
-                                    filters=filters, fields=fields,
-                                    verbose=verbose)
+                                    filters=filters, fields=fields)
 
     def _check_for_dup_router_subnet(self, context, router_id,
                                      network_id, subnet_id):
@@ -315,10 +314,9 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):
                                          "interface on subnet %(subnet_id)s"
                                          % locals())
 
-    def _get_floatingip(self, context, id, verbose=None):
+    def _get_floatingip(self, context, id):
         try:
-            floatingip = self._get_by_id(context, FloatingIP, id,
-                                         verbose=verbose)
+            floatingip = self._get_by_id(context, FloatingIP, id)
         except exc.NoResultFound:
             raise l3.FloatingIPNotFound(floatingip_id=id)
         except exc.MultipleResultsFound:
@@ -508,16 +506,14 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):
             context.session.delete(floatingip)
         self.delete_port(context, floatingip['floating_port_id'])
 
-    def get_floatingip(self, context, id, fields=None, verbose=None):
-        floatingip = self._get_floatingip(context, id, verbose=verbose)
+    def get_floatingip(self, context, id, fields=None):
+        floatingip = self._get_floatingip(context, id)
         return self._make_floatingip_dict(floatingip, fields)
 
-    def get_floatingips(self, context, filters=None, fields=None,
-                        verbose=None):
+    def get_floatingips(self, context, filters=None, fields=None):
         return self._get_collection(context, FloatingIP,
                                     self._make_floatingip_dict,
-                                    filters=filters, fields=fields,
-                                    verbose=verbose)
+                                    filters=filters, fields=fields)
 
     def disassociate_floatingips(self, context, port_id):
         with context.session.begin(subtransactions=True):
index 1ee5e8246133ac6fe5c34dd585a76e075383c83d..88dce76e383d96c1fd63f55545dbf7240f8c7ba6 100644 (file)
@@ -169,7 +169,7 @@ class RouterPluginBase(object):
         pass
 
     @abstractmethod
-    def get_router(self, context, id, fields=None, verbose=None):
+    def get_router(self, context, id, fields=None):
         pass
 
     @abstractmethod
@@ -177,7 +177,7 @@ class RouterPluginBase(object):
         pass
 
     @abstractmethod
-    def get_routers(self, context, filters=None, fields=None, verbose=None):
+    def get_routers(self, context, filters=None, fields=None):
         pass
 
     @abstractmethod
@@ -197,7 +197,7 @@ class RouterPluginBase(object):
         pass
 
     @abstractmethod
-    def get_floatingip(self, context, id, fields=None, verbose=None):
+    def get_floatingip(self, context, id, fields=None):
         pass
 
     @abstractmethod
@@ -205,6 +205,5 @@ class RouterPluginBase(object):
         pass
 
     @abstractmethod
-    def get_floatingips(self, context, filters=None, fields=None,
-                        verbose=None):
+    def get_floatingips(self, context, filters=None, fields=None):
         pass
index 83399ee19599a324d268eb0dce9d1345a95678b3..b0442deb507385e79d757ab3b3149f11a8dead6f 100644 (file)
@@ -148,11 +148,11 @@ class NetworkMultiBladeV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
             # TODO (Sumit): Check if we need to perform any rollback here
             raise
 
-    def get_network(self, context, id, fields=None, verbose=None):
+    def get_network(self, context, id, fields=None):
         """Currently there is no processing required for the device plugins"""
         pass
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         """Currently there is no processing required for the device plugins"""
         pass
 
@@ -210,11 +210,11 @@ class NetworkMultiBladeV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
             # TODO (Sumit): Check if we need to perform any rollback here
             raise
 
-    def get_port(self, context, id, fields=None, verbose=None):
+    def get_port(self, context, id, fields=None):
         """Currently there is no processing required for the device plugins"""
         pass
 
-    def get_ports(self, context, filters=None, fields=None, verbose=None):
+    def get_ports(self, context, filters=None, fields=None):
         """Currently there is no processing required for the device plugins"""
         pass
 
@@ -244,7 +244,7 @@ class NetworkMultiBladeV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         """Currently there is no processing required for the device plugins"""
         pass
 
-    def get_subnet(self, context, id, fields=None, verbose=None):
+    def get_subnet(self, context, id, fields=None):
         """Currently there is no processing required for the device plugins"""
         pass
 
@@ -252,7 +252,7 @@ class NetworkMultiBladeV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         """Currently there is no processing required for the device plugins"""
         pass
 
-    def get_subnets(self, context, filters=None, fields=None, verbose=None):
+    def get_subnets(self, context, filters=None, fields=None):
         """Currently there is no processing required for the device plugins"""
         pass
 
index 2d0b14fe91e1eaf19e305e191ad38d0026f82ab1..626baeff5899304c3595f69878fb33c320a9a6be 100644 (file)
@@ -251,11 +251,11 @@ class VirtualPhysicalSwitchModelV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         except:
             raise
 
-    def get_network(self, context, id, fields=None, verbose=None):
+    def get_network(self, context, id, fields=None):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
@@ -263,11 +263,11 @@ class VirtualPhysicalSwitchModelV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
-    def get_port(self, context, id, fields=None, verbose=None):
+    def get_port(self, context, id, fields=None):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
-    def get_ports(self, context, filters=None, fields=None, verbose=None):
+    def get_ports(self, context, filters=None, fields=None):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
@@ -287,7 +287,7 @@ class VirtualPhysicalSwitchModelV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
-    def get_subnet(self, context, id, fields=None, verbose=None):
+    def get_subnet(self, context, id, fields=None):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
@@ -295,6 +295,6 @@ class VirtualPhysicalSwitchModelV2(quantum_plugin_base_v2.QuantumPluginBaseV2):
         """For this model this method will be delegated to vswitch plugin"""
         pass
 
-    def get_subnets(self, context, filters=None, fields=None, verbose=None):
+    def get_subnets(self, context, filters=None, fields=None):
         """For this model this method will be delegated to vswitch plugin"""
         pass
index 38fe98ddd163fbafe6ae624ac88e0b82f1c1d983..b3ce9070828ec5deae2ebc09d187cc4d436f012c 100644 (file)
@@ -150,21 +150,19 @@ class PluginV2(db_base_plugin_v2.QuantumDbPluginV2):
         except:
             raise
 
-    def get_network(self, context, id, fields=None, verbose=None):
+    def get_network(self, context, id, fields=None):
         """
         Gets a particular network
         """
         LOG.debug("get_network() called\n")
-        return super(PluginV2, self).get_network(context, id,
-                                                 fields, verbose)
+        return super(PluginV2, self).get_network(context, id, fields)
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         """
         Gets all networks
         """
         LOG.debug("get_networks() called\n")
-        return super(PluginV2, self).get_networks(context, filters,
-                                                  fields, verbose)
+        return super(PluginV2, self).get_networks(context, filters, fields)
 
     def create_port(self, context, port):
         """
index e55fe55a072dbf5aa3fb38dfcdf92141f0cca333..7ec7c3fe8960d4ac9ed4f620183b677a51f7bd3a 100644 (file)
@@ -330,15 +330,14 @@ class LinuxBridgePluginV2(db_base_plugin_v2.QuantumDbPluginV2,
         if self.agent_rpc:
             self.notifier.network_delete(self.rpc_context, id)
 
-    def get_network(self, context, id, fields=None, verbose=None):
-        net = super(LinuxBridgePluginV2, self).get_network(context, id,
-                                                           None, verbose)
+    def get_network(self, context, id, fields=None):
+        net = super(LinuxBridgePluginV2, self).get_network(context, id, None)
         self._extend_network_dict(context, net)
         return self._fields(net, fields)
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         nets = super(LinuxBridgePluginV2, self).get_networks(context, filters,
-                                                             None, verbose)
+                                                             None)
         for net in nets:
             self._extend_network_dict(context, net)
         # TODO(rkukura): Filter on extended attributes.
index 7b2300bd6ae9349f258f736c4fbaf4c3797dbcad..1cb6dbfbdaebd4bf64d6ef7ac57cfd613e3cfd46 100644 (file)
@@ -144,16 +144,16 @@ class MetaPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
         plugin = self._get_plugin(flavor)
         return plugin.delete_network(context, id)
 
-    def get_network(self, context, id, fields=None, verbose=None):
+    def get_network(self, context, id, fields=None):
         flavor = meta_db_v2.get_flavor_by_network(id)
         plugin = self._get_plugin(flavor)
-        net = plugin.get_network(context, id, fields, verbose)
+        net = plugin.get_network(context, id, fields)
         if not fields or 'flavor:id' in fields:
             self._extend_network_dict(context, net)
         return net
 
     def get_networks_with_flavor(self, context, filters=None,
-                                 fields=None, verbose=None):
+                                 fields=None):
         collection = self._model_query(context, models_v2.Network)
         collection = collection.join(Flavor,
                                      models_v2.Network.id == Flavor.network_id)
@@ -167,11 +167,9 @@ class MetaPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
                     collection = collection.filter(column.in_(value))
         return [self._make_network_dict(c, fields) for c in collection.all()]
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
-        nets = self.get_networks_with_flavor(context, filters,
-                                             None, verbose)
-        return [self.get_network(context, net['id'],
-                                 fields, verbose)
+    def get_networks(self, context, filters=None, fields=None):
+        nets = self.get_networks_with_flavor(context, filters, None)
+        return [self.get_network(context, net['id'], fields)
                 for net in nets]
 
     def _get_flavor_by_network_id(self, network_id):
index a051abf6ce76d01267097cde26c3501e9b1e34a0..65e59c657f9c2c6c7897bd13bea3137827328ccd 100644 (file)
@@ -52,10 +52,9 @@ class NECPluginV2Base(db_base_plugin_v2.QuantumDbPluginV2):
                'status': packet_filter['status']}
         return self._fields(res, fields)
 
-    def _get_packet_filter(self, context, id, verbose=None):
+    def _get_packet_filter(self, context, id):
         try:
-            packet_filter = self._get_by_id(context, nmodels.PacketFilter, id,
-                                            verbose=verbose)
+            packet_filter = self._get_by_id(context, nmodels.PacketFilter, id)
         except exc.NoResultFound:
             raise q_exc.PacketFilterNotFound(id=id)
         except exc.MultipleResultsFound:
@@ -63,18 +62,16 @@ class NECPluginV2Base(db_base_plugin_v2.QuantumDbPluginV2):
             raise q_exc.PacketFilterNotFound(id=id)
         return packet_filter
 
-    def get_packet_filter(self, context, id, fields=None, verbose=None):
-        packet_filter = self._get_packet_filter(context, id, verbose=verbose)
+    def get_packet_filter(self, context, id, fields=None):
+        packet_filter = self._get_packet_filter(context, id)
         return self._make_packet_filter_dict(packet_filter, fields)
 
-    def get_packet_filters(self, context, filters=None, fields=None,
-                           verbose=None):
+    def get_packet_filters(self, context, filters=None, fields=None):
         return self._get_collection(context,
                                     nmodels.PacketFilter,
                                     self._make_packet_filter_dict,
                                     filters=filters,
-                                    fields=fields,
-                                    verbose=verbose)
+                                    fields=fields)
 
     def create_packet_filter(self, context, packet_filter):
         pf = packet_filter['packet_filter']
index f93bbbae6a09c3c454583c6d88b6c36461ad1c2c..46dcfc1814abecf78ce2a1a11cae14367b03e373 100644 (file)
@@ -358,7 +358,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
         LOG.debug("Returning pairs for network: %s" % (pairs))
         return pairs
 
-    def get_network(self, context, id, fields=None, verbose=None):
+    def get_network(self, context, id, fields=None):
         """
         Retrieves all attributes of the network, NOT including
         the ports of that network.
@@ -387,7 +387,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
         # the context, as with shared networks context.tenant_id and
         # network['tenant_id'] might differ on GETs
         # goto to the plugin DB and fecth the network
-        network = self._get_network(context, id, verbose)
+        network = self._get_network(context, id)
         # TODO(salvatore-orlando): verify whether the query on os_tid is
         # redundant or not.
         if context.is_admin is False:
@@ -429,7 +429,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
                   context.tenant_id, d))
         return d
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         """
         Retrieves all attributes of the network, NOT including
         the ports of that network.
@@ -567,7 +567,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
                   context.tenant_id)
         return super(NvpPluginV2, self).update_network(context, id, network)
 
-    def get_ports(self, context, filters=None, fields=None, verbose=None):
+    def get_ports(self, context, filters=None, fields=None):
         """
         Returns all ports from given tenant
 
@@ -806,7 +806,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
         LOG.debug("delete_port() completed for tenant: %s" % context.tenant_id)
         return  super(NvpPluginV2, self).delete_port(context, id)
 
-    def get_port(self, context, id, fields=None, verbose=None):
+    def get_port(self, context, id, fields=None):
         """
         This method allows the user to retrieve a remote interface
         that is attached to this particular port.
@@ -823,8 +823,7 @@ class NvpPluginV2(db_base_plugin_v2.QuantumDbPluginV2):
         :raises: exception.NetworkNotFound
         """
 
-        quantum_db = super(NvpPluginV2, self).get_port(context, id, fields,
-                                                       verbose)
+        quantum_db = super(NvpPluginV2, self).get_port(context, id, fields)
 
         port, cluster = (
             nvplib.get_port_by_quantum_tag(self.clusters,
index 0d8bd09ba2f75e473e9a420ed3323afe639feb25..335f0ac10fe8a7ea86371c8e56eb54e7f459bbce 100644 (file)
@@ -338,15 +338,14 @@ class OVSQuantumPluginV2(db_base_plugin_v2.QuantumDbPluginV2,
             self.notifier.network_delete(self.context, id)
         return result
 
-    def get_network(self, context, id, fields=None, verbose=None):
-        net = super(OVSQuantumPluginV2, self).get_network(context, id,
-                                                          None, verbose)
+    def get_network(self, context, id, fields=None):
+        net = super(OVSQuantumPluginV2, self).get_network(context, id, None)
         self._extend_network_dict(context, net)
         return self._fields(net, fields)
 
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         nets = super(OVSQuantumPluginV2, self).get_networks(context, filters,
-                                                            None, verbose)
+                                                            None)
         for net in nets:
             self._extend_network_dict(context, net)
         # TODO(rkukura): Filter on extended attributes.
index 5bd084cbf2c7e040151d225aad3c7ff3511e850c..f503b1e5cb61d3cca693bb1821780e0d614f9793 100644 (file)
@@ -66,7 +66,7 @@ class QuantumPluginBaseV2(object):
         pass
 
     @abstractmethod
-    def get_subnet(self, context, id, fields=None, verbose=None):
+    def get_subnet(self, context, id, fields=None):
         pass
 
     @abstractmethod
@@ -74,7 +74,7 @@ class QuantumPluginBaseV2(object):
         pass
 
     @abstractmethod
-    def get_subnets(self, context, filters=None, fields=None, verbose=None):
+    def get_subnets(self, context, filters=None, fields=None):
         pass
 
     @abstractmethod
@@ -105,11 +105,11 @@ class QuantumPluginBaseV2(object):
         pass
 
     @abstractmethod
-    def get_network(self, context, id, fields=None, verbose=None):
+    def get_network(self, context, id, fields=None):
         pass
 
     @abstractmethod
-    def get_networks(self, context, filters=None, fields=None, verbose=None):
+    def get_networks(self, context, filters=None, fields=None):
         pass
 
     @abstractmethod
@@ -188,9 +188,9 @@ class QuantumPluginBaseV2(object):
         pass
 
     @abstractmethod
-    def get_port(self, context, id, fields=None, verbose=None):
+    def get_port(self, context, id, fields=None):
         pass
 
     @abstractmethod
-    def get_ports(self, context, filters=None, fields=None, verbose=None):
+    def get_ports(self, context, filters=None, fields=None):
         pass
index 2eff401e28ea1e2adf95c97e571b79d9e2ffbee3..621a257fabbbebfc517dd798f76e7fb21f6c4694 100644 (file)
@@ -165,77 +165,6 @@ class APIv2TestCase(APIv2TestBase):
     #                raises without being caught. Using unittest2
     #                or dropping 2.6 support so we can use addCleanup
     #                will get around this.
-    def test_verbose_attr(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': 'foo'})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=['foo'])
-
-    def test_multiple_verbose_attr(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': ['foo', 'bar']})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=['foo',
-                                                               'bar'])
-
-    def test_verbose_false_str(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': 'false'})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=False)
-
-    def test_verbose_true_str(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': 'true'})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=True)
-
-    def test_verbose_true_trump_attr(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': ['true', 'foo']})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=True)
-
-    def test_verbose_false_trump_attr(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': ['false', 'foo']})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=False)
-
-    def test_verbose_true_trump_false(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'verbose': ['true', 'false']})
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=mock.ANY,
-                                                      fields=mock.ANY,
-                                                      verbose=True)
-
     def _do_field_list(self, resource, base_fields):
         attr_info = attributes.RESOURCE_ATTRIBUTE_MAP[resource]
         policy_attrs = [name for (name, info) in attr_info.items()
@@ -252,8 +181,7 @@ class APIv2TestCase(APIv2TestBase):
         fields = self._do_field_list('networks', ['foo'])
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=mock.ANY,
-                                                      fields=fields,
-                                                      verbose=mock.ANY)
+                                                      fields=fields)
 
     def test_fields_multiple(self):
         instance = self.plugin.return_value
@@ -263,8 +191,7 @@ class APIv2TestCase(APIv2TestBase):
         self.api.get(_get_path('networks'), {'fields': ['foo', 'bar']})
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=mock.ANY,
-                                                      fields=fields,
-                                                      verbose=mock.ANY)
+                                                      fields=fields)
 
     def test_fields_multiple_with_empty(self):
         instance = self.plugin.return_value
@@ -274,8 +201,7 @@ class APIv2TestCase(APIv2TestBase):
         self.api.get(_get_path('networks'), {'fields': ['foo', '']})
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=mock.ANY,
-                                                      fields=fields,
-                                                      verbose=mock.ANY)
+                                                      fields=fields)
 
     def test_fields_empty(self):
         instance = self.plugin.return_value
@@ -284,8 +210,7 @@ class APIv2TestCase(APIv2TestBase):
         self.api.get(_get_path('networks'), {'fields': ''})
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=mock.ANY,
-                                                      fields=[],
-                                                      verbose=mock.ANY)
+                                                      fields=[])
 
     def test_fields_multiple_empty(self):
         instance = self.plugin.return_value
@@ -294,8 +219,7 @@ class APIv2TestCase(APIv2TestBase):
         self.api.get(_get_path('networks'), {'fields': ['', '']})
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=mock.ANY,
-                                                      fields=[],
-                                                      verbose=mock.ANY)
+                                                      fields=[])
 
     def test_filters(self):
         instance = self.plugin.return_value
@@ -305,8 +229,7 @@ class APIv2TestCase(APIv2TestBase):
         filters = {'foo': ['bar']}
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=mock.ANY)
+                                                      fields=mock.ANY)
 
     def test_filters_empty(self):
         instance = self.plugin.return_value
@@ -316,8 +239,7 @@ class APIv2TestCase(APIv2TestBase):
         filters = {}
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=mock.ANY)
+                                                      fields=mock.ANY)
 
     def test_filters_multiple_empty(self):
         instance = self.plugin.return_value
@@ -327,8 +249,7 @@ class APIv2TestCase(APIv2TestBase):
         filters = {}
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=mock.ANY)
+                                                      fields=mock.ANY)
 
     def test_filters_multiple_with_empty(self):
         instance = self.plugin.return_value
@@ -338,8 +259,7 @@ class APIv2TestCase(APIv2TestBase):
         filters = {'foo': ['bar']}
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=mock.ANY)
+                                                      fields=mock.ANY)
 
     def test_filters_multiple_values(self):
         instance = self.plugin.return_value
@@ -349,8 +269,7 @@ class APIv2TestCase(APIv2TestBase):
         filters = {'foo': ['bar', 'bar2']}
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=mock.ANY)
+                                                      fields=mock.ANY)
 
     def test_filters_multiple(self):
         instance = self.plugin.return_value
@@ -361,8 +280,7 @@ class APIv2TestCase(APIv2TestBase):
         filters = {'foo': ['bar'], 'foo2': ['bar2']}
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=mock.ANY)
+                                                      fields=mock.ANY)
 
     def test_filters_with_fields(self):
         instance = self.plugin.return_value
@@ -373,34 +291,7 @@ class APIv2TestCase(APIv2TestBase):
         fields = self._do_field_list('networks', ['foo'])
         instance.get_networks.assert_called_once_with(mock.ANY,
                                                       filters=filters,
-                                                      fields=fields,
-                                                      verbose=mock.ANY)
-
-    def test_filters_with_verbose(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'foo': 'bar',
-                                             'verbose': 'true'})
-        filters = {'foo': ['bar']}
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=filters,
-                                                      fields=mock.ANY,
-                                                      verbose=True)
-
-    def test_filters_with_fields_and_verbose(self):
-        instance = self.plugin.return_value
-        instance.get_networks.return_value = []
-
-        self.api.get(_get_path('networks'), {'foo': 'bar',
-                                             'fields': 'foo',
-                                             'verbose': 'true'})
-        filters = {'foo': ['bar']}
-        fields = self._do_field_list('networks', ['foo'])
-        instance.get_networks.assert_called_once_with(mock.ANY,
-                                                      filters=filters,
-                                                      fields=fields,
-                                                      verbose=True)
+                                                      fields=fields)
 
 
 # Note: since all resources use the same controller and validation
index 8cd9fe30c7c58c1a28597980f4f5d21e3e55a99a..725c7334615f78dc03c415b8db8f29f550e0833d 100644 (file)
@@ -136,7 +136,6 @@ class L3NatExtensionTestCase(unittest.TestCase):
         res = self.api.get(_get_path('routers'))
 
         instance.get_routers.assert_called_with(mock.ANY, fields=mock.ANY,
-                                                verbose=mock.ANY,
                                                 filters=mock.ANY)
         self.assertEqual(res.status_int, exc.HTTPOk.code)
 
@@ -174,8 +173,7 @@ class L3NatExtensionTestCase(unittest.TestCase):
         res = self.api.get(_get_path('routers', id=router_id))
 
         instance.get_router.assert_called_with(mock.ANY, router_id,
-                                               fields=mock.ANY,
-                                               verbose=mock.ANY)
+                                               fields=mock.ANY)
         self.assertEqual(res.status_int, exc.HTTPOk.code)
         self.assertTrue('router' in res.json)
         router = res.json['router']
index 989a6012c4f193a4a76df5a1890dfd7d39d0a790..54886d66b1a59dd8e45ebc424016e766d29ef58d 100644 (file)
@@ -250,7 +250,7 @@ class QuantumPolicyTestCase(unittest.TestCase):
 
     def tearDown(self):
         self.patcher.stop()
-        quantum.policy.reset()
+        policy.reset()
 
     def test_nonadmin_write_on_private_returns_403(self):
         action = "update_network"