Merge "Move migration scenario tests to use project manager"
This commit is contained in:
@@ -33,6 +33,8 @@ LOG = log.getLogger(__name__)
|
||||
class BaseTestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
|
||||
"""Base class for defining methods used in tests."""
|
||||
|
||||
credentials = ['primary', 'admin', 'project_manager']
|
||||
|
||||
@classmethod
|
||||
def skip_checks(cls):
|
||||
super(BaseTestNetworkAdvancedServerOps, cls).skip_checks()
|
||||
@@ -47,7 +49,7 @@ class BaseTestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(BaseTestNetworkAdvancedServerOps, cls).setup_clients()
|
||||
cls.admin_servers_client = cls.os_admin.servers_client
|
||||
cls.mgr_server_client = cls.os_admin.servers_client
|
||||
cls.sec_group_rules_client = \
|
||||
cls.os_primary.security_group_rules_client
|
||||
cls.sec_groups_client = cls.os_primary.security_groups_client
|
||||
@@ -159,7 +161,13 @@ class BaseTestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
|
||||
self._wait_server_status_and_check_network_connectivity(
|
||||
server, keypair, floating_ip)
|
||||
|
||||
self.admin_servers_client.migrate_server(
|
||||
if (not dest_host and CONF.enforce_scope.nova and 'manager' in
|
||||
CONF.compute_feature_enabled.nova_policy_roles):
|
||||
self.mgr_server_client = self.os_project_manager.servers_client
|
||||
LOG.info("Using project manager for migrating server: %s, "
|
||||
"project manager user id: %s",
|
||||
server['id'], self.mgr_server_client.user_id)
|
||||
self.mgr_server_client.migrate_server(
|
||||
server['id'], host=dest_host)
|
||||
waiters.wait_for_server_status(self.servers_client, server['id'],
|
||||
'VERIFY_RESIZE')
|
||||
@@ -210,8 +218,13 @@ class BaseTestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
|
||||
|
||||
if dest_host:
|
||||
migration_kwargs['host'] = dest_host
|
||||
|
||||
self.admin_servers_client.live_migrate_server(
|
||||
elif (CONF.enforce_scope.nova and 'manager' in
|
||||
CONF.compute_feature_enabled.nova_policy_roles):
|
||||
self.mgr_server_client = self.os_project_manager.servers_client
|
||||
LOG.info("Using project manager for migrating server: %s, "
|
||||
"project manager user id: %s",
|
||||
server['id'], self.mgr_server_client.user_id)
|
||||
self.mgr_server_client.live_migrate_server(
|
||||
server['id'], **migration_kwargs)
|
||||
waiters.wait_for_server_status(self.servers_client,
|
||||
server['id'], 'ACTIVE')
|
||||
@@ -260,7 +273,13 @@ class BaseTestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
|
||||
self._wait_server_status_and_check_network_connectivity(
|
||||
server, keypair, floating_ip)
|
||||
|
||||
self.admin_servers_client.migrate_server(
|
||||
if (not dest_host and CONF.enforce_scope.nova and 'manager' in
|
||||
CONF.compute_feature_enabled.nova_policy_roles):
|
||||
self.mgr_server_client = self.os_project_manager.servers_client
|
||||
LOG.info("Using project manager for migrating server: %s, "
|
||||
"project manager user id: %s",
|
||||
server['id'], self.mgr_server_client.user_id)
|
||||
self.mgr_server_client.migrate_server(
|
||||
server['id'], host=dest_host)
|
||||
waiters.wait_for_server_status(self.servers_client, server['id'],
|
||||
'VERIFY_RESIZE')
|
||||
@@ -415,7 +434,7 @@ class TestNetworkAdvancedServerMigrationWithHost(
|
||||
- Cold Migration with revert
|
||||
- Live Migration
|
||||
"""
|
||||
credentials = ['primary', 'admin']
|
||||
credentials = ['primary', 'admin', 'project_manager']
|
||||
compute_min_microversion = "2.74"
|
||||
|
||||
@classmethod
|
||||
@@ -441,7 +460,7 @@ class TestNetworkAdvancedServerMigrationWithHost(
|
||||
cls.keypairs_client = cls.os_admin.keypairs_client
|
||||
cls.floating_ips_client = cls.os_admin.floating_ips_client
|
||||
cls.servers_client = cls.os_admin.servers_client
|
||||
cls.admin_servers_client = cls.os_admin.servers_client
|
||||
cls.mgr_server_client = cls.os_admin.servers_client
|
||||
|
||||
@decorators.idempotent_id('06e23934-79ae-11ee-b962-0242ac120002')
|
||||
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from oslo_log import log as logging
|
||||
import testtools
|
||||
|
||||
from tempest.common import compute
|
||||
@@ -23,6 +24,7 @@ from tempest.lib import decorators
|
||||
from tempest.scenario import manager
|
||||
|
||||
CONF = config.CONF
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestShelveInstance(manager.ScenarioTest):
|
||||
@@ -38,12 +40,18 @@ class TestShelveInstance(manager.ScenarioTest):
|
||||
|
||||
"""
|
||||
|
||||
credentials = ['primary', 'admin']
|
||||
credentials = ['primary', 'admin', 'project_manager']
|
||||
|
||||
@classmethod
|
||||
def setup_clients(cls):
|
||||
super(TestShelveInstance, cls).setup_clients()
|
||||
cls.admin_servers_client = cls.os_admin.servers_client
|
||||
cls.mgr_servers_client = cls.os_admin.servers_client
|
||||
if (CONF.enforce_scope.nova and 'manager' in
|
||||
CONF.compute_feature_enabled.nova_policy_roles):
|
||||
cls.mgr_servers_client = cls.os_project_manager.servers_client
|
||||
LOG.info("Using project manager for migrating server, "
|
||||
"project manager user id: %s",
|
||||
cls.mgr_servers_client.user_id)
|
||||
|
||||
@classmethod
|
||||
def skip_checks(cls):
|
||||
@@ -62,7 +70,7 @@ class TestShelveInstance(manager.ScenarioTest):
|
||||
def _cold_migrate_server(self, server):
|
||||
src_host = self.get_host_for_server(server['id'])
|
||||
|
||||
self.admin_servers_client.migrate_server(server['id'])
|
||||
self.mgr_servers_client.migrate_server(server['id'])
|
||||
waiters.wait_for_server_status(self.servers_client,
|
||||
server['id'], 'VERIFY_RESIZE')
|
||||
self.servers_client.confirm_resize_server(server['id'])
|
||||
|
||||
Reference in New Issue
Block a user