diff --git a/dev/tenks-deploy-config-compute.yml b/dev/tenks-deploy-config-compute.yml index c4008377b454c3468d7c216e2a2edad7e6982f32..0f859ccd9aa074d9caefc16c62fda7c7ee84e972 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 7d54961db3b129122583b83a4e7d359aa78dc000..521f7d03a29a13f9a9bc5ffd0cf8f8c5e0ea837e 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 1980c2bdbfd255a918cea01c0897527a1d21ab57..ba970bc50da457963369e563e512afe826cf46df 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 2694c7583a2ec81ccaaab0df8d85d757ec5bdc41..f696974bafc3b69c1de15b38fea80ce0dc6fab47 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 426a763f63ee5f13e12f688a49d6d92e84ceb489..61905ed5ab470cef1e49c1f623f00c8a81342609 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