From 041df632fccdf75686144e4e8651bd9d731fcfee Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Wed, 22 Sep 2021 14:11:15 +1200 Subject: [PATCH] Set explicit boot mode even for bios boot OVB correctly detects when the image is UEFI boot enabled and sets boot_mode:uefi. However non-UEFI images will use the ironic configured default, and this will soon change from 'bios' to 'uefi'. This change explicitly sets to boot mode to either 'bios' or 'uefi' based on discovered image properties so that ironic defaults can change without causing CI failures. Change-Id: If97d33aee65a05f6fb860eb4f3c1655bc4605908 --- openstack_virtual_baremetal/build_nodes_json.py | 2 ++ openstack_virtual_baremetal/tests/test_build_nodes_json.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/openstack_virtual_baremetal/build_nodes_json.py b/openstack_virtual_baremetal/build_nodes_json.py index 3c575eb..81c3411 100755 --- a/openstack_virtual_baremetal/build_nodes_json.py +++ b/openstack_virtual_baremetal/build_nodes_json.py @@ -184,6 +184,8 @@ def _build_nodes(nova, glance, bmc_ports, bm_ports, provision_net_map, image = cache.get(baremetal.image['id']) if image.get('hw_firmware_type') == 'uefi': node['capabilities'] += ",boot_mode:uefi" + else: + node['capabilities'] += ",boot_mode:bios" else: # With boot from volume the flavor disk size doesn't matter. We # need to look up the volume disk size. diff --git a/openstack_virtual_baremetal/tests/test_build_nodes_json.py b/openstack_virtual_baremetal/tests/test_build_nodes_json.py index 1e45fd9..f844aab 100644 --- a/openstack_virtual_baremetal/tests/test_build_nodes_json.py +++ b/openstack_virtual_baremetal/tests/test_build_nodes_json.py @@ -24,7 +24,7 @@ from openstack_virtual_baremetal import build_nodes_json TEST_NODES = [{'arch': 'x86_64', - 'capabilities': 'boot_option:local', + 'capabilities': 'boot_option:local,boot_mode:bios', 'cpu': 128, 'disk': 1024, 'ports': [{'address': 'aa:aa:aa:aa:aa:aa'}],