diff --git a/dev/tenks-deploy-config-compute.yml b/dev/tenks-deploy-config-compute.yml index c4008377b..0f859ccd9 100644 --- a/dev/tenks-deploy-config-compute.yml +++ b/dev/tenks-deploy-config-compute.yml @@ -34,6 +34,8 @@ physnet_mappings: deploy_kernel: ipa.kernel deploy_ramdisk: ipa.initramfs +default_boot_mode: "bios" + # Use the libvirt daemon deployed by Kolla Ansible in the nova_libvirt # container. Tenks will install libvirt client packages. libvirt_host_install_daemon: false diff --git a/dev/tenks-deploy-config-overcloud.yml b/dev/tenks-deploy-config-overcloud.yml index 7d54961db..521f7d03a 100644 --- a/dev/tenks-deploy-config-overcloud.yml +++ b/dev/tenks-deploy-config-overcloud.yml @@ -34,6 +34,8 @@ physnet_mappings: bridge_type: linuxbridge +default_boot_mode: "bios" + # No placement service. wait_for_placement: false diff --git a/playbooks/kayobe-overcloud-base/overrides.yml.j2 b/playbooks/kayobe-overcloud-base/overrides.yml.j2 index 1980c2bdb..ba970bc50 100644 --- a/playbooks/kayobe-overcloud-base/overrides.yml.j2 +++ b/playbooks/kayobe-overcloud-base/overrides.yml.j2 @@ -33,6 +33,13 @@ aio_bridge_ports: # Enable ironic for testing baremetal compute. kolla_enable_ironic: true +{% if ironic_boot_mode == 'uefi' %} +# iPXE is currently required for UEFI boot mode in Kolla Ansible. +kolla_enable_ironic_ipxe: true +kolla_ironic_enabled_boot_interfaces: [ipxe] +kolla_ironic_default_boot_interface: ipxe +{% endif %} + {% if tls_enabled %} kolla_enable_tls_external: "yes" kolla_enable_tls_internal: "yes" diff --git a/playbooks/kayobe-overcloud-base/pre.yml b/playbooks/kayobe-overcloud-base/pre.yml index 2694c7583..f696974ba 100644 --- a/playbooks/kayobe-overcloud-base/pre.yml +++ b/playbooks/kayobe-overcloud-base/pre.yml @@ -25,6 +25,13 @@ src: globals.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" + - name: Configure Tenks to use UEFI boot mode + replace: + path: "{{ kayobe_src_dir }}/dev/tenks-deploy-config-compute.yml" + regexp: '^default_boot_mode: .*$' + replace: 'default_boot_mode: "uefi"' + when: ironic_boot_mode == 'uefi' + - name: Ensure kayobe is installed shell: cmd: dev/install.sh &> {{ logs_dir }}/ansible/install diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 426a763f6..61905ed5a 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -83,6 +83,7 @@ tenks_src_dir: "{{ ansible_env.PWD ~ '/' ~ zuul.projects['opendev.org/openstack/tenks'].src_dir }}" is_upgrade: "{{ 'upgrade' in zuul.job }}" tls_enabled: false + ironic_boot_mode: "bios" - job: name: kayobe-overcloud-base @@ -110,6 +111,7 @@ parent: kayobe-overcloud-base vars: tls_enabled: true + ironic_boot_mode: "uefi" - job: name: kayobe-overcloud-tls-centos8s