]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Merge with quantum-unit-tests
authorSalvatore Orlando <salvatore.orlando@eu.citrix.com>
Thu, 21 Jul 2011 16:24:24 +0000 (17:24 +0100)
committerSalvatore Orlando <salvatore.orlando@eu.citrix.com>
Thu, 21 Jul 2011 16:24:24 +0000 (17:24 +0100)
1  2 
quantum/api/__init__.py
quantum/api/api_common.py
quantum/api/networks.py
quantum/api/ports.py
quantum/manager.py
quantum/plugins/SamplePlugin.py
quantum/plugins/openvswitch/README

index f00d7bcb2c3c46a5cdfbbccffa29cd4d221bf655,40dd058babb40f385a06882c355f775eb244e9e8..c5cac4bf7404f626d91ede0d9161d1f277a7254e
@@@ -41,25 -41,23 +42,25 @@@ class APIRouterV01(wsgi.Router)
      Routes requests on the Quantum API to the appropriate controller
      """
  
-     def __init__(self, ext_mgr=None):
+     def __init__(self, options=None):
          mapper = routes.Mapper()
-         self._setup_routes(mapper)
+         self._setup_routes(mapper, options)
          super(APIRouterV01, self).__init__(mapper)
  
-     def _setup_routes(self, mapper):
+     def _setup_routes(self, mapper, options):
+         # Loads the quantum plugin
+         plugin = manager.QuantumManager(options).get_plugin()
          uri_prefix = '/tenants/{tenant_id}/'
          mapper.resource('network', 'networks',
-                         controller=networks.Controller(),
+                         controller=networks.Controller(plugin),
 +                        collection={'detail': 'GET'},
 +                        member={'detail': 'GET'},
                          path_prefix=uri_prefix)
          mapper.resource('port', 'ports',
-                         controller=ports.Controller(),
+                         controller=ports.Controller(plugin),
                          parent_resource=dict(member_name='network',
                                               collection_name=uri_prefix +\
-                                              'networks'))
+                                                  'networks'))
          mapper.connect("get_resource",
                         uri_prefix + 'networks/{network_id}/' \
                                      'ports/{id}/attachment{.format}',
@@@ -75,8 -73,6 +76,8 @@@
          mapper.connect("detach_resource",
                         uri_prefix + 'networks/{network_id}/' \
                                      'ports/{id}/attachment{.format}',
-                        controller=ports.Controller(),
+                        controller=ports.Controller(plugin),
                         action="detach_resource",
                         conditions=dict(method=['DELETE']))
 +        print "MAPPED ROUTES"
 +        print mapper
Simple merge
index f9f5df4ed826f8461422d3bbcc4d8f2d7d374317,9bad90ab29e37bb95aa09427de24693cfbbeef4c..2a56d6bc64d4933b2d07a9f2b8996549541a6f3d
@@@ -48,43 -47,25 +48,49 @@@ class Controller(common.QuantumControll
      def index(self, request, tenant_id):
          """ Returns a list of network ids """
          #TODO: this should be for a given tenant!!!
 -        return self._items(request, tenant_id, is_detail=False)
 +        return self._items(request, tenant_id)
  
 -    def _items(self, request, tenant_id, is_detail):
 +    def _item(self, req, tenant_id, network_id,
 +              net_details=True, port_details=False):
 +        network = self.network_manager.get_network_details(
 +                            tenant_id, network_id)
 +        builder = networks_view.get_view_builder(req)
 +        result = builder.build(network, net_details, port_details)
 +        return dict(networks=result)
 +
 +    def _items(self, req, tenant_id, net_details=False, port_details=False):
          """ Returns a list of networks. """
-         networks = self.network_manager.get_all_networks(tenant_id)
+         networks = self._plugin.get_all_networks(tenant_id)
 -        builder = networks_view.get_view_builder(request)
 -        result = [builder.build(network, is_detail)['network']
 +        builder = networks_view.get_view_builder(req)
 +        result = [builder.build(network, net_details, port_details)['network']
                    for network in networks]
          return dict(networks=result)
  
      def show(self, request, tenant_id, id):
          """ Returns network details for the given network id """
          try:
 +            return self._item(request, tenant_id, id,
 +                              net_details=True, port_details=False)
 +        except exception.NetworkNotFound as e:
 +            return faults.Fault(faults.NetworkNotFound(e))
 +
 +    def detail(self, request, **kwargs):
 +        tenant_id = kwargs.get('tenant_id')
 +        network_id = kwargs.get('id')
 +        try:
 +            if network_id:
 +                return self._item(request, tenant_id, network_id,
 +                                  net_details=True, port_details=True)
 +            else:
 +                #do like show but with detaik
 +                return self._items(request, tenant_id,
 +                                   net_details=True, port_details=False)
+             network = self._plugin.get_network_details(
+                             tenant_id, id)
+             builder = networks_view.get_view_builder(request)
+             #build response with details
+             result = builder.build(network, True)
+             return dict(networks=result)
          except exception.NetworkNotFound as e:
              return faults.Fault(faults.NetworkNotFound(e))
  
index b92f33e9efbd4d084171517f561fbcef1b3a745a,8a7ee81c106c40a10d3e83ea6276eb366d7e5d5e..ebe9ab843ff074a4c434b8757f0be3f91e8adc75
@@@ -104,9 -104,8 +104,8 @@@ class Controller(common.QuantumControll
          except exc.HTTPError as e:
              return faults.Fault(e)
          try:
-             port = self.network_manager.\
-                         update_port(tenant_id, network_id, id,
-                                     request_params['port-state'])
+             port = self._plugin.update_port(tenant_id, network_id, id,
 -                                                 request_params['port-state'])
++                                            request_params['port-state'])
              builder = ports_view.get_view_builder(request)
              result = builder.build(port, True)
              return dict(ports=result)
          """ Destroys the port with the given id """
          #look for port state in request
          try:
-             self.network_manager.delete_port(tenant_id, network_id, id)
+             self._plugin.delete_port(tenant_id, network_id, id)
              return exc.HTTPAccepted()
 -            #TODO(salvatore-orlando): Handle portInUse error
 +            # TODO(salvatore-orlando): Handle portInUse error
          except exception.NetworkNotFound as e:
              return faults.Fault(faults.NetworkNotFound(e))
          except exception.PortNotFound as e:
Simple merge
index 1f7c9f8dd48ac346b1d717bcde2f16f3b6e5b1d6,8f46e4373122ca92f4b91c228c1dbb708c7fac5a..46576389cad7ef4c8f77d29fb5ace4bfbd300783
@@@ -220,39 -233,14 +226,14 @@@ class FakePlugin(object)
      client/cli/api development
      """
  
-     #static data for networks and ports
-     _port_dict_1 = {
-                    1: {'port-id': 1,
-                        'port-state': 'DOWN',
-                        'attachment': None},
-                    2: {'port-id': 2,
-                        'port-state': 'ACTIVE',
-                        'attachment': None}}
-     _port_dict_2 = {
-                    1: {'port-id': 1,
-                        'port-state': 'ACTIVE',
-                        'attachment': 'SomeFormOfVIFID'},
-                    2: {'port-id': 2,
-                        'port-state': 'DOWN',
-                        'attachment': None}}
-     _networks = {'001':
-                     {
-                     'net-id': '001',
-                     'net-name': 'pippotest',
-                     'net-ports': _port_dict_1
-                     },
-                     '002':
-                     {
-                     'net-id': '002',
-                     'net-name': 'cicciotest',
-                     'net-ports': _port_dict_2}}
      def __init__(self):
-         FakePlugin._net_counter = len(FakePlugin._networks)
 -        db.configure_db({'sql_connection':'sqlite:///:memory:'})
++        db.configure_db({'sql_connection': 'sqlite:///:memory:'})
+         FakePlugin._net_counter = 0
  
      def _get_network(self, tenant_id, network_id):
-         network = FakePlugin._networks.get(network_id)
-         if not network:
+         try:
+             network = db.network_get(network_id)
+         except:
              raise exc.NetworkNotFound(net_id=network_id)
          return network
  
Simple merge