From 6176d54179109e85dee5ebc29a7726bcb05f76a9 Mon Sep 17 00:00:00 2001 From: Martin Schuppert Date: Mon, 7 Dec 2020 18:16:07 +0100 Subject: [PATCH] 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. Change-Id: Ifb5948653565e2ae902783762e20e33527020efe Closes-Bug: 1907124 --- docker/base/apt_preferences.debian | 2 +- docker/nova/nova-compute/Dockerfile.j2 | 8 ++++++-- .../notes/nova_compute_daxio-b8655d31df15139a.yaml | 7 +++++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml diff --git a/docker/base/apt_preferences.debian b/docker/base/apt_preferences.debian index b1a127eb29..755c18c81c 100644 --- a/docker/base/apt_preferences.debian +++ b/docker/base/apt_preferences.debian @@ -48,6 +48,6 @@ Pin: version 1:5.0* Pin-Priority: 700 # QEMU depends on those -Package: libpmem1 libndctl6 libdaxctl1 +Package: libpmem1 libndctl6 libdaxctl1 pmdk-tools libpmemblk1 libpmemlog1 libpmemobj1 libpmempool1 Pin: release n=buster-backports Pin-Priority: 700 diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2 index 2a8efb670c..e3b76583a5 100644 --- a/docker/nova/nova-compute/Dockerfile.j2 +++ b/docker/nova/nova-compute/Dockerfile.j2 @@ -14,6 +14,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% set nova_compute_packages = [ 'ceph-common', + 'daxio', 'device-mapper-multipath', 'e2fsprogs', 'genisoimage', @@ -48,6 +49,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'openvswitch-switch', 'open-iscsi', 'parted', + 'pmdk-tools', 'python3-cephfs', 'python3-guestfs', 'python3-ironicclient', @@ -64,7 +66,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 %} @@ -78,6 +80,7 @@ RUN rm -f /etc/nova/nova-compute.conf {% set nova_compute_packages = [ 'ceph-common', + 'daxio', 'device-mapper-multipath', 'dosfstools', 'e2fsprogs', @@ -109,6 +112,7 @@ RUN rm -f /etc/nova/nova-compute.conf 'nfs-common', 'open-iscsi', 'parted', + 'pmdk-tools', 'python3-cephfs', 'python3-guestfs', 'python3-libvirt', @@ -131,7 +135,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 %} diff --git a/releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml b/releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml new file mode 100644 index 0000000000..ae606659e3 --- /dev/null +++ b/releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml @@ -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.