From f8d4db54db8f2ab2c7f99f0fcbc456177d33ddad Mon Sep 17 00:00:00 2001
From: Jan Gutter <github@jangutter.com>
Date: Tue, 26 Sep 2023 21:37:32 +0100
Subject: [PATCH] zun: Deprecate Zun provisionally

* Zun currently has a dependency on a combination of Docker and
  etcd that is no longer installable (or supported) in newer
  distros.
* These components are core dependencies of other systems and
  vendoring them will be very painful.
* Work to update Zun past this is scheduled for the 'C' cycle.
* If Zun regains compatibility, backports to this series will be
  considered.

Change-Id: I6a2a4ffdcaf1c4fab1097e94d5f255ffb9a2947d
---
 ansible/roles/prechecks/tasks/service_checks.yml |  9 +++++++++
 doc/source/reference/compute/zun-guide.rst       | 12 ++++++++++++
 ...provisional-deprecation-1db1295f733ec3fe.yaml | 16 ++++++++++++++++
 zuul.d/project.yaml                              |  2 --
 4 files changed, 37 insertions(+), 2 deletions(-)
 create mode 100644 releasenotes/notes/zun-provisional-deprecation-1db1295f733ec3fe.yaml

diff --git a/ansible/roles/prechecks/tasks/service_checks.yml b/ansible/roles/prechecks/tasks/service_checks.yml
index e85cbd7084..1fdae59cef 100644
--- a/ansible/roles/prechecks/tasks/service_checks.yml
+++ b/ansible/roles/prechecks/tasks/service_checks.yml
@@ -61,3 +61,12 @@
     msg: "We are sorry but enable_ceph is no longer supported. Please use external ceph support."
   when:
     - (enable_ceph | default()) | bool
+
+- name: Validate that enable_zun is disabled
+  run_once: True
+  fail:
+    msg: |
+      Apologies, Zun is currently not supported for this release.
+      Please consult the release notes.
+  when:
+    - (enable_zun | default()) | bool
diff --git a/doc/source/reference/compute/zun-guide.rst b/doc/source/reference/compute/zun-guide.rst
index 357ce22251..aaabe537e9 100644
--- a/doc/source/reference/compute/zun-guide.rst
+++ b/doc/source/reference/compute/zun-guide.rst
@@ -8,6 +8,18 @@ workload on OpenStack."
 For more details about Zun, see `OpenStack Zun Documentation
 <https://docs.openstack.org/zun/latest/>`__.
 
+.. warning::
+
+   Zun is currently NOT SUPPORTED for this version of Kolla-Ansible.
+
+   Since work on repairing compatibility is expected to start development
+   during the 2024.1 release cycle, backports will be considered to the
+   stable series to bridge the migration path.
+
+   While the service containers and ansible roles still remain, a working
+   installation is currently not possible in CI, and therefore is not
+   supported.
+
 Preparation and Deployment
 --------------------------
 
diff --git a/releasenotes/notes/zun-provisional-deprecation-1db1295f733ec3fe.yaml b/releasenotes/notes/zun-provisional-deprecation-1db1295f733ec3fe.yaml
new file mode 100644
index 0000000000..45687c6781
--- /dev/null
+++ b/releasenotes/notes/zun-provisional-deprecation-1db1295f733ec3fe.yaml
@@ -0,0 +1,16 @@
+---
+upgrade:
+  - |
+    Support for Zun for this release has been provisionally dropped. This is
+    due to a number of base dependencies that require updating. The Zun images
+    remain buildable, and the roles have not been removed, but a precheck
+    has been added to prevent breaking current deployments.
+
+    Operators are strongly encouraged to hold off upgrading if Zun is a
+    requirement. Please also consult the deprecation notes.
+deprecations:
+  - |
+    Zun is currently provisionally deprecated but not removed. If Zun regains
+    compatibility within the next release cycle, backports to this version of
+    Kolla and Kolla-Ansible will be considered to provide a smooth upgrade
+    path.
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 2cc7c0f0ba..11dc1a1c6d 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -22,8 +22,6 @@
         - kolla-ansible-ubuntu-multinode-ipv6
         - kolla-ansible-rocky9-bifrost
         - kolla-ansible-ubuntu-bifrost
-        - kolla-ansible-rocky9-zun
-        - kolla-ansible-ubuntu-zun
         - kolla-ansible-rocky9-swift
         - kolla-ansible-ubuntu-swift
         - kolla-ansible-rocky9-scenario-nfv
-- 
GitLab