aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/nova/nova-base/Dockerfile.j254
1 files changed, 53 insertions, 1 deletions
diff --git a/docker/nova/nova-base/Dockerfile.j2 b/docker/nova/nova-base/Dockerfile.j2
index 959319a59..73f3ca02e 100644
--- a/docker/nova/nova-base/Dockerfile.j2
+++ b/docker/nova/nova-base/Dockerfile.j2
@@ -18,6 +18,18 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'python-keystoneclient'
] %}
+ {% if base_arch == 'x86_64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'OVMF'
+ ] %}
+ {% elif base_arch == 'aarch64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'AAVMF'
+ ] %}
+ {% elif base_arch == 'ppc64le' %}
+ {# NOTE(Jeffrey4l): no packages for ppc64le #}
+ {% endif %}
+
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set nova_base_packages = [
@@ -26,7 +38,17 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openvswitch-switch',
'python-nova'
] %}
-
+ {% if base_arch == 'x86_64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'ovmf'
+ ] %}
+ {% elif base_arch == 'aarch64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'qemu-efi',
+ ] %}
+ {% elif base_arch == 'ppc64le' %}
+ {# NOTE(Jeffrey4l): no packages for ppc64le #}
+ {% endif %}
{% endif %}
{{ macros.install_packages(nova_base_packages | customizable("packages")) }}
@@ -38,6 +60,17 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'bridge-utils',
'openvswitch'
] %}
+ {% if base_arch == 'x86_64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'OVMF'
+ ] %}
+ {% elif base_arch == 'aarch64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'AAVMF'
+ ] %}
+ {% elif base_arch == 'ppc64le' %}
+ {# NOTE(Jeffrey4l): no packages for ppc64le #}
+ {% endif %}
{% elif base_distro in ['debian', 'ubuntu'] %}
@@ -51,6 +84,17 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openvswitch-switch',
'python-libvirt'
] %}
+ {% if base_arch == 'x86_64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'ovmf'
+ ] %}
+ {% elif base_arch == 'aarch64' %}
+ {% set nova_base_packages = nova_base_packages + [
+ 'qemu-efi',
+ ] %}
+ {% elif base_arch == 'ppc64le' %}
+ {# NOTE(Jeffrey4l): no packages for ppc64le #}
+ {% endif %}
{% endif %}
@@ -83,6 +127,14 @@ RUN chmod 750 /etc/sudoers.d \
{% endif %}
+
+{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+ {% if base_arch == 'x86_64' %}
+# 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
RUN touch /usr/local/bin/kolla_nova_extend_start \