From 9a77fb1ca05944caeb6b021ebbcfd7520c3d0ac7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= <radoslaw.piliszek@gmail.com>
Date: Sun, 30 May 2021 18:32:05 +0000
Subject: [PATCH] Add support for Debian Bullseye (11) as host distro

Makes nova-libvirt container always run in 'host' CgroupnsMode
to ensure it works.

Change-Id: I75105baf434977c68bc5c8ca1f5213e602c52c8c
---
 ansible/roles/nova-cell/defaults/main.yml                     | 1 +
 ansible/roles/nova-cell/handlers/main.yml                     | 1 +
 ansible/roles/nova-cell/tasks/check-containers.yml            | 1 +
 ansible/roles/prechecks/vars/main.yml                         | 1 +
 releasenotes/notes/debian-bullseye-host-adc7778d7103b84f.yaml | 4 ++++
 5 files changed, 8 insertions(+)
 create mode 100644 releasenotes/notes/debian-bullseye-host-adc7778d7103b84f.yaml

diff --git a/ansible/roles/nova-cell/defaults/main.yml b/ansible/roles/nova-cell/defaults/main.yml
index 6c252ecf3..de6a4b6b8 100644
--- a/ansible/roles/nova-cell/defaults/main.yml
+++ b/ansible/roles/nova-cell/defaults/main.yml
@@ -8,6 +8,7 @@ nova_cell_services:
     enabled: "{{ nova_compute_virt_type in ['kvm', 'qemu'] }}"
     image: "{{ nova_libvirt_image_full }}"
     pid_mode: "host"
+    cgroupns_mode: "host"
     privileged: True
     volumes: "{{ nova_libvirt_default_volumes + nova_libvirt_extra_volumes }}"
     dimensions: "{{ nova_libvirt_dimensions }}"
diff --git a/ansible/roles/nova-cell/handlers/main.yml b/ansible/roles/nova-cell/handlers/main.yml
index c7dd63d70..79aae420f 100644
--- a/ansible/roles/nova-cell/handlers/main.yml
+++ b/ansible/roles/nova-cell/handlers/main.yml
@@ -100,6 +100,7 @@
     name: "{{ service.container_name }}"
     image: "{{ service.image }}"
     pid_mode: "{{ service.pid_mode | default('') }}"
+    cgroupns_mode: "{{ service.cgroupns_mode | default(omit) }}"
     privileged: "{{ service.privileged | default(False) }}"
     volumes: "{{ service.volumes|reject('equalto', '')|list }}"
     dimensions: "{{ service.dimensions }}"
diff --git a/ansible/roles/nova-cell/tasks/check-containers.yml b/ansible/roles/nova-cell/tasks/check-containers.yml
index 4746919ea..2549595b5 100644
--- a/ansible/roles/nova-cell/tasks/check-containers.yml
+++ b/ansible/roles/nova-cell/tasks/check-containers.yml
@@ -8,6 +8,7 @@
     image: "{{ item.value.image }}"
     environment: "{{ item.value.environment|default(omit) }}"
     pid_mode: "{{ item.value.pid_mode|default('') }}"
+    cgroupns_mode: "{{ item.value.cgroupns_mode|default(omit) }}"
     ipc_mode: "{{ item.value.ipc_mode|default(omit) }}"
     privileged: "{{ item.value.privileged|default(False) }}"
     volumes: "{{ item.value.volumes|reject('equalto', '')|list }}"
diff --git a/ansible/roles/prechecks/vars/main.yml b/ansible/roles/prechecks/vars/main.yml
index a367717c7..3d9445c11 100644
--- a/ansible/roles/prechecks/vars/main.yml
+++ b/ansible/roles/prechecks/vars/main.yml
@@ -13,6 +13,7 @@ host_os_distributions:
     - "8"
   Debian:
     - "buster"
+    - "bullseye"
   RHEL:
     - "8"
   Ubuntu:
diff --git a/releasenotes/notes/debian-bullseye-host-adc7778d7103b84f.yaml b/releasenotes/notes/debian-bullseye-host-adc7778d7103b84f.yaml
new file mode 100644
index 000000000..aa1240162
--- /dev/null
+++ b/releasenotes/notes/debian-bullseye-host-adc7778d7103b84f.yaml
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Supports Debian Bullseye (11) as host distribution.
-- 
GitLab