]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Adding tenant-id while creating Radware ADC service
authorEvgeny Fedoruk <evgenyf@radware.com>
Mon, 5 May 2014 09:34:27 +0000 (02:34 -0700)
committerEvgeny Fedoruk <evgenyf@radware.com>
Mon, 5 May 2014 10:07:52 +0000 (03:07 -0700)
Adding tenant_id as a parameter when creating Radware ADC service

Changing unit tests to test the udated REST call resource
with tenant as a parameter

Change-Id: I7a3e9bfb492e847195031bb72ef15dae8769e91f
Closes-Bug: #1315815

neutron/services/loadbalancer/drivers/radware/driver.py
neutron/tests/unit/services/loadbalancer/drivers/radware/test_plugin_driver.py

index a250b96acf8a06d72747459f733bf18b7eeec1b4..0f3d195a862c8e59c84e0bb4cb40918cd3080d81 100644 (file)
@@ -195,7 +195,8 @@ class LoadBalancerDriver(abstract_driver.LoadBalancerAbstractDriver):
             extended_vip = self.plugin.populate_vip_graph(context, vip)
             vip_network_id = self._get_vip_network_id(context, extended_vip)
             pool_network_id = self._get_pool_network_id(context, extended_vip)
-            service_name = self._get_service(vip_network_id, pool_network_id)
+            service_name = self._get_service(vip_network_id, pool_network_id,
+                                             vip['tenant_id'])
             log_info['extended_vip'] = extended_vip
             log_info['vip_network_id'] = vip_network_id
             log_info['service_name'] = service_name
@@ -491,7 +492,8 @@ class LoadBalancerDriver(abstract_driver.LoadBalancerAbstractDriver):
                       resource, None, None),
                       [202])
 
-    def _get_service(self, vip_network_id, pool_network_id):
+    def _get_service(self, vip_network_id, pool_network_id,
+                     tenant_id):
         """Get a service name.
 
         if you can't find one,
@@ -512,7 +514,8 @@ class LoadBalancerDriver(abstract_driver.LoadBalancerAbstractDriver):
             LOG.debug(
                 'Could not find a service named ' + incoming_service_name)
             service_name = self._create_service(vip_network_id,
-                                                pool_network_id)
+                                                pool_network_id,
+                                                tenant_id)
             self.l2_l3_ctor_params["service"] = incoming_service_name
             wf_name = 'l2_l3_' + networks_name
             self._create_workflow(
@@ -523,7 +526,7 @@ class LoadBalancerDriver(abstract_driver.LoadBalancerAbstractDriver):
             LOG.debug('A service named ' + service_name + ' was found.')
         return service_name
 
-    def _create_service(self, vip_network_id, pool_network_id):
+    def _create_service(self, vip_network_id, pool_network_id, tenant_id):
         """create the service and provision it (async)."""
         # 1) create the service
         service = copy.deepcopy(self.service)
@@ -534,7 +537,7 @@ class LoadBalancerDriver(abstract_driver.LoadBalancerAbstractDriver):
         else:
             service_name = 'srv_' + vip_network_id
             service['primary']['network']['portgroups'] = [vip_network_id]
-        resource = '/api/service?name=%s' % service_name
+        resource = '/api/service?name=%s&tenant=%s' % (service_name, tenant_id)
 
         response = _rest_wrapper(self.rest_client.call('POST', resource,
                                  service,
index f1c1ad41c7fd98e0a28d95ffb1deda8c7f378df5..d8302495f9c306e43c3b606ef5e4e3ac60e32c78 100644 (file)
@@ -200,7 +200,8 @@ class TestLoadBalancerPlugin(TestLoadBalancerPluginBase):
                     mock.call('GET', u'/api/service/srv_' +
                               subnet['subnet']['network_id'], None, None),
                     mock.call('POST', u'/api/service?name=srv_' +
-                              subnet['subnet']['network_id'], mock.ANY,
+                              subnet['subnet']['network_id'] + '&tenant=' +
+                              vip['tenant_id'], mock.ANY,
                               driver.CREATE_SERVICE_HEADER),
                     mock.call('GET', u'/api/workflow/l2_l3_' +
                               subnet['subnet']['network_id'], None, None),
@@ -282,8 +283,8 @@ class TestLoadBalancerPlugin(TestLoadBalancerPluginBase):
                         mock.call('GET', '/api/service/srv_' + name_suffix,
                                   None, None),
                         mock.call('POST', '/api/service?name=srv_' +
-                                  name_suffix, mock.ANY,
-                                  driver.CREATE_SERVICE_HEADER),
+                                  name_suffix + '&tenant=' + vip['tenant_id'],
+                                  mock.ANY, driver.CREATE_SERVICE_HEADER),
                         mock.call('POST', 'someuri',
                                   None, driver.PROVISION_HEADER),
                         mock.call('GET', '/api/workflow/l2_l3_' + name_suffix,