Update ovmf-amdsev from ovmf-cc to boot UEFI VMs

Fix for a package was expected in edk2-20220526git16779ede2d36-2.el9,
but it's not there yet.

Without this fix, Nova cannot boot UEFI instances for x86_64 arch because
there is no nvram-template data in
/usr/share/qemu/firmware/edk2-ovmf-amdsev.json.

Symlinking it from /usr/share/qemu/firmware/edk2-ovmf-cc.json would be
quick and dirty w/a but it's better to merge the nvram-template into
it. This way other amdsev-specific feautes would be preserved.

Provide that merging data w/a for nova virtqemud containers build
scripts, until it is fixed in centos-stream9 and rhel9 packaging.

Nova compute also reads those ovmf files, so apply the w/a to
nova compute TCIB as well. It is not clear where from these files
come into nova compute container (edk2-ovmf is only installed in
the libvirt virtqemud container, and no packages require it in
RDO), so for safety reasons, add a quarding check for the source file
presense.

Change-Id: Ieaacb67d16e82e9c34fcfb31398da5a95cdc3d43
Related: rhbz#2090752
Related: rhbz#2109644
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
This commit is contained in:
Bogdan Dobrelya 2022-08-24 14:50:24 +02:00
parent 915ff9243c
commit 615cf9ff6e
2 changed files with 4 additions and 0 deletions

View File

@ -6,11 +6,13 @@ tcib_actions:
- run: bash /usr/local/bin/uid_gid_manage nova
- run: rm -f /etc/machine-id
- run: ln -s /usr/share/openstack-tripleo-common/healthcheck/nova-compute /openstack/healthcheck && chmod a+rx /openstack/healthcheck
- run: test -f /usr/share/qemu/firmware/50-edk2-ovmf-cc.json && jq ".mapping[\"nvram-template\"] = $(jq ".mapping[\"nvram-template\"]" /usr/share/qemu/firmware/50-edk2-ovmf-cc.json)" /usr/share/qemu/firmware/50-edk2-ovmf-amdsev.json > /tmp/50-edk2-ovmf-amdsev_.json && mv -f /tmp/50-edk2-ovmf-amdsev_.json /usr/share/qemu/firmware/50-edk2-ovmf-amdsev.json
tcib_packages:
common:
- ceph-common
- device-mapper-multipath
- e2fsprogs
- jq
- xorriso
- iscsi-initiator-utils
- ndctl

View File

@ -3,10 +3,12 @@ tcib_actions:
- run: if [ '{{ tcib_release }}' == '8' ]; then dnf -y install {{ tcib_packages['el8'] | join(' ') }}; fi
- run: dnf -y install {{ tcib_packages['common'] | join(' ') }} && dnf clean all && rm -rf /var/cache/dnf
- run: ln -s /usr/share/openstack-tripleo-common/healthcheck/nova-libvirt /openstack/healthcheck && chmod a+rx /openstack/healthcheck
- run: jq ".mapping[\"nvram-template\"] = $(jq ".mapping[\"nvram-template\"]" /usr/share/qemu/firmware/50-edk2-ovmf-cc.json)" /usr/share/qemu/firmware/50-edk2-ovmf-amdsev.json > /tmp/50-edk2-ovmf-amdsev_.json && mv -f /tmp/50-edk2-ovmf-amdsev_.json /usr/share/qemu/firmware/50-edk2-ovmf-amdsev.json
tcib_packages:
common:
- ceph-common
- cyrus-sasl-scram
- jq
- libguestfs
- libseccomp
- libvirt-admin