Merge "Add tempest tests to boot Windows VM" into mcp/antelope
diff --git a/tempest/api/compute/admin/test_create_server.py b/tempest/api/compute/admin/test_create_server.py
index 5400a2b..f583c8f 100644
--- a/tempest/api/compute/admin/test_create_server.py
+++ b/tempest/api/compute/admin/test_create_server.py
@@ -171,3 +171,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 bc7cb45..41d96c9 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -323,12 +323,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."),