From 0ad40ea1a534aa9a870a516ebf67443e6c92abcd Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Tue, 4 Jun 2024 08:58:19 -0700 Subject: [PATCH] CI: Move off CentOS 8 This is a combination of 2 commits. ======================================== CI: Move probe tests to centos 9 stream Pin selenium to 3.x for now, until we can run down the issues with 4.x ======================================== CI: Move off CentOS 8 Remove swift-tox-py36-centos-8-stream job entirely. Move the following jobs to CentOS 9: - swift-tox-func-s3api-ceph-s3tests-tempauth - swift-tox-func-s3api-tests-tempauth - swift-multinode-rolling-upgrade, as well as the other rolling upgrade jobs Remove the swift-multinode-rolling-upgrade-victoria job, as py39 support (required for CentOS 9) was not added until wallaby. ======================================== Related-Change: I596415d17f77f48a6e8a63a61b734a8ca0865847 Change-Id: I4f6b9c07af7bc768654f1a5d0c66b048e0f2c9c1 --- .zuul.yaml | 56 ++++++++----------- .../common/install_dependencies.yaml | 4 +- tools/playbooks/cors/install_selenium.yaml | 8 ++- 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index c249e05246..78aa644512 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -43,11 +43,6 @@ python_version: 3.6 post-run: tools/playbooks/common/cover-post.yaml -- job: - name: swift-tox-py36-centos-8-stream - parent: swift-tox-py36 - nodeset: centos-8-stream - - job: name: swift-tox-py37 parent: swift-tox-base @@ -309,13 +304,13 @@ name: swift-tox-func-s3api-ceph-s3tests-tempauth parent: unittests voting: false - nodeset: centos-8-stream + nodeset: centos-9-stream description: | Setup a SAIO dev environment and run ceph-s3tests timeout: 5400 vars: s3_acl: yes - bindep_profile: test py36 + bindep_profile: test py39 pre-run: - tools/playbooks/common/install_dependencies.yaml - tools/playbooks/saio_single_node_setup/setup_saio.yaml @@ -330,13 +325,13 @@ - job: name: swift-tox-func-s3api-tests-tempauth parent: unittests - nodeset: centos-8-stream + nodeset: centos-9-stream description: | Setup a SAIO dev environment and run our s3api test suite timeout: 1800 vars: s3_acl: yes - bindep_profile: test py36 + bindep_profile: test py39 pre-run: - tools/playbooks/common/install_dependencies.yaml - tools/playbooks/saio_single_node_setup/setup_saio.yaml @@ -348,15 +343,15 @@ - tools/playbooks/probetests/post.yaml - job: - name: swift-probetests-centos-8-stream + name: swift-probetests-centos-9-stream parent: unittests - nodeset: centos-8-stream + nodeset: centos-9-stream description: | Setup a SAIO dev environment and run Swift's probe tests under Python 3. timeout: 7200 vars: - bindep_profile: test py36 + bindep_profile: test py39 pre-run: - tools/playbooks/common/install_dependencies.yaml - tools/playbooks/saio_single_node_setup/setup_saio.yaml @@ -365,12 +360,12 @@ post-run: tools/playbooks/probetests/post.yaml - job: - name: swift-probetests-centos-8-stream-arm64 - parent: swift-probetests-centos-8-stream + name: swift-probetests-centos-9-stream-arm64 + parent: swift-probetests-centos-9-stream nodeset: nodes: - - name: swift-centos-8-stream-arm64 - label: centos-8-stream-arm64 + - name: swift-centos-9-stream-arm64 + label: centos-9-stream-arm64 description: | Setup a SAIO dev environment and run Swift's probe tests under Python 3 on top of arm64 architecture. @@ -378,7 +373,7 @@ - job: name: swift-func-cors - parent: swift-probetests-centos-8-stream + parent: swift-probetests-centos-9-stream description: | Setup a SAIO dev environment and run Swift's CORS functional tests timeout: 1200 @@ -391,18 +386,18 @@ post-run: tools/playbooks/cors/post.yaml - nodeset: - name: swift-five-nodes-py3 + name: swift-five-nodes-centos-9 nodes: - name: test-runner1 - label: centos-8-stream + label: centos-9-stream - name: proxy1 - label: centos-8-stream + label: centos-9-stream - name: account1 - label: centos-8-stream + label: centos-9-stream - name: container1 - label: centos-8-stream + label: centos-9-stream - name: object1 - label: centos-8-stream + label: centos-9-stream groups: - name: test-runner nodes: @@ -434,12 +429,12 @@ - job: name: swift-multinode-rolling-upgrade parent: multinode - nodeset: swift-five-nodes-py3 + nodeset: swift-five-nodes-centos-9 description: | Build a 4 node swift cluster and run functional tests timeout: 5400 vars: - bindep_profile: test py36 + bindep_profile: test py39 pre-run: - tools/playbooks/multinode_setup/pre.yaml - tools/playbooks/common/install_dependencies.yaml @@ -449,12 +444,6 @@ run: tools/playbooks/multinode_setup/run.yaml post-run: tools/playbooks/probetests/post.yaml -- job: - name: swift-multinode-rolling-upgrade-victoria - parent: swift-multinode-rolling-upgrade - vars: - previous_swift_version: origin/stable/victoria - - job: name: swift-multinode-rolling-upgrade-wallaby parent: swift-multinode-rolling-upgrade @@ -710,7 +699,7 @@ - ^doc/(requirements.txt|(manpages|s3api|source)/.*)$ - ^test/(cors|unit|functional|probe)/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$ - - swift-probetests-centos-8-stream: + - swift-probetests-centos-9-stream: irrelevant-files: &probetest-irrelevant-files - ^(api-ref|releasenotes)/.*$ # Keep doc/saio -- we use those sample configs in the saio playbooks @@ -765,7 +754,7 @@ - swift-tox-func-ec-py38 - swift-func-cors - swift-tox-func-s3api-tests-tempauth - - swift-probetests-centos-8-stream: + - swift-probetests-centos-9-stream: irrelevant-files: *probetest-irrelevant-files - swift-dsvm-functional: irrelevant-files: *functest-irrelevant-files @@ -787,7 +776,6 @@ jobs: - swift-tox-py37 - swift-tox-py38 - - swift-tox-py36-centos-8-stream - swift-tox-func-py39-centos-9-stream - swift-tox-func-encryption-py39-centos-9-stream - swift-tox-func-ec-py39-centos-9-stream diff --git a/tools/playbooks/common/install_dependencies.yaml b/tools/playbooks/common/install_dependencies.yaml index 3076fa3cda..fbe4d1ac65 100644 --- a/tools/playbooks/common/install_dependencies.yaml +++ b/tools/playbooks/common/install_dependencies.yaml @@ -22,13 +22,13 @@ name: pip extra_args: --upgrade - - name: install rsync-daemon - CentOS 8 + - name: install rsync-daemon - CentOS 8, 9 package: name: rsync-daemon state: present when: - ansible_facts['distribution'] == "CentOS" - - ansible_facts['distribution_major_version'] == "8" + - ansible_facts['distribution_major_version'] != "7" - name: install python modules with pip pip: name={{ item }} state=present extra_args='--upgrade' diff --git a/tools/playbooks/cors/install_selenium.yaml b/tools/playbooks/cors/install_selenium.yaml index 682c36a875..0c936ca9b8 100644 --- a/tools/playbooks/cors/install_selenium.yaml +++ b/tools/playbooks/cors/install_selenium.yaml @@ -5,9 +5,15 @@ yum: name: xorg-x11-server-Xvfb state: present + # Note that more recent branches would require boto3, which would + # (eventually) enforce a similar version cap on urllib3 + - name: cap urllib3 + pip: + name: 'urllib3<2' + state: present - name: install selenium pip: - name: selenium + name: 'selenium<4' state: present - name: install firefox yum: