[api_versions]Merge version info of api_versions context into credential

Unify specifying api info process, save api info in credential.

Change-Id: Id673da173bd9005aaee5deb9b7949a6662ff6c50
This commit is contained in:
chenhb 2018-08-30 15:42:28 +08:00
parent eec1982afd
commit 5bdb5b83fc
5 changed files with 19 additions and 24 deletions

View File

@ -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

View File

@ -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

View File

@ -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."

View File

@ -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"])

View File

@ -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,