seed-vm/infra-vms: Add support for EFI and q35
Bump stackhpc.libvirt-vm to v1.16.1. Change-Id: I88f20112ab4740fe114a6484f88f4fbfb66863e5
This commit is contained in:
parent
882f1f7679
commit
9702736b3e
@ -76,6 +76,12 @@ infra_vm_wait_connection_ssh_extra_args: '-o StrictHostKeyChecking=no'
|
||||
# OS family. Needed for config drive generation.
|
||||
infra_vm_os_family: "{{ 'RedHat' if os_distribution in ['centos', 'rocky'] else 'Debian' }}"
|
||||
|
||||
# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'bios'.
|
||||
infra_vm_boot_firmware: "bios"
|
||||
|
||||
# Machine type. Libvirt default configuration is used.
|
||||
infra_vm_machine:
|
||||
|
||||
###############################################################################
|
||||
# Infrastructure VM node configuration.
|
||||
|
||||
|
@ -65,3 +65,9 @@ seed_vm_data_format: qcow2
|
||||
|
||||
# List of network interfaces to attach to the seed VM.
|
||||
seed_vm_interfaces: "{{ network_interfaces | sort | map('net_libvirt_vm_network') | list }}"
|
||||
|
||||
# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'bios'.
|
||||
seed_vm_boot_firmware: "bios"
|
||||
|
||||
# Machine type. Libvirt default configuration is used.
|
||||
seed_vm_machine:
|
||||
|
@ -85,6 +85,8 @@
|
||||
libvirt_vm_image_cache_path: "{{ image_cache_path }}"
|
||||
libvirt_vms:
|
||||
- name: "{{ vm_name }}"
|
||||
boot_firmware: "{{ vm_hostvars.infra_vm_boot_firmware | default }}"
|
||||
machine: "{{ vm_hostvars.infra_vm_machine | default }}"
|
||||
memory_mb: "{{ vm_hostvars.infra_vm_memory_mb }}"
|
||||
vcpus: "{{ vm_hostvars.infra_vm_vcpus }}"
|
||||
volumes: "{{ vm_hostvars.infra_vm_volumes + [vm_configdrive_volume] }}"
|
||||
|
@ -9,6 +9,7 @@
|
||||
pool: "{{ hostvars[vm_hostvars.infra_vm_hypervisor].infra_vm_pool }}"
|
||||
libvirt_vms:
|
||||
- name: "{{ vm_name }}"
|
||||
boot_firmware: "{{ vm_hostvars.infra_vm_boot_firmware | default }}"
|
||||
memory_mb: "{{ vm_hostvars.infra_vm_memory_mb }}"
|
||||
vcpus: "{{ vm_hostvars.infra_vm_vcpus }}"
|
||||
volumes: "{{ vm_hostvars.infra_vm_volumes + [infra_vm_configdrive_volume] }}"
|
||||
|
@ -8,9 +8,14 @@
|
||||
seed_vm_configdrive_volume:
|
||||
name: "{{ hostvars[seed_host].seed_vm_name }}-configdrive"
|
||||
pool: "{{ hostvars[seed_host].seed_vm_pool }}"
|
||||
libvirt_vm_name: "{{ hostvars[seed_host].seed_vm_name }}"
|
||||
libvirt_vm_memory_mb: "{{ hostvars[seed_host].seed_vm_memory_mb }}"
|
||||
libvirt_vm_vcpus: "{{ hostvars[seed_host].seed_vm_vcpus }}"
|
||||
libvirt_vm_volumes: "{{ hostvars[seed_host].seed_vm_volumes + [seed_vm_configdrive_volume] }}"
|
||||
libvirt_vm_state: "absent"
|
||||
libvirt_vms:
|
||||
- name: "{{ hostvars[seed_host].seed_vm_name }}"
|
||||
boot_firmware: "{{ hostvars[seed_host].seed_vm_boot_firmware | default }}"
|
||||
machine: "{{ hostvars[seed_host].seed_vm_machine | default }}"
|
||||
memory_mb: "{{ hostvars[seed_host].seed_vm_memory_mb }}"
|
||||
vcpus: "{{ hostvars[seed_host].seed_vm_vcpus }}"
|
||||
volumes: "{{ hostvars[seed_host].seed_vm_volumes + [seed_vm_configdrive_volume] }}"
|
||||
interfaces: "{{ hostvars[seed_host].seed_vm_interfaces }}"
|
||||
console_log_enabled: true
|
||||
state: absent
|
||||
become: True
|
||||
|
@ -115,12 +115,13 @@
|
||||
libvirt_vm_image_cache_path: "{{ image_cache_path }}"
|
||||
libvirt_vms:
|
||||
- name: "{{ hostvars[seed_host].seed_vm_name }}"
|
||||
boot_firmware: "{{ hostvars[seed_host].seed_vm_boot_firmware | default }}"
|
||||
machine: "{{ hostvars[seed_host].seed_vm_machine | default }}"
|
||||
memory_mb: "{{ hostvars[seed_host].seed_vm_memory_mb }}"
|
||||
vcpus: "{{ hostvars[seed_host].seed_vm_vcpus }}"
|
||||
volumes: "{{ hostvars[seed_host].seed_vm_volumes + [seed_vm_configdrive_volume] }}"
|
||||
interfaces: "{{ hostvars[seed_host].seed_vm_interfaces }}"
|
||||
console_log_enabled: true
|
||||
|
||||
tasks:
|
||||
- name: Wait for SSH access to the seed VM
|
||||
local_action:
|
||||
|
@ -58,6 +58,12 @@
|
||||
# OS family. Needed for config drive generation.
|
||||
#infra_vm_os_family:
|
||||
|
||||
# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'bios'.
|
||||
#infra_vm_boot_firmware:
|
||||
|
||||
# Machine type. Libvirt default configuration is used.
|
||||
#infra_vm_machine:
|
||||
|
||||
###############################################################################
|
||||
# Infrastructure VM node configuration.
|
||||
|
||||
|
@ -61,6 +61,12 @@
|
||||
#
|
||||
#seed_vm_interfaces:
|
||||
|
||||
# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'bios'.
|
||||
#seed_vm_boot_firmware:
|
||||
|
||||
# Machine type. Libvirt default configuration is used.
|
||||
#seed_vm_machine:
|
||||
|
||||
###############################################################################
|
||||
# Dummy variable to allow Ansible to accept this file.
|
||||
workaround_ansible_issue_8743: yes
|
||||
|
@ -33,6 +33,13 @@ seed_vm_memory_mb: "{{ 1 * 1024 }}"
|
||||
seed_bootstrap_user: cirros
|
||||
seed_vm_root_image: /opt/cache/files/cirros-0.5.3-x86_64-disk.img
|
||||
|
||||
{% if seed_vm_boot_firmware is defined %}
|
||||
seed_vm_boot_firmware: "{{ seed_vm_boot_firmware }}"
|
||||
{% endif %}
|
||||
{% if seed_vm_machine is defined %}
|
||||
seed_vm_machine: "{{ seed_vm_machine }}"
|
||||
{% endif %}
|
||||
|
||||
# Cirros doesn't load cdom drivers by default.
|
||||
seed_vm_configdrive_device: disk
|
||||
|
||||
|
@ -0,0 +1,8 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Adds support for specifying ``boot_firmware`` and ``machine`` variables to
|
||||
seed and infra VMs. This can be used to launch VMs in UEFI boot mode with
|
||||
Q35 machine type.
|
||||
- |
|
||||
Bumps stackhpc.libvirt-vm Ansible role to ``v1.16.1``.
|
@ -40,8 +40,8 @@ roles:
|
||||
version: 1.0.0
|
||||
- src: stackhpc.libvirt-host
|
||||
version: v1.12.1
|
||||
- src: stackhpc.libvirt-vm
|
||||
version: v1.14.2
|
||||
- name: stackhpc.libvirt-vm
|
||||
version: v1.16.1
|
||||
- src: stackhpc.luks
|
||||
version: 0.4.2
|
||||
- src: stackhpc.os-ironic-state
|
||||
|
@ -337,6 +337,31 @@
|
||||
parent: kayobe-seed-vm-base
|
||||
nodeset: kayobe-ubuntu-jammy
|
||||
|
||||
- job:
|
||||
name: kayobe-seed-vm-efi-base
|
||||
parent: kayobe-seed-vm-base
|
||||
description: |
|
||||
Base job for testing seed VM provisioning with EFI and q35
|
||||
vars:
|
||||
seed_vm_boot_firmware: efi
|
||||
seed_vm_machine: q35
|
||||
|
||||
- job:
|
||||
name: kayobe-seed-vm-centos9s-efi
|
||||
parent: kayobe-seed-vm-efi-base
|
||||
nodeset: kayobe-centos9s
|
||||
voting: false
|
||||
|
||||
- job:
|
||||
name: kayobe-seed-vm-rocky9-efi
|
||||
parent: kayobe-seed-vm-efi-base
|
||||
nodeset: kayobe-rocky9
|
||||
|
||||
- job:
|
||||
name: kayobe-seed-vm-ubuntu-jammy-efi
|
||||
parent: kayobe-seed-vm-efi-base
|
||||
nodeset: kayobe-ubuntu-jammy
|
||||
|
||||
- job:
|
||||
name: kayobe-infra-vm-base
|
||||
parent: kayobe-base
|
||||
|
@ -26,7 +26,9 @@
|
||||
- kayobe-seed-upgrade-rocky9
|
||||
- kayobe-seed-upgrade-ubuntu-jammy
|
||||
- kayobe-seed-vm-rocky9
|
||||
- kayobe-seed-vm-rocky9-efi
|
||||
- kayobe-seed-vm-ubuntu-jammy
|
||||
- kayobe-seed-vm-ubuntu-jammy-efi
|
||||
- kayobe-infra-vm-rocky9
|
||||
- kayobe-infra-vm-ubuntu-jammy
|
||||
gate:
|
||||
|
Loading…
Reference in New Issue
Block a user