Support UEFI in bifrost-cli and document it

Change-Id: I829bd3454e1e6bc11f1631aef7ed8278c7b8bbe9
This commit is contained in:
Dmitry Tantsur 2020-11-12 18:20:23 +01:00
parent e5f0b8d668
commit faa328d4b3
4 changed files with 26 additions and 0 deletions

View File

@ -115,6 +115,7 @@ def cmd_testenv(args):
test_vm_disk_gib=args.disk,
test_vm_domain_type=args.domain_type,
test_vm_node_driver=args.driver,
default_boot_mode='uefi' if args.uefi else 'bios',
baremetal_json_file=os.path.abspath(args.inventory),
baremetal_nodes_json=os.path.abspath(args.output),
extra_vars=args.extra_vars,
@ -160,6 +161,7 @@ def cmd_install(args):
use_tinyipa=args.testenv,
developer_mode=args.develop,
enable_prometheus_exporter=args.enable_prometheus_exporter,
default_boot_mode='uefi' if args.uefi else 'bios',
extra_vars=args.extra_vars,
**kwargs)
log("Ironic is installed and running, try it yourself:\n",
@ -198,6 +200,8 @@ def parse_args():
testenv.add_argument('--driver', default='ipmi',
choices=['ipmi', 'redfish'],
help='driver for testing nodes')
testenv.add_argument('--uefi', action='store_true',
help='boot testing VMs with UEFI by default')
testenv.add_argument('-e', '--extra-vars', action='append',
help='additional vars to pass to ansible')
testenv.add_argument('-o', '--output', default='baremetal-nodes.json',
@ -234,6 +238,8 @@ def parse_args():
install.add_argument('--enable-prometheus-exporter', action='store_true',
default=False,
help='Enable Ironic Prometheus Exporter')
install.add_argument('--uefi', action='store_true',
help='use UEFI by default')
install.add_argument('-e', '--extra-vars', action='append',
help='additional vars to pass to ansible')

View File

@ -33,6 +33,9 @@ Additionally, the following parameters can be useful:
IPMI support uses VirtualBMC_, Redfish - sushy-tools_.
``--uefi``
Makes the testing VMs boot with UEFI.
See the built-in documentation for more details:
.. code-block:: bash

View File

@ -91,6 +91,12 @@ need:
* An IP address or a host name of its management controller (BMC).
* Credentials for the management controller.
* MAC address of the NIC the machine uses for PXE booting (optional for IPMI).
* Whether it boots in the UEFI or legacy (BIOS) mode.
.. note::
Some hardware types (like ``redfish``) can enforce the desired boot mode,
while the other (like ``ipmi``) require the same boot mode to be set in
ironic and on the machine.
.. _Keystone: https://docs.openstack.org/keystone/latest/
.. _bare metal drivers: https://docs.openstack.org/ironic/latest/admin/drivers.html
@ -255,6 +261,9 @@ Additionally, the following parameters can be useful:
``--enable-prometheus-exporter``
Enable the Ironic Prometheus Exporter service.
``--uefi``
Boot machines in the UEFI mode by default.
See the built-in documentation for more details:
.. code-block:: bash

View File

@ -0,0 +1,8 @@
---
features:
- |
Adds the ``--uefi`` argument to ``./bifrost-cli testenv`` to make testing
VMs boot in the UEFI mode.
- |
Adds the ``--uefi`` argument to ``./bifrost-cli install`` to make ironic
use UEFI by default.