Add daxio for nvdimm scenario

nova-compute uses daxio to cleanup vpmem backend device on instance
delete. If the daxio binary is missing in the nova-compute container
instance delete fails. daxio is provided in centos via daxio, in
ubuntu via the pmdk-tools package.

Conflicts:
  docker/base/apt_preferences.debian

Also:
nova-compute: daxio on CentOS 8 is x86-64 only

Change-Id: Ifb5948653565e2ae902783762e20e33527020efe
Closes-Bug: 1907124
(cherry picked from commit 6176d54179)
(cherry picked from commit 40a1c7a6eb)
(cherry picked from commit 14b96abd6f)
This commit is contained in:
Martin Schuppert 2020-12-07 18:16:07 +01:00 committed by Radosław Piliszek
parent 617421fb38
commit 5c07574042
2 changed files with 25 additions and 2 deletions

View File

@ -39,6 +39,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
] %}
{% endif %}
# NOTE(hrw): daxio is part of pmdk which is x86-64 only in CentOS 8
{% if base_arch == 'x86_64' %}
{% set nova_compute_packages = nova_compute_packages + [
'daxio'
] %}
{% endif %}
{{ macros.install_packages(nova_compute_packages | customizable("packages")) }}
{% elif base_package_type == 'deb' %}
@ -55,6 +62,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openvswitch-switch',
'open-iscsi',
'parted',
'pmdk-tools',
'python3-cephfs',
'python3-guestfs',
'python3-ironicclient',
@ -71,7 +79,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_distro == 'debian' or
(base_distro == 'ubuntu' and base_arch == 'x86_64') %}
{% set nova_compute_packages = nova_compute_packages + [
'ndctl'
'ndctl',
] %}
{% endif %}
@ -122,6 +130,13 @@ RUN rm -f /etc/nova/nova-compute.conf
] %}
{% endif %}
# NOTE(hrw): daxio is part of pmdk which is x86-64 only in CentOS 8
{% if base_arch == 'x86_64' %}
{% set nova_compute_packages = nova_compute_packages + [
'daxio'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set nova_compute_packages = [
@ -134,6 +149,7 @@ RUN rm -f /etc/nova/nova-compute.conf
'nfs-common',
'open-iscsi',
'parted',
'pmdk-tools',
'python3-cephfs',
'python3-guestfs',
'python3-libvirt',
@ -156,7 +172,7 @@ RUN rm -f /etc/nova/nova-compute.conf
{% if base_distro == 'debian' or
(base_distro == 'ubuntu' and base_arch == 'x86_64') %}
{% set nova_compute_packages = nova_compute_packages + [
'ndctl'
'ndctl',
] %}
{% endif %}

View File

@ -0,0 +1,7 @@
---
fixes:
- |
nova-compute uses daxio to cleanup vpmem backend device on instance
delete. If the daxio binary is missing in the nova-compute container
instance delete fails. daxio is provided in centos via daxio, in
ubuntu via the pmdk-tools package.