Fix uefi jobs with native ubuntu ovmf package

The ovmf pacakge in bionic doesn't really work in our CI.
As a workaround we use the old package from xenial, but we can't keep
using it also in Ubuntu Focal.
This patch aims to convert the uefi jobs to use Ubuntu Focal as
base operating system and use the native ovmf package.

Story: 2007785
Task: 40025

Change-Id: I653e5da2672b14eae88c6cab923b8617432f1dc1
This commit is contained in:
Riccardo Pittau 2020-04-02 10:12:06 +02:00
parent 542442d4db
commit aac89c2149
4 changed files with 27 additions and 39 deletions

View File

@ -34,9 +34,11 @@ libvirt-devel [platform:rpm devstack]
qemu [platform:dpkg devstack build-image-dib]
qemu-kvm [platform:dpkg devstack]
qemu-utils [platform:dpkg devstack build-image-dib]
sgabios [devstack]
qemu-system-data [platform:dpkg devstack]
sgabios [platform: rpm devstack]
ipxe-qemu [platform:dpkg devstack]
edk2-ovmf [platform:rpm devstack]
ovmf [platform:dpkg devstack]
ipxe-roms-qemu [platform:rpm devstack]
openvswitch [platform:rpm devstack]
iptables [devstack]

View File

@ -6,36 +6,39 @@
# but only recommends it in Jessie/Xenial.
# Make sure syslinux-common is installed for those distros as it provides
# *.c32 modules for syslinux
# TODO remove distro pinning when Wheezy / Trusty are EOLed (May 2019)
# or DevStack stops supporting those.
# In the mean time, new Debian-based release codenames will have to be added
# as distros can not be pinned with 'if-later-than' specified.
apparmor
docker.io
gnupg
ipmitool
iptables
ipxe
ipxe-qemu
isolinux
gnupg
libguestfs0
jq
libguestfs-tools
libvirt-bin # dist:xenial,bionic NOPRIME
libguestfs0
libvirt-bin # dist:bionic
libvirt-daemon-driver-storage-gluster # dist:focal
libvirt-daemon-driver-lxc # dist:focal
libvirt-daemon-driver-storage-rbd # dist:focal
libvirt-daemon-system # dist:focal
libvirt-dev
open-iscsi
openssh-client
# TODO (etingof) pinning to older version in devstack/lib/ironic
#ovmf
pxelinux # dist:xenial,bionic
python-libguestfs
ovmf
pxelinux
python-libguestfs # dist:bionic
python3-guestfs # dist:focal
qemu
qemu-kvm
qemu-utils
sgabios
qemu-system-data # dist:focal
sgabios # dist:bionic
shellinabox
syslinux-common # dist:xenial,bionic
socat
squashfs-tools
syslinux-common
tftpd-hpa
xinetd
squashfs-tools
libvirt-dev
socat
ipxe-qemu
jq

View File

@ -1063,28 +1063,7 @@ function install_ironic {
# Replace the default virtio PXE ROM in QEMU with an EFI capable
# one. The EFI ROM should work on with both boot modes, Legacy
# BIOS and UEFI.
if is_ubuntu; then
# (rpittau) in bionic the UEFI in the ovmf 0~20180205.c0d9813c-2
# package is broken: EFI v2.70 by EDK II
# As a workaround, here we download and install the old working
# version from the multiverse repository: EFI v2.60 by EDK II
# Bug reference:
# https://bugs.launchpad.net/ubuntu/+source/edk2/+bug/1821729
local temp_deb
temp_deb="$(mktemp)"
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/e/edk2/ovmf_0~20160408.ffea0a2c-2_all.deb -O "$temp_deb"
sudo dpkg -i "$temp_deb"
rm -f "$temp_deb"
# NOTE(TheJulia): This no longer seems required as the ovmf images
# DO correctly network boot. The effect of this is making the
# default boot loader iPXE, which is not always desired nor
# realistic for hardware in the field.
# If it is after Train, we should likely just delete the lines
# below and consider the same for Fedora.
# sudo rm /usr/share/qemu/pxe-virtio.rom
# sudo ln -s /usr/lib/ipxe/qemu/efi-virtio.rom /usr/share/qemu/pxe-virtio.rom
elif is_fedora; then
if is_fedora; then
sudo rm /usr/share/qemu/pxe-virtio.rom
sudo ln -s /usr/share/ipxe.efi/1af41000.rom /usr/share/qemu/pxe-virtio.rom
fi

View File

@ -316,6 +316,7 @@
name: ironic-tempest-ipa-partition-uefi-pxe_ipmitool
description: ironic-tempest-ipa-partition-uefi-pxe_ipmitool
parent: ironic-base
nodeset: openstack-single-node-focal
timeout: 5400
vars:
devstack_localrc:
@ -635,6 +636,7 @@
name: ironic-tempest-ipa-partition-uefi-pxe-grub2
description: Ironic tempest scenario test utilizing PXE, UEFI, and Grub2
parent: ironic-base
nodeset: openstack-single-node-focal
vars:
devstack_localrc:
IRONIC_ENABLED_HARDWARE_TYPES: ipmi
@ -643,6 +645,8 @@
IRONIC_BOOT_MODE: uefi
IRONIC_AUTOMATED_CLEAN_ENABLED: False
IRONIC_DEFAULT_BOOT_OPTION: netboot
IRONIC_VM_SPECS_DISK: 10
IRONIC_VM_SPECS_RAM: 4096
- job:
# Security testing for known issues