From: Evgeny Fedoruk Date: Mon, 5 May 2014 09:34:27 +0000 (-0700) Subject: Adding tenant-id while creating Radware ADC service X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=5da44b9bdb65c54f823ce7867386b9ca0c9a6b25;p=openstack-build%2Fneutron-build.git Adding tenant-id while creating Radware ADC service 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 --- diff --git a/neutron/services/loadbalancer/drivers/radware/driver.py b/neutron/services/loadbalancer/drivers/radware/driver.py index a250b96ac..0f3d195a8 100644 --- a/neutron/services/loadbalancer/drivers/radware/driver.py +++ b/neutron/services/loadbalancer/drivers/radware/driver.py @@ -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, diff --git a/neutron/tests/unit/services/loadbalancer/drivers/radware/test_plugin_driver.py b/neutron/tests/unit/services/loadbalancer/drivers/radware/test_plugin_driver.py index f1c1ad41c..d8302495f 100644 --- a/neutron/tests/unit/services/loadbalancer/drivers/radware/test_plugin_driver.py +++ b/neutron/tests/unit/services/loadbalancer/drivers/radware/test_plugin_driver.py @@ -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,