Add tests to boot WindowsVM from volume

Tests:
  - WindowsServers10Test.test_create_server_from_volume
  - WindowsServers11Test.test_create_server_from_volume

Related-prod: PRODX-47920

Change-Id: Iec7dd9e0258ac027e4ce8386e5916218a4f4c64a
(cherry picked from commit 1a7ae8a556aaf1bdd7f9034f134addb4b0bc8a2c)
diff --git a/tempest/api/compute/admin/test_create_server.py b/tempest/api/compute/admin/test_create_server.py
index e24259f..a3db6cc 100644
--- a/tempest/api/compute/admin/test_create_server.py
+++ b/tempest/api/compute/admin/test_create_server.py
@@ -262,6 +262,33 @@
         destination_host = self.get_host_for_server(server_id)
         self.assertNotEqual(source_host, destination_host)
 
+    def _test_create_server_from_volume(self):
+        size = self._get_flavor_disc_size()
+        volume_bootable = self.create_volume(
+            image_ref=self.image_id, size=size)
+        bdm = [{
+            'uuid': volume_bootable['id'],
+            'source_type': 'volume',
+            'destination_type': 'volume',
+            'boot_index': 0}]
+        validation_resources = self.get_class_validation_resources(
+            self.os_admin)
+        self.create_test_server(
+            image_id='',
+            flavor=self.flavor_id,
+            clients=self.os_admin,
+            validatable=True,
+            validation_resources=validation_resources,
+            wait_until='PINGABLE',
+            block_device_mapping_v2=bdm
+        )
+
+    def _get_flavor_disc_size(self):
+        # Returns a disc size of a flavor
+        flavor = self.admin_flavors_client.show_flavor(self.flavor_id)[
+            'flavor']
+        return flavor['disk']
+
 
 class WindowsServers10Test(WindowsServersBaseTest):
 
@@ -286,6 +313,10 @@
     def test_cold_migration(self):
         self._test_cold_migration()
 
+    @decorators.idempotent_id('8b7ddf91-34fe-4538-8d08-2443d9968771')
+    def test_create_server_from_volume(self):
+        self._test_create_server_from_volume()
+
 
 class WindowsServers11Test(WindowsServersBaseTest):
 
@@ -311,6 +342,10 @@
     def test_cold_migration(self):
         self._test_cold_migration()
 
+    @decorators.idempotent_id('1e8a241e-29ff-4627-abd0-5be74251838b')
+    def test_create_server_from_volume(self):
+        self._test_create_server_from_volume()
+
 
 class ServersTestVGPU(base.BaseV2ComputeAdminTest):
     """Test creating server with vGPU flavor"""