aboutsummaryrefslogtreecommitdiff
path: root/docker/nova/nova-libvirt
diff options
context:
space:
mode:
authorchenxing <chason.chan@foxmail.com>2019-09-16 14:46:41 +0800
committerRadosław Piliszek <radoslaw.piliszek@gmail.com>2020-01-31 10:19:55 +0100
commit15b68c15c1dd0c2df1cc49b550f2fa03a4c65e8e (patch)
treed0cd46e0d26df4c09987b81725434fa3e85ecfe6 /docker/nova/nova-libvirt
parenta68223412e6e3289173adca1af760157b25121c2 (diff)
downloadkolla-15b68c15c1dd0c2df1cc49b550f2fa03a4c65e8e.tar.gz
kolla-15b68c15c1dd0c2df1cc49b550f2fa03a4c65e8e.zip
nova-libvirt: add UEFI packages to support UEFI instances
Fix inability to run UEFI-based images/instances by installing UEFI packages also in nova-libvirt image which is not based on nova-base. Includes support for C8. Backport below Train w/o C8. Closes-Bug: #1814552 Co-authored-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com> Change-Id: I1d5cd3d9af98444acac5bedd7daeaa6c6673dcd6
Diffstat (limited to 'docker/nova/nova-libvirt')
-rw-r--r--docker/nova/nova-libvirt/Dockerfile.j230
1 files changed, 30 insertions, 0 deletions
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index 12ca843ef..a031ab8e4 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -33,6 +33,28 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
] %}
{% endif %}
+ {% if base_arch == 'x86_64' %}
+ {% if base_distro_tag.startswith('7') %}
+ {% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'OVMF'
+ ] %}
+ {% else %}
+ {% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'edk2-ovmf'
+ ] %}
+ {% endif %}
+ {% elif base_arch == 'aarch64' %}
+ {% if base_distro_tag.startswith('7') %}
+ {% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'AAVMF'
+ ] %}
+ {% else %}
+ {% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'edk2-aarch64'
+ ] %}
+ {% endif %}
+ {% endif %}
+
{% elif base_package_type == 'deb' %}
{% set nova_libvirt_packages = [
@@ -56,6 +78,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
] %}
{% elif base_arch == "x86_64" %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'ovmf',
'qemu-kvm'
] %}
{% endif %}
@@ -80,6 +103,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
RUN rm -f /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/autostart/default.xml
+{% elif base_package_type == 'rpm' %}
+
+ {% if base_arch == 'x86_64' and base_distro_tag.startswith('7') %}
+# NOTE(jeffrey4l): for x86_64, nova will validate the existence of /usr/share/OVMF/OVMF_CODE.fd
+RUN ln -sf /usr/share/OVMF/OVMF_CODE.secboot.fd /usr/share/OVMF/OVMF_CODE.fd
+ {% endif %}
+
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start