summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schuppert <mschuppert@redhat.com>2020-12-07 18:16:07 +0100
committerRadosław Piliszek <radoslaw.piliszek@gmail.com>2020-12-18 15:17:52 +0000
commit5c075740425e92949f24901e45ff089c8b41d709 (patch)
treee73a5305dad5a0accca53e1260c9c335344d5bde
parent617421fb380f8b26531c4c4ac78b65a3f5a135ec (diff)
downloadkolla-5c075740425e92949f24901e45ff089c8b41d709.tar.gz
kolla-5c075740425e92949f24901e45ff089c8b41d709.zip
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 6176d54179109e85dee5ebc29a7726bcb05f76a9) (cherry picked from commit 40a1c7a6ebabb1554e0ce7b54d6b356c2bac1ce5) (cherry picked from commit 14b96abd6f6a6671d4dc97035b9ece61145cdcf2)
-rw-r--r--docker/nova/nova-compute/Dockerfile.j220
-rw-r--r--releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml7
2 files changed, 25 insertions, 2 deletions
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2
index 19a1f8514..efdb75aad 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/docker/nova/nova-compute/Dockerfile.j2
@@ -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 %}
diff --git a/releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml b/releasenotes/notes/nova_compute_daxio-b8655d31df15139a.yaml
new file mode 100644
index 000000000..ae606659e
--- /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.