kolla/docker/nova/nova-libvirt/Dockerfile.j2
Pierre Riteau 8ec8ef3d8a Revert "libvirt: pin edk2-ovmf"
The "internal error: unknown feature amd-sev-es" error in libvirt seen
with the edk2-ovmf package is fixed by a commit in libvirt 7.4.0 [0] to
avoid erroring out on unknown QEMU firmware features.

CentOS Stream 8 was wrongly using the CentOS 8 advanced-virtualization
repository [1] instead of the CentOS Stream 8 one [2]. This is fixed by
centos-release-advanced-virtualization-1.0-3 [3], which should bring
libvirt-7.4.0-1 into our nova-libvirt image.

This reverts commit 1a2c33512b6c4bdcdbf7d7bb08e791fb53e4f063.

[0] 61d95a1073
[1] http://mirror.centos.org/centos/8/virt/x86_64/advanced-virtualization/
[2] http://mirror.centos.org/centos/8-stream/virt/x86_64/advancedvirt-common/
[3] https://koji.mbox.centos.org/koji/buildinfo?buildID=18004

Change-Id: I1f58262109dd27a4c4ee9b60d87010170b5ea7bb
2021-06-18 07:22:35 +02:00

98 lines
2.7 KiB
Django/Jinja

FROM {{ namespace }}/{{ infra_image_prefix }}base:{{ tag }}
{% block labels %}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% endblock %}
{% block nova_libvirt_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='nova', groups='qemu') }}
{{ macros.enable_extra_repos(['ceph', 'libvirt', 'openvswitch']) }}
{% if base_package_type == 'rpm' %}
{% set nova_libvirt_packages = [
'ceph-common',
'cyrus-sasl-scram',
'libguestfs',
'libvirt-client',
'libvirt-daemon',
'libvirt-daemon-config-nwfilter',
'libvirt-daemon-driver-nwfilter',
'openvswitch',
'qemu-kvm',
'trousers'
] %}
{% if base_arch == 'x86_64' %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'edk2-ovmf'
] %}
{% elif base_arch == 'aarch64' %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'edk2-aarch64'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set nova_libvirt_packages = [
'ceph-common',
'ebtables',
'libvirt-clients',
'libvirt-daemon-system',
'openvswitch-switch',
'pm-utils',
'python3-cephfs',
'python3-rados',
'python3-rbd',
'qemu-block-extra',
'qemu-system',
'trousers'
] %}
{% if base_arch == "aarch64" %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'qemu-efi-aarch64'
] %}
{% elif base_arch == "x86_64" %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'ovmf',
] %}
# NOTE(hrw): Debian merged 'qemu-kvm' into 'qemu-system-ARCH' in 5.0-9
{% if base_distro == 'ubuntu' %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'qemu-kvm'
] %}
{% endif %}
{% endif %}
{% if base_arch in ['aarch64', 'x86_64'] %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'dmidecode',
'xen-utils'
] %}
{% endif %}
{% if base_distro in ['debian'] %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
'usermode'
] %}
{% endif %}
{% endif %}
{{ macros.install_packages(nova_libvirt_packages | customizable("packages")) }}
{% if base_package_type == 'deb' %}
RUN rm -f /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/autostart/default.xml
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start
{% block nova_libvirt_footer %}{% endblock %}
{% block footer %}{% endblock %}