From 9df7d4128aeb23c60c1ff06772255344fe146684 Mon Sep 17 00:00:00 2001 From: Jakub Darmach Date: Fri, 2 Aug 2024 14:59:36 +0200 Subject: [PATCH] Add support for Ubuntu Noble Numbat (24.04 LTS) ubuntu-ceph is broken for now due to [1], also there are no download.ceph.com packages for Noble - so we're using Ubuntu provided ones from proposed - because current version in regular repos is built from git sha instead of a release and is not suitable for running outside of Ceph upstream CI. [1]: https://tracker.ceph.com/issues/66389 Depends-On: https://review.opendev.org/c/openstack/kolla/+/907589 Change-Id: I384068572d8a1a495c60b401dc4144a0a80802f1 --- ansible/roles/prechecks/vars/main.yml | 1 + .../notes/ubuntu-noble-936f8c63ce5801e3.yaml | 4 ++ roles/cephadm/tasks/pkg_debian.yml | 4 +- tests/pre.yml | 28 ++++++++++ zuul.d/jobs.yaml | 52 +++++++++---------- zuul.d/nodesets.yaml | 26 +++++----- 6 files changed, 75 insertions(+), 40 deletions(-) create mode 100644 releasenotes/notes/ubuntu-noble-936f8c63ce5801e3.yaml diff --git a/ansible/roles/prechecks/vars/main.yml b/ansible/roles/prechecks/vars/main.yml index dc732a08e8..7e253b9cfa 100644 --- a/ansible/roles/prechecks/vars/main.yml +++ b/ansible/roles/prechecks/vars/main.yml @@ -17,3 +17,4 @@ host_os_distributions: - "9" Ubuntu: - "jammy" + - "noble" diff --git a/releasenotes/notes/ubuntu-noble-936f8c63ce5801e3.yaml b/releasenotes/notes/ubuntu-noble-936f8c63ce5801e3.yaml new file mode 100644 index 0000000000..8f1a3161c3 --- /dev/null +++ b/releasenotes/notes/ubuntu-noble-936f8c63ce5801e3.yaml @@ -0,0 +1,4 @@ +--- +upgrade: + - | + Adds support for ``Ubuntu Noble Numbat 24.04`` as a host operating system. diff --git a/roles/cephadm/tasks/pkg_debian.yml b/roles/cephadm/tasks/pkg_debian.yml index d088952576..86f6eddd70 100644 --- a/roles/cephadm/tasks/pkg_debian.yml +++ b/roles/cephadm/tasks/pkg_debian.yml @@ -15,6 +15,8 @@ - name: Install cephadm apt: - name: cephadm + name: + - cephadm + - python3-jinja2 install_recommends: False become: True diff --git a/tests/pre.yml b/tests/pre.yml index d4247ad33e..40f5b841f1 100644 --- a/tests/pre.yml +++ b/tests/pre.yml @@ -127,3 +127,31 @@ until: "'synchronized: yes' in timedatectl_status.stdout" retries: 90 delay: 10 + + # TODO(mnasiadka): Remove when both podman and cephadm packages get promoted to usual repos + - name: Enable noble-proposed repository on Ubuntu 24.04 + apt_repository: + repo: "deb http://archive.ubuntu.com/ubuntu/ noble-proposed restricted main multiverse universe" + state: present + become: true + when: + - container_engine in ['cephadm', 'podman'] + - ansible_facts.distribution == "Ubuntu" + - ansible_facts.distribution_release == "noble" + + # TODO(mnasiadka): Remove once ceph release is out with patched https://tracker.ceph.com/issues/66389 + - name: Handling for cephadm apparmor bug on Ubuntu Noble 24.04 + when: + - ansible_facts.distribution == "Ubuntu" + - ansible_facts.distribution_release == "noble" + - scenario == "cephadm" + block: + - name: Install AppArmor on Ubuntu Noble 24.04 + apt: + name: apparmor + become: true + + - name: Disable MongoDB Compass AppArmor profile + command: + cmd: "apparmor_parser -R /etc/apparmor.d/MongoDB_Compass" + become: true diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index de7b6d5f70..38d7da5e21 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -66,7 +66,7 @@ - job: name: kolla-ansible-ubuntu parent: kolla-ansible-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu tls_enabled: true @@ -74,7 +74,7 @@ - job: name: kolla-ansible-ubuntu-podman parent: kolla-ansible-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu tls_enabled: true @@ -90,7 +90,7 @@ - job: name: kolla-ansible-ubuntu-kvm parent: kolla-ansible-kvm-base - nodeset: kolla-ansible-jammy-nested-virt + nodeset: kolla-ansible-noble-nested-virt vars: base_distro: ubuntu @@ -104,7 +104,7 @@ - job: name: kolla-ansible-ubuntu-multinode-ipv6 parent: kolla-ansible-ipv6-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu @@ -120,7 +120,7 @@ - job: name: kolla-ansible-ubuntu-cephadm parent: kolla-ansible-cephadm-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi timeout: 10800 vars: base_distro: ubuntu @@ -143,7 +143,7 @@ - job: name: kolla-ansible-ubuntu-mariadb parent: kolla-ansible-mariadb-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu @@ -212,7 +212,7 @@ - job: name: kolla-ansible-ubuntu-slurp-upgrade parent: kolla-ansible-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble timeout: 9000 branches: master vars: @@ -256,7 +256,7 @@ - job: name: kolla-ansible-ubuntu-slurp-upgrade-cephadm parent: kolla-ansible-cephadm-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi timeout: 9000 branches: master vars: @@ -303,7 +303,7 @@ - job: name: kolla-ansible-ubuntu-bifrost parent: kolla-ansible-bifrost-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu @@ -317,7 +317,7 @@ - job: name: kolla-ansible-ubuntu-zun parent: kolla-ansible-zun-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu @@ -334,12 +334,12 @@ - job: name: kolla-ansible-ubuntu-swift parent: kolla-ansible-swift-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu # NOTE(yoctozepto): We need this here because we initialise Swift outside # of Kolla Ansible and need to know the version of images. - base_distro_version: jammy + base_distro_version: noble - job: name: kolla-ansible-rocky9-swift-upgrade @@ -356,13 +356,13 @@ - job: name: kolla-ansible-ubuntu-swift-upgrade parent: kolla-ansible-swift-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi timeout: 10800 vars: base_distro: ubuntu # NOTE(yoctozepto): We need this here because we initialise Swift outside # of Kolla Ansible and need to know the version of images. - base_distro_version: jammy + base_distro_version: noble is_upgrade: yes - job: @@ -389,7 +389,7 @@ - job: name: kolla-ansible-ubuntu-ironic parent: kolla-ansible-ironic-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu @@ -403,7 +403,7 @@ - job: name: kolla-ansible-ubuntu-magnum parent: kolla-ansible-magnum-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu @@ -417,14 +417,14 @@ - job: name: kolla-ansible-ubuntu-octavia parent: kolla-ansible-octavia-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu - job: name: kolla-ansible-ubuntu-masakari parent: kolla-ansible-masakari-base - nodeset: kolla-ansible-jammy-masakari + nodeset: kolla-ansible-noble-masakari vars: base_distro: ubuntu @@ -438,7 +438,7 @@ - job: name: kolla-ansible-ubuntu-cells parent: kolla-ansible-cells-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu @@ -466,14 +466,14 @@ - job: name: kolla-ansible-ubuntu-ovn parent: kolla-ansible-ovn-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu - job: name: kolla-ansible-ubuntu-lets-encrypt parent: kolla-ansible-lets-encrypt-base - nodeset: kolla-ansible-jammy-multi + nodeset: kolla-ansible-noble-multi vars: base_distro: ubuntu @@ -494,7 +494,7 @@ - job: name: kolla-ansible-ubuntu-prometheus-opensearch parent: kolla-ansible-prometheus-opensearch-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu @@ -524,7 +524,7 @@ - job: name: kolla-ansible-ubuntu-venus parent: kolla-ansible-venus-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu @@ -546,7 +546,7 @@ - job: name: kolla-ansible-ubuntu-haproxy-fqdn parent: kolla-ansible-haproxy-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu tls_enabled: true @@ -554,7 +554,7 @@ - job: name: kolla-ansible-ubuntu-skyline parent: kolla-ansible-skyline-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu @@ -568,7 +568,7 @@ - job: name: kolla-ansible-ubuntu-skyline-sso parent: kolla-ansible-skyline-sso-base - nodeset: kolla-ansible-jammy + nodeset: kolla-ansible-noble vars: base_distro: ubuntu diff --git a/zuul.d/nodesets.yaml b/zuul.d/nodesets.yaml index 4e57959dd3..39d94de373 100644 --- a/zuul.d/nodesets.yaml +++ b/zuul.d/nodesets.yaml @@ -18,10 +18,10 @@ label: debian-bookworm-arm64 - nodeset: - name: kolla-ansible-jammy + name: kolla-ansible-noble nodes: - name: primary - label: ubuntu-jammy + label: ubuntu-noble - nodeset: name: kolla-ansible-debian-bookworm-multi @@ -40,14 +40,14 @@ label: rockylinux-9 - nodeset: - name: kolla-ansible-jammy-multi + name: kolla-ansible-noble-multi nodes: - name: primary - label: ubuntu-jammy + label: ubuntu-noble - name: secondary1 - label: ubuntu-jammy + label: ubuntu-noble - name: secondary2 - label: ubuntu-jammy + label: ubuntu-noble - nodeset: name: kolla-ansible-rocky9-multi @@ -60,10 +60,10 @@ label: rockylinux-9 - nodeset: - name: kolla-ansible-jammy-nested-virt + name: kolla-ansible-noble-nested-virt nodes: - name: primary - label: nested-virt-ubuntu-jammy + label: nested-virt-ubuntu-noble - nodeset: name: kolla-ansible-rocky9-nested-virt @@ -72,16 +72,16 @@ label: nested-virt-centos-9-stream - nodeset: - name: kolla-ansible-jammy-masakari + name: kolla-ansible-noble-masakari nodes: - name: primary - label: ubuntu-jammy + label: ubuntu-noble - name: secondary - label: ubuntu-jammy + label: ubuntu-noble - name: ternary1 - label: ubuntu-jammy + label: ubuntu-noble - name: ternary2 - label: ubuntu-jammy + label: ubuntu-noble - nodeset: name: kolla-ansible-rocky9-masakari