diff --git a/rally_openstack/contexts/api_versions.py b/rally_openstack/contexts/api_versions.py index f1e7b935..4a2d2c90 100644 --- a/rally_openstack/contexts/api_versions.py +++ b/rally_openstack/contexts/api_versions.py @@ -260,9 +260,15 @@ class OpenStackAPIVersions(context.Context): self.context["config"]["api_versions@openstack"][client_name][ "service_type"] = services_from_admin[conf["service_name"]] - # NOTE(boris-42): Required to be backward compatible - self.context["config"]["api_versions"] = ( - self.context["config"]["api_versions@openstack"]) + admin_cred = self.context.get("admin", {}).get("credential") + if admin_cred: + admin_cred["api_info"].update( + self.context["config"]["api_versions@openstack"] + ) + for user in self.context["users"]: + user["credential"]["api_info"].update( + self.context["config"]["api_versions@openstack"] + ) def cleanup(self): # nothing to do here diff --git a/rally_openstack/scenario.py b/rally_openstack/scenario.py index c6090171..96548d7c 100644 --- a/rally_openstack/scenario.py +++ b/rally_openstack/scenario.py @@ -38,25 +38,16 @@ class OpenStackScenario(scenario.Scenario): def __init__(self, context=None, admin_clients=None, clients=None): super(OpenStackScenario, self).__init__(context) if context: - api_info = {} - if "api_versions@openstack" in context.get("config", {}): - api_versions = context["config"]["api_versions@openstack"] - for service in api_versions: - api_info[service] = { - "version": api_versions[service].get("version"), - "service_type": api_versions[service].get( - "service_type")} - if admin_clients is None and "admin" in context: self._admin_clients = osclients.Clients( - context["admin"]["credential"], api_info) + context["admin"]["credential"]) if clients is None: if "users" in context and "user" not in context: self._choose_user(context) if "user" in context: self._clients = osclients.Clients( - context["user"]["credential"], api_info) + context["user"]["credential"]) if admin_clients: self._admin_clients = admin_clients diff --git a/tests/unit/contexts/manila/test_manila_share_networks.py b/tests/unit/contexts/manila/test_manila_share_networks.py index 6dac9a8a..d3aa3dc9 100644 --- a/tests/unit/contexts/manila/test_manila_share_networks.py +++ b/tests/unit/contexts/manila/test_manila_share_networks.py @@ -291,7 +291,7 @@ class ShareNetworksTestCase(test.TestCase): ] mock_manila_scenario__create_share_network.assert_has_calls( expected_calls * (self.TENANTS_AMOUNT * networks_per_tenant)) - mock_clients.assert_has_calls([mock.call(MOCK_USER_CREDENTIAL, {}) + mock_clients.assert_has_calls([mock.call(MOCK_USER_CREDENTIAL) for i in range(self.TENANTS_AMOUNT)]) @ddt.data(True, False) @@ -329,7 +329,7 @@ class ShareNetworksTestCase(test.TestCase): expected_calls = [mock.call(**sn_args), mock.call().to_dict()] mock_manila_scenario__create_share_network.assert_has_calls( expected_calls * (self.TENANTS_AMOUNT * networks_per_tenant)) - mock_clients.assert_has_calls([mock.call(MOCK_USER_CREDENTIAL, {}) + mock_clients.assert_has_calls([mock.call(MOCK_USER_CREDENTIAL) for i in range(self.TENANTS_AMOUNT)]) @mock.patch("rally_openstack.osclients.Clients") @@ -354,7 +354,7 @@ class ShareNetworksTestCase(test.TestCase): expected_calls = [mock.call(), mock.call().to_dict()] mock_manila_scenario__create_share_network.assert_has_calls( expected_calls * self.TENANTS_AMOUNT) - mock_clients.assert_has_calls([mock.call(MOCK_USER_CREDENTIAL, {}) + mock_clients.assert_has_calls([mock.call(MOCK_USER_CREDENTIAL) for i in range(self.TENANTS_AMOUNT)]) @mock.patch("rally_openstack.osclients.Clients") @@ -378,7 +378,7 @@ class ShareNetworksTestCase(test.TestCase): self.assertFalse(mock_manila_scenario__delete_share_network.called) self.assertEqual(2, mock_clients.call_count) for user in self.ctxt_use_existing["users"]: - self.assertIn(mock.call(user["credential"], {}), + self.assertIn(mock.call(user["credential"]), mock_clients.mock_calls) @mock.patch("rally_openstack.contexts.manila.manila_share_networks." diff --git a/tests/unit/contexts/test_api_versions.py b/tests/unit/contexts/test_api_versions.py index 11a16fc2..85aaebbe 100644 --- a/tests/unit/contexts/test_api_versions.py +++ b/tests/unit/contexts/test_api_versions.py @@ -95,6 +95,7 @@ class OpenStackServicesTestCase(test.TestCase): self.service_catalog.get_endpoints.assert_called_once_with() self.mock_kc.services.list.assert_called_once_with() + versions = ctx.context["config"]["api_versions@openstack"] self.assertEqual( "computev21", - ctx.context["config"]["api_versions"]["nova"]["service_type"]) + versions["nova"]["service_type"]) diff --git a/tests/unit/test_scenario.py b/tests/unit/test_scenario.py index fbbfb8ba..792efb55 100644 --- a/tests/unit/test_scenario.py +++ b/tests/unit/test_scenario.py @@ -52,10 +52,7 @@ class OpenStackScenarioTestCase(test.TestCase): scenario = base_scenario.OpenStackScenario(self.context) self.assertEqual(self.context, scenario.context) self.osclients.mock.assert_called_once_with( - self.context["admin"]["credential"], {}) - - scenario = base_scenario.OpenStackScenario( - self.context, admin_clients="foobar") + self.context["admin"]["credential"]) def test_init_admin_clients(self): scenario = base_scenario.OpenStackScenario( @@ -76,7 +73,7 @@ class OpenStackScenarioTestCase(test.TestCase): self.assertEqual(self.context["tenants"]["foo"], scenario.context["tenant"]) - self.osclients.mock.assert_called_once_with(user["credential"], {}) + self.osclients.mock.assert_called_once_with(user["credential"]) def test_init_clients(self): scenario = base_scenario.OpenStackScenario(self.context,