Skip to content

Commit

Permalink
Rebuild with uefi image property
Browse files Browse the repository at this point in the history
Rebuild server with and without uefi image property

Change-Id: I21e8862f81978776d7da5f61efbac46540f8c2f0
  • Loading branch information
Amit Uniyal committed Jul 2, 2024
1 parent df1d9f7 commit 48ff84e
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion whitebox_tempest_plugin/api/compute/test_uefi.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
# under the License.

from oslo_log import log as logging
from tempest.common import waiters
from tempest import config
import testtools

Expand Down Expand Up @@ -66,7 +67,7 @@ def _validate_uefi_os_xml_elements(self, server_id, os_element,
os_element.find('nvram'),
'NVRAM element not present in guest %s' % server_id)

def test_uefi_boot(self):
def test_uefi_boot_and_rebuild(self):
"""Verify booting guest with UEFI enabled for image property"""

image_properties = {'hw_firmware_type': 'uefi',
Expand All @@ -84,6 +85,28 @@ def test_uefi_boot(self):
self._validate_uefi_os_xml_elements(
server['id'], os_element, secure_boot=False)

# rebuild same instance with non-uefi image
non_uefi_image_id = CONF.compute.image_ref
server = self.servers_client.rebuild_server(
server['id'], image_ref=non_uefi_image_id)['server']
waiters.wait_for_server_status(self.servers_client,
server['id'], 'ACTIVE')
domain2 = self.get_server_xml(server['id'])
os_element2 = domain2.find("./os")
self.assertIsNone(os_element2.find('nvram'))
self.assertEmpty(os_element2.items())

# rebuild again with uefi image
server = self.servers_client.rebuild_server(
server['id'], image_ref=uefi_image_id)['server']
waiters.wait_for_server_status(self.servers_client,
server['id'], 'ACTIVE')
domain3 = self.get_server_xml(server['id'])
os_element3 = domain3.find("./os")

self._validate_uefi_os_xml_elements(
server['id'], os_element3, secure_boot=False)

@testtools.skipUnless(CONF.compute_feature_enabled.uefi_secure_boot,
"Requires uefi secure boot to be enabled")
def test_uefi_secure_boot(self):
Expand Down

0 comments on commit 48ff84e

Please sign in to comment.