From 287adab05ebcae4bef16759795ad0907ffb2489c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= Date: Fri, 8 Nov 2019 15:46:42 +0100 Subject: [PATCH] CentOS 8: Add deploy jobs in CI Adds new CI job definitions for CentOS 8: - kolla-ansible-centos8-source - kolla-ansible-centos8-binary - kolla-ansible-centos8-source-ceph-ansible - kolla-ansible-centos8-source-cinder-lvm - kolla-ansible-centos8-source-mariadb - kolla-ansible-centos8-source-bifrost - kolla-ansible-centos8-source-zun - kolla-ansible-centos8-source-swift - kolla-ansible-centos8-source-scenario-nfv - kolla-ansible-centos8-source-ironic - kolla-ansible-centos8-binary-ironic - kolla-ansible-centos8-source-masakari - kolla-ansible-centos8-source-cells The following jobs are added to the check pipeline: - kolla-ansible-centos8-source - kolla-ansible-centos8-binary - kolla-ansible-centos8-source-cinder-lvm - kolla-ansible-centos8-source-mariadb - kolla-ansible-centos8-source-zun - kolla-ansible-centos8-source-swift - kolla-ansible-centos8-source-scenario-nfv - kolla-ansible-centos8-source-ironic - kolla-ansible-centos8-binary-ironic - kolla-ansible-centos8-source-cells The following jobs are not yet passing so are not added to the check pipeline: - kolla-ansible-centos8-source-ceph-ansible - kolla-ansible-centos8-source-bifrost - kolla-ansible-centos8-source-masakari The kolla-ansible-centos8-source job is added to the gate. Upgrade jobs will be added when CentOS 8 support exists in Train. Depends-On: https://review.opendev.org/704337 Depends-On: https://review.opendev.org/704848 Depends-On: https://review.opendev.org/704965 Co-Authored-By: Mark Goddard Change-Id: Ibd806feee71721b122b77d7eff33228ca1cc2853 Partially-Implements: blueprint centos-rhel-8 --- tests/templates/globals-default.j2 | 10 +-- tools/setup_gate.sh | 9 ++- zuul.d/jobs.yaml | 97 ++++++++++++++++++++++++++++++ zuul.d/nodesets.yaml | 24 ++++++++ zuul.d/project.yaml | 16 +++++ 5 files changed, 150 insertions(+), 6 deletions(-) diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2 index c7e6312ef3..7a258298f1 100644 --- a/tests/templates/globals-default.j2 +++ b/tests/templates/globals-default.j2 @@ -1,9 +1,9 @@ --- -# Force the use of python2 on remote hosts. This is necessary for delegate_to: -# localhost, which will otherwise use the local python interpreter (python3). -# On CentOS 7, that fails due to a lack of python3 bindings for SELinux. -# https://bugs.centos.org/view.php?id=16389 -ansible_python_interpreter: /usr/bin/python2 +# Force the use of python2 on Ubuntu/Debian and CentOS7 remote hosts. This is +# necessary for delegate_to: localhost, which will otherwise use the local +# python interpreter (python3). On CentOS 7, that fails due to a lack of +# python3 bindings for SELinux. https://bugs.centos.org/view.php?id=16389 +ansible_python_interpreter: /usr/bin/python{{ '2' if ansible_os_family != 'RedHat' or ansible_distribution_major_version == '7' else '3' }} kolla_base_distro: "{{ base_distro }}" kolla_install_type: "{{ install_type }}" diff --git a/tools/setup_gate.sh b/tools/setup_gate.sh index 753b7313a3..36e768cae6 100755 --- a/tools/setup_gate.sh +++ b/tools/setup_gate.sh @@ -99,7 +99,14 @@ function prepare_images { fi sudo docker run -d -p 4000:5000 --restart=always -v /opt/kolla_registry/:/var/lib/registry --name registry registry:2 pushd "${KOLLA_SRC_DIR}" - sudo tox -e "build-${BASE_DISTRO}-${INSTALL_TYPE}" + # TODO(mgoddard): Remove this if block when CentOS 7 is no longer + # supported. + if [[ $BASE_DISTRO == "centos" ]] && [[ $BASE_DISTRO_MAJOR_VERSION -eq 8 ]]; then + kolla_base_distro=centos8 + else + kolla_base_distro=${BASE_DISTRO} + fi + sudo tox -e "build-${kolla_base_distro}-${INSTALL_TYPE}" # NOTE(yoctozepto): due to debian buster we push after images are built # see https://github.com/docker/for-linux/issues/711 if [[ "debian" == $BASE_DISTRO ]]; then diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 75c0616165..6ff28d4de1 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -7,6 +7,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source + parent: kolla-ansible-base + nodeset: kolla-ansible-centos8 + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-debian-source-aarch64 parent: kolla-ansible-debian-source @@ -50,6 +58,15 @@ base_distro: centos install_type: binary +- job: + name: kolla-ansible-centos8-binary + parent: kolla-ansible-base + nodeset: kolla-ansible-centos8 + voting: false + vars: + base_distro: centos + install_type: binary + - job: name: kolla-ansible-ubuntu-binary parent: kolla-ansible-base @@ -86,6 +103,15 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-ceph-ansible + parent: kolla-ansible-ceph-ansible-base + nodeset: kolla-ansible-centos8-multi + timeout: 9000 + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-ubuntu-source-ceph-ansible parent: kolla-ansible-ceph-ansible-base @@ -103,6 +129,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-mariadb + parent: kolla-ansible-mariadb-base + nodeset: kolla-ansible-centos8-multi + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-ubuntu-source-mariadb parent: kolla-ansible-mariadb-base @@ -178,6 +212,13 @@ vars: base_distro: centos +- job: + name: kolla-ansible-centos8-source-bifrost + parent: kolla-ansible-bifrost-base + nodeset: kolla-ansible-centos8 + vars: + base_distro: centos + - job: name: kolla-ansible-centos-source-zun parent: kolla-ansible-zun-base @@ -186,6 +227,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-zun + parent: kolla-ansible-zun-base + nodeset: kolla-ansible-centos8-multi + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-ubuntu-source-zun parent: kolla-ansible-zun-base @@ -202,6 +251,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-swift + parent: kolla-ansible-swift-base + nodeset: kolla-ansible-centos8-multi + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-ubuntu-source-swift parent: kolla-ansible-swift-base @@ -218,6 +275,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-scenario-nfv + parent: kolla-ansible-scenario-nfv-base + nodeset: kolla-ansible-centos8-multi + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-centos-source-ironic parent: kolla-ansible-ironic-base @@ -226,6 +291,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-ironic + parent: kolla-ansible-ironic-base + nodeset: kolla-ansible-centos8 + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-centos-binary-ironic parent: kolla-ansible-ironic-base @@ -234,6 +307,14 @@ base_distro: centos install_type: binary +- job: + name: kolla-ansible-centos8-binary-ironic + parent: kolla-ansible-ironic-base + nodeset: kolla-ansible-centos8 + vars: + base_distro: centos + install_type: binary + - job: name: kolla-ansible-ubuntu-source-ironic parent: kolla-ansible-ironic-base @@ -268,6 +349,14 @@ base_distro: centos install_type: source +- job: + name: kolla-ansible-centos8-source-masakari + parent: kolla-ansible-masakari-base + nodeset: kolla-ansible-centos8 + vars: + base_distro: centos + install_type: source + - job: name: kolla-ansible-centos-source-cells parent: kolla-ansible-cells-base @@ -275,3 +364,11 @@ vars: base_distro: centos install_type: source + +- job: + name: kolla-ansible-centos8-source-cells + parent: kolla-ansible-cells-base + nodeset: kolla-ansible-centos8-multi + vars: + base_distro: centos + install_type: source diff --git a/zuul.d/nodesets.yaml b/zuul.d/nodesets.yaml index 0995c9d4d1..588f24fc1c 100644 --- a/zuul.d/nodesets.yaml +++ b/zuul.d/nodesets.yaml @@ -5,6 +5,12 @@ - name: primary label: centos-7 +- nodeset: + name: kolla-ansible-centos8 + nodes: + - name: primary + label: centos-8 + - nodeset: name: kolla-ansible-debian nodes: @@ -82,3 +88,21 @@ nodes: - secondary1 - secondary2 + +- nodeset: + name: kolla-ansible-centos8-multi + nodes: + - name: primary + label: centos-8 + - name: secondary1 + label: centos-8 + - name: secondary2 + label: centos-8 + groups: + - name: switch + nodes: + - primary + - name: peers + nodes: + - secondary1 + - secondary2 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 81c5fbbb0d..d351bb0478 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -12,32 +12,47 @@ check: jobs: - kolla-ansible-centos-source + - kolla-ansible-centos8-source - kolla-ansible-debian-source - kolla-ansible-ubuntu-source - kolla-ansible-ubuntu-source-multinode-ipv6 - kolla-ansible-ubuntu-source-ceph - kolla-ansible-centos-source-ceph - kolla-ansible-bifrost-centos-source + # FIXME(mgoddard): Bifrost CentOS 8 support in progress. + # - kolla-ansible-centos8-source-bifrost - kolla-ansible-centos-source-zun + - kolla-ansible-centos8-source-zun - kolla-ansible-ubuntu-source-zun - kolla-ansible-centos-source-swift + - kolla-ansible-centos8-source-swift - kolla-ansible-ubuntu-source-swift - kolla-ansible-centos-source-scenario-nfv + - kolla-ansible-centos8-source-scenario-nfv - kolla-ansible-ubuntu-source-masakari - kolla-ansible-centos-source-masakari + # FIXME(mgoddard): Masakari CentOS 8 job. + # - kolla-ansible-centos8-source-masakari - kolla-ansible-centos-source-ironic + - kolla-ansible-centos8-source-ironic - kolla-ansible-centos-binary-ironic + - kolla-ansible-centos8-binary-ironic - kolla-ansible-ubuntu-source-ironic - kolla-ansible-centos-source-upgrade - kolla-ansible-ubuntu-source-upgrade - kolla-ansible-centos-source-upgrade-ceph - kolla-ansible-ubuntu-source-upgrade-ceph - kolla-ansible-centos-binary + - kolla-ansible-centos8-binary - kolla-ansible-ubuntu-binary - kolla-ansible-centos-source-cells + - kolla-ansible-centos8-source-cells - kolla-ansible-centos-source-mariadb + - kolla-ansible-centos8-source-mariadb - kolla-ansible-ubuntu-source-mariadb - kolla-ansible-centos-source-ceph-ansible + # FIXME(mgoddard): Ceph-ansible CentOS 8 job. + # - kolla-ansible-centos8-source-ceph-ansible - kolla-ansible-ubuntu-source-ceph-ansible - kolla-ansible-centos-source-upgrade-ceph-ansible - kolla-ansible-ubuntu-source-upgrade-ceph-ansible @@ -48,6 +63,7 @@ queue: kolla jobs: - kolla-ansible-centos-source + - kolla-ansible-centos8-source - kolla-ansible-ubuntu-source - kolla-ansible-centos-source-upgrade - kolla-ansible-ubuntu-source-upgrade