From d72b3394a2762ee583c0589f18c2afbcd2399b8d Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 20 Jun 2023 17:59:04 +0200 Subject: [PATCH] Remove Ubuntu 20.04 support With ansible-core>=2.14 python 3.8 support has been dropped. Moreover, nova has bumped minimal required version for libvirt/qemu, which makes us to remove support for Ubuntu 20.04 Focal Fossa. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_zun/+/884362 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_manila/+/884363 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/884361 Change-Id: I3e6e22553248a9199113a65b0dbe992c38ccb22e --- deploy-guide/source/deploymenthost.rst | 1 - deploy-guide/source/overview-requirements.rst | 2 - deploy-guide/source/targethosts-prepare.rst | 3 +- doc/source/user/aio/quickstart.rst | 3 +- .../user/limited-connectivity/index.rst | 6 +- doc/source/user/security/ssl-certificates.rst | 2 +- inventory/group_vars/ceph_all.yml | 2 +- playbooks/common-playbooks/neutron.yml | 4 +- playbooks/openstack-hosts-setup.yml | 3 +- .../tasks/check-requirements.yml | 4 +- zuul.d/jobs.yaml | 87 ++++--------------- zuul.d/playbooks/pre-gate-cleanup.yml | 2 +- zuul.d/project-templates.yaml | 36 +++----- 13 files changed, 42 insertions(+), 113 deletions(-) diff --git a/deploy-guide/source/deploymenthost.rst b/deploy-guide/source/deploymenthost.rst index bf11c63940..8a748d2e8e 100644 --- a/deploy-guide/source/deploymenthost.rst +++ b/deploy-guide/source/deploymenthost.rst @@ -27,7 +27,6 @@ Install one of the following supported operating systems on the deployment hosts: * `Ubuntu server 22.04 (Jammy Jellyfish) LTS 64-bit `_ -* `Ubuntu server 20.04 (Focal Fossa) LTS 64-bit `_ * `Debian 11 (Bullseye) LTS 64-bit `_ * `Centos 9 Stream 64-bit `_ * `Rocky Linux 9 64-bit `_ diff --git a/deploy-guide/source/overview-requirements.rst b/deploy-guide/source/overview-requirements.rst index dbe8bb7b5f..8e678a6079 100644 --- a/deploy-guide/source/overview-requirements.rst +++ b/deploy-guide/source/overview-requirements.rst @@ -15,8 +15,6 @@ following minimum requirements: installed from the default repository which contains *only* Quincy release. - * Ubuntu 20.04 LTS (Focal Fossa) - * CentOS * Centos 9 Stream diff --git a/deploy-guide/source/targethosts-prepare.rst b/deploy-guide/source/targethosts-prepare.rst index 944745cf80..854e0cf738 100644 --- a/deploy-guide/source/targethosts-prepare.rst +++ b/deploy-guide/source/targethosts-prepare.rst @@ -11,11 +11,10 @@ Installing the operating system Install one of the following supported operating systems on the target host: -* Ubuntu server 22.04 (Focal Fossa) LTS 64-bit +* Ubuntu server 22.04 (Jammy Jellyfish) LTS 64-bit *Note*: Due to the absence of community repos, Ceph packages will be installed from the default repository which contains *only* Quincy release. -* Ubuntu server 20.04 (Focal Fossa) LTS 64-bit * Debian 11 64-bit * Centos 9 Stream 64-bit * Rocky Linux 9 64-bit diff --git a/doc/source/user/aio/quickstart.rst b/doc/source/user/aio/quickstart.rst index 849d829f60..45689f8871 100644 --- a/doc/source/user/aio/quickstart.rst +++ b/doc/source/user/aio/quickstart.rst @@ -121,8 +121,7 @@ version. .. note:: The |current_release_formal_name| release is only compatible with - Debian 11 (bullseye), Ubuntu 20.04 (Focal Fossa), - Ubuntu 22.04 (Jammy Jellyfish), CentOS 9 Stream, + Debian 11 (bullseye), Ubuntu 22.04 (Jammy Jellyfish), CentOS 9 Stream, and derivitives of CentOS Stream/RHEL such as Rocky Linux. The next step is to bootstrap Ansible and the Ansible roles for the diff --git a/doc/source/user/limited-connectivity/index.rst b/doc/source/user/limited-connectivity/index.rst index 91448ea17a..64242bb649 100644 --- a/doc/source/user/limited-connectivity/index.rst +++ b/doc/source/user/limited-connectivity/index.rst @@ -88,10 +88,10 @@ Many software packages are installed on Ubuntu hosts using `.deb` packages. Similar packaging mechanisms exist for other Linux distributions. We advise mirroring the repositories that host these packages. -Upstream Ubuntu repositories to mirror for Ubuntu 20.04 LTS: +Upstream Ubuntu repositories to mirror for Ubuntu 22.04 LTS: -- focal -- focal-updates +- jammy +- jammy-updates OpenStack-Ansible requires several other repositories to install specific components such as Galera and Ceph. diff --git a/doc/source/user/security/ssl-certificates.rst b/doc/source/user/security/ssl-certificates.rst index fcd0dc0575..9df028abfd 100644 --- a/doc/source/user/security/ssl-certificates.rst +++ b/doc/source/user/security/ssl-certificates.rst @@ -237,7 +237,7 @@ it is required that the public endpoint is accessible directly by the Certificate Authority. Deployment of certificates using LetsEncrypt has been validated for -openstack-ansible using Ubuntu Focal. Other distributions should work +openstack-ansible using Ubuntu Jammy. Other distributions should work but are not tested. To deploy certificates with certbot, add the following to diff --git a/inventory/group_vars/ceph_all.yml b/inventory/group_vars/ceph_all.yml index 9d30c233e4..d31ceef00d 100644 --- a/inventory/group_vars/ceph_all.yml +++ b/inventory/group_vars/ceph_all.yml @@ -38,7 +38,7 @@ ceph_conf_overrides: "{{ (ceph_conf_overrides_rgw | default({})) | combine(ceph_ # needed. nfs_file_gw: "{{ (('ceph-nfs' in groups) and ('ceph-mds' in groups)) }}" nfs_obj_gw: False -nfs_ganesha_stable: "{{ (ansible_facts['distribution_release'] not in ['focal']) }}" +nfs_ganesha_stable: True # NTP in an OSA environment is handled by ansible-hardening using chrony # ceph-ansible's default enabling of ntpd conflicts with the OSA defaults diff --git a/playbooks/common-playbooks/neutron.yml b/playbooks/common-playbooks/neutron.yml index 5627fd3de2..5031a9db5c 100644 --- a/playbooks/common-playbooks/neutron.yml +++ b/playbooks/common-playbooks/neutron.yml @@ -67,8 +67,8 @@ include_tasks: "../common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" vars: list_of_bind_mounts: - - bind_dir_path: "{{ (ansible_facts['pkg_mgr'] == 'apt' and ansible_facts['distribution_release'] != 'focal') | ternary('/lib/modules', '/usr/lib/modules') }}" - mount_path: "{{ (ansible_facts['pkg_mgr'] == 'apt' and ansible_facts['distribution_release'] != 'focal') | ternary('/lib/modules', '/usr/lib/modules') }}" + - bind_dir_path: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('/lib/modules', '/usr/lib/modules') }}" + mount_path: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('/lib/modules', '/usr/lib/modules') }}" extra_container_config: - "lxc.cgroup.devices.allow=a *:* rmw" extra_container_config_no_restart: diff --git a/playbooks/openstack-hosts-setup.yml b/playbooks/openstack-hosts-setup.yml index 09e297f17d..e1bdc90fcb 100644 --- a/playbooks/openstack-hosts-setup.yml +++ b/playbooks/openstack-hosts-setup.yml @@ -54,12 +54,11 @@ assert: that: - (ansible_facts['distribution'] == 'Debian' and ansible_facts['distribution_release'] == 'bullseye') or - (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'focal') or (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'jammy') or (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '9') msg: > The only supported platforms for this release are Debian 11 (Bullseye), - Ubuntu 20.04 LTS (Focal), Ubuntu 22.04 (Jammy), CentOS 9 Stream, and Rocky Linux 9. + Ubuntu 22.04 (Jammy), CentOS 9 Stream, and Rocky Linux 9. roles: - role: "openstack_hosts" vars_files: diff --git a/tests/roles/bootstrap-host/tasks/check-requirements.yml b/tests/roles/bootstrap-host/tasks/check-requirements.yml index 1861ed9fc6..1123c08591 100644 --- a/tests/roles/bootstrap-host/tasks/check-requirements.yml +++ b/tests/roles/bootstrap-host/tasks/check-requirements.yml @@ -17,14 +17,12 @@ assert: that: (ansible_facts['distribution'] == 'Debian' and ansible_facts['distribution_release'] == 'bullseye') or - (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'focal') or (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'jammy') or (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '8') or (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '9') msg: >- The only supported platforms for this release are Debian 11 (Bullseye), - Ubuntu 20.04 LTS (Focal), Ubuntu 22.04 (Yammy), CentOS Stream 9, and derivatives such - as Rocky Linux. + Ubuntu 22.04 (Yammy), CentOS Stream 9, and derivatives such as Rocky Linux. when: (check_operating_system | default(True))| bool tags: - check-operating-system diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 0a2b63776c..c41ebd5a7d 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -307,13 +307,13 @@ - job: name: openstack-ansible-varstest-aio parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy # Ensuring SHAs are valid - job: name: openstack-ansible-shastest-metal parent: openstack-ansible-deploy - nodeset: ubuntu-focal + nodeset: ubuntu-jammy irrelevant-files: [] files: - ^ansible-collection-requirements\.yml @@ -323,7 +323,7 @@ # Ensuring hosts setup and healthcheck-hosts playbook is valid - job: name: openstack-ansible-deploy-hosts_lxc-validate - parent: openstack-ansible-deploy-hosts_lxc-ubuntu-focal + parent: openstack-ansible-deploy-hosts_lxc-ubuntu-jammy files: - ^playbooks\/healthcheck-hosts.yml - ^playbooks\/lxc-containers-create.yml @@ -340,7 +340,7 @@ # Ensuring clustering and healthcheck-infrastructure playbook is valid - job: name: openstack-ansible-deploy-infra_lxc-validate - parent: openstack-ansible-deploy-infra_lxc-ubuntu-focal + parent: openstack-ansible-deploy-infra_lxc-ubuntu-jammy files: - ^playbooks\/galera-install.yml - ^playbooks\/rabbitmq-install.yml @@ -352,17 +352,17 @@ # Running linters check - job: - name: openstack-ansible-linters-ubuntu-focal + name: openstack-ansible-linters-ubuntu-jammy parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy irrelevant-files: [] # Experimental job for checking our AIO can deploy with # a different ansible version - job: - name: openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-focal + name: openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-jammy parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy branches: ^(devel|master)$ required-projects: - name: github.com/ansible/ansible @@ -373,9 +373,9 @@ # Experimental job for checking our AIO can deploy with # a different ansible version - job: - name: openstack-ansible-deploy_with_ansible_next-aio-ubuntu-focal + name: openstack-ansible-deploy_with_ansible_next-aio-ubuntu-jammy parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy branches: ^(devel|master)$ required-projects: - name: github.com/ansible/ansible @@ -499,76 +499,21 @@ parent: openstack-ansible-deploy-aio-hosts nodeset: ubuntu-jammy -# ubuntu focal - job: - name: openstack-ansible-deploy-aio_lxc-ubuntu-focal + name: openstack-ansible-deploy-hosts_lxc_zfs-ubuntu-jammy parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy - job: - name: openstack-ansible-deploy-aio_ceph-ubuntu-focal + name: openstack-ansible-deploy-hosts_lxc_btrfs-ubuntu-jammy parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy - job: - name: openstack-ansible-deploy-aio_nfs-ubuntu-focal + name: openstack-ansible-deploy-hosts_lxc_overlayfs-ubuntu-jammy parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal + nodeset: ubuntu-jammy -- job: - name: openstack-ansible-deploy-aio_proxy-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-aio_metal-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-infra_lxc-ubuntu-focal - parent: openstack-ansible-deploy-aio-infra - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-hosts_lxc-ubuntu-focal - parent: openstack-ansible-deploy-aio-hosts - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-hosts_metal-ubuntu-focal - parent: openstack-ansible-deploy-aio-hosts - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-aio_telemetry_metal-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-aio_qdrouterd-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-translations-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-hosts_lxc_zfs-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-hosts_lxc_btrfs-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal - -- job: - name: openstack-ansible-deploy-hosts_lxc_overlayfs-ubuntu-focal - parent: openstack-ansible-deploy-aio - nodeset: ubuntu-focal # centos 9 stream - job: diff --git a/zuul.d/playbooks/pre-gate-cleanup.yml b/zuul.d/playbooks/pre-gate-cleanup.yml index 3108a26789..69436eb680 100644 --- a/zuul.d/playbooks/pre-gate-cleanup.yml +++ b/zuul.d/playbooks/pre-gate-cleanup.yml @@ -28,7 +28,7 @@ regexp: 'https' replace: "http" when: - - ansible_facts['distribution_release'] in ['focal', 'jammy'] + - ansible_facts['distribution_release'] in ['jammy'] - name: Remove package excludes for yum/dnf lineinfile: diff --git a/zuul.d/project-templates.yaml b/zuul.d/project-templates.yaml index c67940ea94..146d283be4 100644 --- a/zuul.d/project-templates.yaml +++ b/zuul.d/project-templates.yaml @@ -32,12 +32,12 @@ - openstack-tox-docs periodic: jobs: - - openstack-ansible-deploy-translations-ubuntu-focal + - openstack-ansible-deploy-translations-ubuntu-jammy experimental: jobs: - - openstack-ansible-deploy-aio_qdrouterd-ubuntu-focal - - openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-focal - - openstack-ansible-deploy_with_ansible_next-aio-ubuntu-focal + - openstack-ansible-deploy-aio_qdrouterd-ubuntu-jammy + - openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-jammy + - openstack-ansible-deploy_with_ansible_next-aio-ubuntu-jammy - project-template: name: openstack-ansible-deploy-aio_lxc-jobs @@ -47,7 +47,6 @@ voting: false - openstack-ansible-deploy-aio_lxc-rockylinux-9 - openstack-ansible-deploy-aio_lxc-debian-bullseye - - openstack-ansible-deploy-aio_lxc-ubuntu-focal - openstack-ansible-deploy-aio_lxc-ubuntu-jammy gate: jobs: @@ -90,7 +89,6 @@ - openstack-ansible-deploy-infra_lxc-rockylinux-9 - openstack-ansible-deploy-infra_lxc_tls-rockylinux-9 - openstack-ansible-deploy-infra_lxc-debian-bullseye - - openstack-ansible-deploy-infra_lxc-ubuntu-focal - openstack-ansible-deploy-infra_lxc-ubuntu-jammy - openstack-ansible-deploy-infra_lxc_stepca-ubuntu-jammy - openstack-ansible-deploy-infra_lxc_tls-ubuntu-jammy @@ -112,7 +110,6 @@ jobs: - openstack-ansible-deploy-hosts_lxc-rockylinux-9 - openstack-ansible-deploy-hosts_lxc-debian-bullseye - - openstack-ansible-deploy-hosts_lxc-ubuntu-focal - openstack-ansible-deploy-hosts_lxc-ubuntu-jammy gate: jobs: @@ -129,7 +126,6 @@ jobs: - openstack-ansible-deploy-hosts_metal-rockylinux-9 - openstack-ansible-deploy-hosts_metal-debian-bullseye - - openstack-ansible-deploy-hosts_metal-ubuntu-focal - openstack-ansible-deploy-hosts_metal-ubuntu-jammy gate: jobs: @@ -166,7 +162,6 @@ - openstack-ansible-deploy-aio_metal-centos-9-stream: voting: false - openstack-ansible-deploy-aio_metal-rockylinux-9 - - openstack-ansible-deploy-aio_metal-ubuntu-focal - openstack-ansible-deploy-aio_metal-ubuntu-jammy - openstack-ansible-deploy-aio_metal_tls-rockylinux-9 - openstack-ansible-deploy-aio_metal_tls-ubuntu-jammy @@ -188,7 +183,6 @@ voting: false - openstack-ansible-deploy-aio_telemetry_metal-rockylinux-9 - openstack-ansible-deploy-aio_telemetry_metal-debian-bullseye - - openstack-ansible-deploy-aio_telemetry_metal-ubuntu-focal - openstack-ansible-deploy-aio_telemetry_metal-ubuntu-jammy gate: jobs: @@ -211,7 +205,6 @@ name: openstack-ansible-deploy-nfs-jobs check: jobs: - - openstack-ansible-deploy-aio_nfs-ubuntu-focal - openstack-ansible-deploy-aio_nfs-ubuntu-jammy gate: jobs: @@ -221,14 +214,13 @@ name: openstack-ansible-deploy-ceph-jobs check: jobs: - - openstack-ansible-deploy-aio_ceph-ubuntu-focal - openstack-ansible-deploy-aio_ceph-ubuntu-jammy gate: jobs: - - openstack-ansible-deploy-aio_ceph-ubuntu-focal + - openstack-ansible-deploy-aio_ceph-ubuntu-jammy periodic: jobs: - - openstack-ansible-deploy-aio_ceph-ubuntu-focal + - openstack-ansible-deploy-aio_ceph-ubuntu-jammy - project-template: name: openstack-ansible-deploy-stepca-jobs @@ -254,26 +246,26 @@ name: openstack-ansible-linters-jobs check: jobs: - - openstack-ansible-linters-ubuntu-focal + - openstack-ansible-linters-ubuntu-jammy gate: jobs: - - openstack-ansible-linters-ubuntu-focal + - openstack-ansible-linters-ubuntu-jammy - project-template: name: openstack-ansible-lxc-backingstore-jobs check: jobs: - - openstack-ansible-deploy-hosts_lxc_zfs-ubuntu-focal - - openstack-ansible-deploy-hosts_lxc_btrfs-ubuntu-focal - - openstack-ansible-deploy-hosts_lxc_overlayfs-ubuntu-focal + - openstack-ansible-deploy-hosts_lxc_zfs-ubuntu-jammy + - openstack-ansible-deploy-hosts_lxc_btrfs-ubuntu-jammy + - openstack-ansible-deploy-hosts_lxc_overlayfs-ubuntu-jammy - openstack-ansible-deploy-hosts_lxc_btrfs-debian-bullseye - openstack-ansible-deploy-hosts_lxc_overlayfs-debian-bullseye - openstack-ansible-deploy-hosts_lxc_overlayfs-rockylinux-9 gate: jobs: - - openstack-ansible-deploy-hosts_lxc_zfs-ubuntu-focal - - openstack-ansible-deploy-hosts_lxc_btrfs-ubuntu-focal - - openstack-ansible-deploy-hosts_lxc_overlayfs-ubuntu-focal + - openstack-ansible-deploy-hosts_lxc_zfs-ubuntu-jammy + - openstack-ansible-deploy-hosts_lxc_btrfs-ubuntu-jammy + - openstack-ansible-deploy-hosts_lxc_overlayfs-ubuntu-jammy - openstack-ansible-deploy-hosts_lxc_btrfs-debian-bullseye - openstack-ansible-deploy-hosts_lxc_overlayfs-debian-bullseye - openstack-ansible-deploy-hosts_lxc_overlayfs-rockylinux-9