Pass clients to compute base's create_test_server
Previously, create_test_server() in the base compute test class did not provide a way to create a server with admin privileges. This can be necessary when using APIs that are admin-only by default, for example the `host` parameter when creating a server in Nova microversion 2.74. This patch adds a clients kwarg to create_test_server(). This kwarg is then passed to compute.common's create_test_server() instead of the cls.os_primary clients that was harcoded previously. Change-Id: Ic47e6a4ced54739de9325bb14e332ba15cdb210f
This commit is contained in:
@@ -226,7 +226,7 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create_test_server(cls, validatable=False, volume_backed=False,
|
def create_test_server(cls, validatable=False, volume_backed=False,
|
||||||
validation_resources=None, **kwargs):
|
validation_resources=None, clients=None, **kwargs):
|
||||||
"""Wrapper utility that returns a test server.
|
"""Wrapper utility that returns a test server.
|
||||||
|
|
||||||
This wrapper utility calls the common create test server and
|
This wrapper utility calls the common create test server and
|
||||||
@@ -238,6 +238,7 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
|||||||
:param volume_backed: Whether the instance is volume backed or not.
|
:param volume_backed: Whether the instance is volume backed or not.
|
||||||
:param validation_resources: Dictionary of validation resources as
|
:param validation_resources: Dictionary of validation resources as
|
||||||
returned by `get_class_validation_resources`.
|
returned by `get_class_validation_resources`.
|
||||||
|
:param clients: Client manager, defaults to os_primary.
|
||||||
:param kwargs: Extra arguments are passed down to the
|
:param kwargs: Extra arguments are passed down to the
|
||||||
`compute.create_test_server` call.
|
`compute.create_test_server` call.
|
||||||
"""
|
"""
|
||||||
@@ -254,8 +255,11 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
|||||||
not tenant_network):
|
not tenant_network):
|
||||||
kwargs['networks'] = 'none'
|
kwargs['networks'] = 'none'
|
||||||
|
|
||||||
|
if clients is None:
|
||||||
|
clients = cls.os_primary
|
||||||
|
|
||||||
body, servers = compute.create_test_server(
|
body, servers = compute.create_test_server(
|
||||||
cls.os_primary,
|
clients,
|
||||||
validatable,
|
validatable,
|
||||||
validation_resources=validation_resources,
|
validation_resources=validation_resources,
|
||||||
tenant_network=tenant_network,
|
tenant_network=tenant_network,
|
||||||
@@ -266,11 +270,11 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
|||||||
# and then wait for all
|
# and then wait for all
|
||||||
for server in servers:
|
for server in servers:
|
||||||
cls.addClassResourceCleanup(waiters.wait_for_server_termination,
|
cls.addClassResourceCleanup(waiters.wait_for_server_termination,
|
||||||
cls.servers_client, server['id'])
|
clients.servers_client, server['id'])
|
||||||
for server in servers:
|
for server in servers:
|
||||||
cls.addClassResourceCleanup(
|
cls.addClassResourceCleanup(
|
||||||
test_utils.call_and_ignore_notfound_exc,
|
test_utils.call_and_ignore_notfound_exc,
|
||||||
cls.servers_client.delete_server, server['id'])
|
clients.servers_client.delete_server, server['id'])
|
||||||
|
|
||||||
return body
|
return body
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user