Merge "Bring in tests against spice console" into mcp/caracal
diff --git a/tempest/api/compute/admin/test_create_server.py b/tempest/api/compute/admin/test_create_server.py
index 3cc2928..aa358d7 100644
--- a/tempest/api/compute/admin/test_create_server.py
+++ b/tempest/api/compute/admin/test_create_server.py
@@ -172,3 +172,60 @@
console_log = self.client.get_console_output(server['id'])['output']
self.assertTrue(console_log, "Console output was empty.")
self.assertIn(uefi_boot_loader, console_log)
+
+
+class WindowsServersBaseTest(base.BaseV2ComputeAdminTest):
+ """Test Windows OS guest servers"""
+
+ image_id = None
+ flavor_id = None
+
+ @classmethod
+ def skip_checks(cls):
+ super(WindowsServersBaseTest, cls).skip_checks()
+
+ if not (cls.image_id and cls.flavor_id):
+ skip_msg = ("Environment is not prepared for testing "
+ "Windows servers")
+ raise cls.skipException(skip_msg)
+
+ @classmethod
+ def setup_credentials(cls):
+ cls.prepare_instance_network()
+ super(WindowsServersBaseTest, cls).setup_credentials()
+
+ @classmethod
+ def setup_clients(cls):
+ super(WindowsServersBaseTest, cls).setup_clients()
+ cls.client = cls.servers_client
+
+ def _test_create_server(self):
+ # Create the server and wait for it to become ready
+ validation_resources = self.get_class_validation_resources(
+ self.os_primary)
+ self.create_test_server(
+ image_id=self.image_id,
+ flavor=self.flavor_id,
+ validatable=True,
+ validation_resources=validation_resources,
+ wait_until='PINGABLE')
+
+
+class WindowsServers10Test(WindowsServersBaseTest):
+
+ image_id = CONF.compute.windows10_image_ref
+ flavor_id = CONF.compute.windows10_flavor_ref
+
+ @decorators.idempotent_id('4d54bcfa-08d3-48eb-b7a1-3568db4fc607')
+ def test_create_server(self):
+ self._test_create_server()
+
+
+class WindowsServers11Test(WindowsServersBaseTest):
+
+ image_id = CONF.compute.windows11_image_ref
+ flavor_id = CONF.compute.windows11_flavor_ref
+
+ @decorators.idempotent_id('1cff7fea-f251-4a05-a667-9b946913a3c5')
+ def test_create_server(self):
+ self._test_create_server()
diff --git a/tempest/config.py b/tempest/config.py
index 167a0c6..ff7e977 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -310,12 +310,24 @@
help="A list of trusted certificates to be used when the "
"image certificate validation compute feature is "
"enabled."),
+ cfg.StrOpt('windows10_image_ref',
+ default=None,
+ help="Valid image reference to be used in Windows 10 tests."),
+ cfg.StrOpt('windows11_image_ref',
+ default=None,
+ help="Valid image reference to be used in Windows 11 tests."),
cfg.StrOpt('flavor_ref',
default="1",
help="Valid primary flavor to use in tests."),
cfg.StrOpt('flavor_ref_alt',
default="2",
help='Valid secondary flavor to be used in tests.'),
+ cfg.StrOpt('windows10_flavor_ref',
+ default=None,
+ help="Valid flavor to be used for Windows 10 tests."),
+ cfg.StrOpt('windows11_flavor_ref',
+ default=None,
+ help="Valid flavor to be used for Windows 11 tests."),
cfg.IntOpt('build_interval',
default=1,
help="Time in seconds between build status checks."),
@@ -961,7 +973,7 @@
help='Type of key to use for ssh connections. '
'Valid types are rsa, ecdsa'),
cfg.FloatOpt('allowed_network_downtime',
- default=5.0,
+ default=10.0,
help="Allowed VM network connection downtime during live "
"migration, in seconds. "
"When the measured downtime exceeds this value, an "
diff --git a/tempest/scenario/test_network_basic_ops.py b/tempest/scenario/test_network_basic_ops.py
index e40e548..da33412 100644
--- a/tempest/scenario/test_network_basic_ops.py
+++ b/tempest/scenario/test_network_basic_ops.py
@@ -403,7 +403,7 @@
self.os_adm.servers_client.live_migrate_server(
server_id=server['id'],
- block_migration=False,
+ block_migration=True,
host=host_id)
waiters.wait_for_server_status(
@@ -944,6 +944,8 @@
nic=spoof_nic, should_succeed=True)
@decorators.idempotent_id('463caa51-0967-4d6d-8ee9-11db1557c710')
+ @testtools.skipUnless(CONF.compute_feature_enabled.live_migration,
+ 'Live migration is not available.')
@decorators.attr(type='slow')
@utils.services('compute', 'network')
def test_connectivity_between_vms_after_live_migration(self):