From 3ab9d8bba8bf35ebcf40957c388eacb596b4a344 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Mon, 29 Mar 2021 10:09:41 +0300 Subject: [PATCH] Add Debian Bullseye support We set Bullseye jobs to NV because of the used buggy galera version that is known to randomly fail during Cinder migrations because of the bug [1] [1] https://jira.mariadb.org/browse/MDEV-25673 Depends-On: https://review.opendev.org/c/openstack/ansible-role-uwsgi/+/791290 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-rsyslog_client/+/791288 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-lxc_container_create/+/793896 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/793895 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_cinder/+/793974 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/794002 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_tempest/+/794158 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/794161 Change-Id: Ia6f93eb325065ac81223ec1f725e7ee785acaac9 --- deploy-guide/source/deploymenthost.rst | 2 + deploy-guide/source/overview-requirements.rst | 4 ++ doc/source/user/aio/quickstart.rst | 4 +- inventory/group_vars/all_containers.yml | 2 +- playbooks/openstack-hosts-setup.yml | 5 +- .../debian_bullseye-de3bd8860147dc93.yaml | 5 ++ scripts/bootstrap-ansible.sh | 5 ++ .../tasks/check-requirements.yml | 6 +- zuul.d/jobs.yaml | 58 ++++++++++++++++++- zuul.d/project-templates.yaml | 10 +++- 10 files changed, 92 insertions(+), 9 deletions(-) create mode 100644 releasenotes/notes/debian_bullseye-de3bd8860147dc93.yaml diff --git a/deploy-guide/source/deploymenthost.rst b/deploy-guide/source/deploymenthost.rst index dac387f9bb..a4605df9a7 100644 --- a/deploy-guide/source/deploymenthost.rst +++ b/deploy-guide/source/deploymenthost.rst @@ -29,7 +29,9 @@ hosts: * `Ubuntu server 18.04 (Bionic Beaver) LTS 64-bit `_ * `Ubuntu server 20.04 (Focal Fossa) LTS 64-bit `_ * `Debian 10 (Buster) LTS 64-bit `_ +* `Debian 11 (Bullseye) LTS 64-bit `_ * `Centos 8 64-bit `_ +* `Centos 8 Stream 64-bit `_ Configure at least one network interface to access the Internet or suitable local repositories. diff --git a/deploy-guide/source/overview-requirements.rst b/deploy-guide/source/overview-requirements.rst index c134c2f656..8e15483548 100644 --- a/deploy-guide/source/overview-requirements.rst +++ b/deploy-guide/source/overview-requirements.rst @@ -8,6 +8,8 @@ following minimum requirements: * Debian 10 (buster) + * Debian 11 (bullseye) + * Linux kernel version ``4.9.0-0-amd64`` or later is required. * Ubuntu @@ -22,6 +24,8 @@ following minimum requirements: * Centos 8 + * Centos 8 Stream + * Linux kernel version ``3.10.0`` or later. * Secure Shell (SSH) client and server that support public key diff --git a/doc/source/user/aio/quickstart.rst b/doc/source/user/aio/quickstart.rst index 703c06e2e6..c35d57812b 100644 --- a/doc/source/user/aio/quickstart.rst +++ b/doc/source/user/aio/quickstart.rst @@ -122,8 +122,8 @@ version. .. note:: The |current_release_formal_name| release is only compatible with - Debian 10 (buster), Ubuntu 18.04 (Bionic Beaver), Ubuntu 20.04 - (Focal Fossa) and CentOS 8. + Debian 10 (buster), Debian 11 (bullseye), Ubuntu 18.04 (Bionic Beaver), + Ubuntu 20.04 (Focal Fossa), CentOS 8 and CentOS 8 Stream. .. warning:: The announcement of early end-of-life for CentOS 8 and the migration diff --git a/inventory/group_vars/all_containers.yml b/inventory/group_vars/all_containers.yml index a63382db61..c219427bd7 100644 --- a/inventory/group_vars/all_containers.yml +++ b/inventory/group_vars/all_containers.yml @@ -16,7 +16,7 @@ # This is the default LXC AppArmor profile # Groups which need the unbound profile have a specific override lxc_container_config_list: - - "lxc.apparmor.profile={{ (hostvars[physical_host]['ansible_facts']['distribution'] == 'Debian' and hostvars[physical_host]['ansible_facts']['distribution_major_version'] == '10' ) | ternary('unconfined', 'lxc-openstack') }}" + - "lxc.apparmor.profile={{ (hostvars[physical_host]['ansible_facts']['distribution'] == 'Debian' ) | ternary('unconfined', 'lxc-openstack') }}" # Needed by playbooks/common-tasks/os-lxc-container-setup.yml lxc_container_log_path: "/var/log/lxc" diff --git a/playbooks/openstack-hosts-setup.yml b/playbooks/openstack-hosts-setup.yml index 3b6b307b9d..7fa645907e 100644 --- a/playbooks/openstack-hosts-setup.yml +++ b/playbooks/openstack-hosts-setup.yml @@ -61,12 +61,13 @@ assert: that: - (ansible_facts['distribution'] == 'Debian' and ansible_facts['distribution_release'] == 'buster') or + (ansible_facts['distribution'] == 'Debian' and ansible_facts['distribution_release'] == 'bullseye') or (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'bionic') or (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'focal') or (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '8') msg: > - The only supported platforms for this release are Debian 10 (Buster), - Ubuntu 18.04 LTS (Bionic), Ubuntu 20.04 LTS (Focal) and CentOS 8 + The only supported platforms for this release are Debian 10 (Buster), Debian 11 (Bullseye), + Ubuntu 18.04 LTS (Bionic), Ubuntu 20.04 LTS (Focal), CentOS 8 and CentOS 8 Stream. - name: Check for a supported path assert: that: diff --git a/releasenotes/notes/debian_bullseye-de3bd8860147dc93.yaml b/releasenotes/notes/debian_bullseye-de3bd8860147dc93.yaml new file mode 100644 index 0000000000..051cf756c0 --- /dev/null +++ b/releasenotes/notes/debian_bullseye-de3bd8860147dc93.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Added experimental support for Debian Bullseye. Deployment path with + `distro` packages is not available at the moment. diff --git a/scripts/bootstrap-ansible.sh b/scripts/bootstrap-ansible.sh index 0932df1d50..a2f4580e69 100755 --- a/scripts/bootstrap-ansible.sh +++ b/scripts/bootstrap-ansible.sh @@ -61,6 +61,11 @@ OSA_ANSIBLE_PYTHON_INTERPRETER="auto" # Create the ssh dir if needed ssh_key_create +# Deal with pre-release debian bullseye +if grep bullseye /etc/os-release; then + echo "VERSION_ID=11" >> /etc/os-release +fi + # Determine the distribution which the host is running on determine_distro diff --git a/tests/roles/bootstrap-host/tasks/check-requirements.yml b/tests/roles/bootstrap-host/tasks/check-requirements.yml index 373abd4ed6..855195bd9f 100644 --- a/tests/roles/bootstrap-host/tasks/check-requirements.yml +++ b/tests/roles/bootstrap-host/tasks/check-requirements.yml @@ -17,12 +17,14 @@ assert: that: (ansible_facts['distribution'] == 'Debian' and ansible_facts['distribution_release'] == 'buster') or + (ansible_facts['distribution'] == 'Debian' and ansible_facts['distribution_release'] == 'bullseye') or (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'bionic') or (ansible_facts['distribution'] == 'Ubuntu' and ansible_facts['distribution_release'] == 'focal') or (ansible_facts['os_family'] == 'RedHat' and ansible_facts['distribution_major_version'] == '8') msg: >- - The only supported platforms for this release are Debian Stretch, Ubuntu 18.04 LTS (Bionic), - Centos 8, openSUSE Leap 42.X and openSUSE Leap 15.X + The only supported platforms for this release are Debian Buster, Debian Bullseye, + Ubuntu 18.04 LTS (Bionic), Ubuntu 20.04 (Focal), + CentOS 8, CentOS 8 Stream when: (check_operating_system | default(True))| bool tags: - check-operating-system diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index b95b5dfb62..0e52b4d483 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -545,7 +545,7 @@ nodeset: centos-8 timeout: 10800 -# debian +# debian buster - job: name: openstack-ansible-deploy-aio_telemetry_metal-debian-buster parent: openstack-ansible-deploy-aio @@ -590,3 +590,59 @@ name: openstack-ansible-deploy-aio_distro_metal-debian-buster parent: openstack-ansible-deploy-aio-distro nodeset: debian-buster + +# debian bullseye + +- job: + name: openstack-ansible-deploy-aio_telemetry_metal-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-aio_lxc-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-infra_lxc-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-hosts_lxc-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-hosts_distro_lxc-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-hosts_metal-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-aio_distro_lxc-debian-bullseye + parent: openstack-ansible-deploy-aio-distro + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-aio_metal-debian-bullseye + parent: openstack-ansible-deploy-aio + nodeset: debian-bullseye + voting: false + +- job: + name: openstack-ansible-deploy-aio_distro_metal-debian-bullseye + parent: openstack-ansible-deploy-aio-distro + nodeset: debian-bullseye + voting: false diff --git a/zuul.d/project-templates.yaml b/zuul.d/project-templates.yaml index 1f4e9de9ad..0703754059 100644 --- a/zuul.d/project-templates.yaml +++ b/zuul.d/project-templates.yaml @@ -38,6 +38,7 @@ - openstack-ansible-deploy-aio_lxc-centos-8 - openstack-ansible-deploy-aio_lxc-centos-8-stream - openstack-ansible-deploy-aio_lxc-debian-buster + - openstack-ansible-deploy-aio_lxc-debian-bullseye - openstack-ansible-deploy-aio_lxc-ubuntu-focal gate: jobs: @@ -79,6 +80,7 @@ - openstack-ansible-deploy-infra_lxc-centos-8 - openstack-ansible-deploy-infra_lxc-centos-8-stream - openstack-ansible-deploy-infra_lxc-debian-buster + - openstack-ansible-deploy-infra_lxc-debian-bullseye - openstack-ansible-deploy-infra_lxc-ubuntu-focal gate: jobs: @@ -97,6 +99,7 @@ - openstack-ansible-deploy-hosts_lxc-centos-8 - openstack-ansible-deploy-hosts_lxc-centos-8-stream - openstack-ansible-deploy-hosts_lxc-debian-buster + - openstack-ansible-deploy-hosts_lxc-debian-bullseye - openstack-ansible-deploy-hosts_lxc-ubuntu-focal gate: jobs: @@ -115,6 +118,7 @@ - openstack-ansible-deploy-hosts_metal-centos-8 - openstack-ansible-deploy-hosts_metal-centos-8-stream - openstack-ansible-deploy-hosts_metal-debian-buster + - openstack-ansible-deploy-hosts_metal-debian-bullseye - openstack-ansible-deploy-hosts_metal-ubuntu-focal gate: jobs: @@ -132,6 +136,7 @@ jobs: - openstack-ansible-deploy-hosts_distro_lxc-centos-8-stream - openstack-ansible-deploy-hosts_distro_lxc-debian-buster + - openstack-ansible-deploy-hosts_distro_lxc-debian-bullseye - openstack-ansible-deploy-hosts_distro_lxc-ubuntu-focal gate: jobs: @@ -146,6 +151,7 @@ - openstack-ansible-deploy-aio_distro_lxc-centos-8 - openstack-ansible-deploy-aio_distro_lxc-centos-8-stream - openstack-ansible-deploy-aio_distro_lxc-debian-buster + - openstack-ansible-deploy-aio_distro_lxc-debian-bullseye - openstack-ansible-deploy-aio_distro_lxc-ubuntu-focal - project-template: @@ -153,6 +159,7 @@ check: jobs: - openstack-ansible-deploy-aio_metal-debian-buster + - openstack-ansible-deploy-aio_metal-debian-bullseye - openstack-ansible-deploy-aio_metal-centos-8 - openstack-ansible-deploy-aio_metal-centos-8-stream - openstack-ansible-deploy-aio_metal-ubuntu-bionic @@ -175,6 +182,7 @@ - openstack-ansible-deploy-aio_telemetry_metal-centos-8 - openstack-ansible-deploy-aio_telemetry_metal-centos-8-stream - openstack-ansible-deploy-aio_telemetry_metal-debian-buster + - openstack-ansible-deploy-aio_telemetry_metal-debian-bullseye - openstack-ansible-deploy-aio_telemetry_metal-ubuntu-focal gate: jobs: @@ -195,7 +203,7 @@ - openstack-ansible-deploy-aio_distro_metal-ubuntu-focal experimental: jobs: - - openstack-ansible-deploy-aio_distro_metal-debian-buster + - openstack-ansible-deploy-aio_distro_metal-debian-bullseye - project-template: name: openstack-ansible-deploy-ceph-jobs