CI: Move off CentOS 8
This is a combination of 3 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.
NOTE(elod.illes): swift-multinode-rolling-upgrade-victoria job cannot
be removed here as it is defined only here and still not removed on
master branch.
========================================
CI: Migrate CentOS Stream 8 FIPS job to CentOS Stream 9
(cherry picked from commit 6fd031055c)
========================================
Conflicts:
  .zuul.yaml
NOTE(elod.illes): this patch is backported to unmaintained/wallaby as
CentOS Stream 8 is EOL and centos-8-stream nodeset was removed from
Zuul and it gives a config error: 'The nodeset "centos-8-stream" was
not found.' Official Wallaby runtimes [1] only contains CentOS Stream 8
and python 3.6 & 3.8.
[1] https://governance.openstack.org/tc/reference/runtimes/wallaby.html
Related-Change: I596415d17f77f48a6e8a63a61b734a8ca0865847
Change-Id: I4f6b9c07af7bc768654f1a5d0c66b048e0f2c9c1
(cherry picked from commit 2032fb214e)
(cherry picked from commit 9fa1b7edec)
(cherry picked from commit 1a18d3c16b)
(cherry picked from commit eadb2acde6)
			
			
This commit is contained in:
		
							
								
								
									
										81
									
								
								.zuul.yaml
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								.zuul.yaml
									
									
									
									
									
								
							@@ -45,11 +45,6 @@
 | 
				
			|||||||
        NOSE_COVER_HTML_DIR: '{toxinidir}/cover'
 | 
					        NOSE_COVER_HTML_DIR: '{toxinidir}/cover'
 | 
				
			||||||
    post-run: tools/playbooks/common/cover-post.yaml
 | 
					    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:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-py37
 | 
					    name: swift-tox-py37
 | 
				
			||||||
    parent: swift-tox-base
 | 
					    parent: swift-tox-base
 | 
				
			||||||
@@ -135,22 +130,22 @@
 | 
				
			|||||||
      python_version: 3.7
 | 
					      python_version: 3.7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-func-py36-centos-8-stream
 | 
					    name: swift-tox-func-py39-centos-9-stream
 | 
				
			||||||
    parent: swift-tox-func-py37
 | 
					    parent: swift-tox-func-py38
 | 
				
			||||||
    nodeset: centos-8-stream
 | 
					    nodeset: centos-9-stream
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      bindep_profile: test py36
 | 
					      bindep_profile: test py39
 | 
				
			||||||
      python_version: 3.6
 | 
					      python_version: 3.9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-func-encryption-py36-centos-8-stream
 | 
					    name: swift-tox-func-encryption-py39-centos-9-stream
 | 
				
			||||||
    parent: swift-tox-func-py36-centos-8-stream
 | 
					    parent: swift-tox-func-py39-centos-9-stream
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      tox_envlist: func-encryption-py3
 | 
					      tox_envlist: func-encryption-py3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-func-ec-py36-centos-8-stream
 | 
					    name: swift-tox-func-ec-py39-centos-9-stream
 | 
				
			||||||
    parent: swift-tox-func-py36-centos-8-stream
 | 
					    parent: swift-tox-func-py39-centos-9-stream
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      tox_envlist: func-ec-py3
 | 
					      tox_envlist: func-ec-py3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -245,15 +240,15 @@
 | 
				
			|||||||
        SERVICE_HOST: ""
 | 
					        SERVICE_HOST: ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-probetests-centos-8-stream
 | 
					    name: swift-probetests-centos-9-stream
 | 
				
			||||||
    parent: unittests
 | 
					    parent: unittests
 | 
				
			||||||
    nodeset: centos-8-stream
 | 
					    nodeset: centos-9-stream
 | 
				
			||||||
    description: |
 | 
					    description: |
 | 
				
			||||||
      Setup a SAIO dev environment and run Swift's probe tests
 | 
					      Setup a SAIO dev environment and run Swift's probe tests
 | 
				
			||||||
      under Python 3.
 | 
					      under Python 3.
 | 
				
			||||||
    timeout: 7200
 | 
					    timeout: 7200
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      bindep_profile: test py36
 | 
					      bindep_profile: test py39
 | 
				
			||||||
    pre-run:
 | 
					    pre-run:
 | 
				
			||||||
      - tools/playbooks/common/install_dependencies.yaml
 | 
					      - tools/playbooks/common/install_dependencies.yaml
 | 
				
			||||||
      - tools/playbooks/saio_single_node_setup/setup_saio.yaml
 | 
					      - tools/playbooks/saio_single_node_setup/setup_saio.yaml
 | 
				
			||||||
@@ -263,7 +258,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-func-cors
 | 
					    name: swift-func-cors
 | 
				
			||||||
    parent: swift-probetests-centos-8-stream
 | 
					    parent: swift-probetests-centos-9-stream
 | 
				
			||||||
    description: |
 | 
					    description: |
 | 
				
			||||||
      Setup a SAIO dev environment and run Swift's CORS functional tests
 | 
					      Setup a SAIO dev environment and run Swift's CORS functional tests
 | 
				
			||||||
    timeout: 1200
 | 
					    timeout: 1200
 | 
				
			||||||
@@ -276,18 +271,18 @@
 | 
				
			|||||||
    post-run: tools/playbooks/cors/post.yaml
 | 
					    post-run: tools/playbooks/cors/post.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- nodeset:
 | 
					- nodeset:
 | 
				
			||||||
    name: swift-five-nodes-centos8
 | 
					    name: swift-five-nodes-centos-9
 | 
				
			||||||
    nodes:
 | 
					    nodes:
 | 
				
			||||||
      - name: test-runner1
 | 
					      - name: test-runner1
 | 
				
			||||||
        label: centos-8-stream
 | 
					        label: centos-9-stream
 | 
				
			||||||
      - name: proxy1
 | 
					      - name: proxy1
 | 
				
			||||||
        label: centos-8-stream
 | 
					        label: centos-9-stream
 | 
				
			||||||
      - name: account1
 | 
					      - name: account1
 | 
				
			||||||
        label: centos-8-stream
 | 
					        label: centos-9-stream
 | 
				
			||||||
      - name: container1
 | 
					      - name: container1
 | 
				
			||||||
        label: centos-8-stream
 | 
					        label: centos-9-stream
 | 
				
			||||||
      - name: object1
 | 
					      - name: object1
 | 
				
			||||||
        label: centos-8-stream
 | 
					        label: centos-9-stream
 | 
				
			||||||
    groups:
 | 
					    groups:
 | 
				
			||||||
      - name: test-runner
 | 
					      - name: test-runner
 | 
				
			||||||
        nodes:
 | 
					        nodes:
 | 
				
			||||||
@@ -319,10 +314,12 @@
 | 
				
			|||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-multinode-rolling-upgrade
 | 
					    name: swift-multinode-rolling-upgrade
 | 
				
			||||||
    parent: multinode
 | 
					    parent: multinode
 | 
				
			||||||
    nodeset: swift-five-nodes-centos8
 | 
					    nodeset: swift-five-nodes-centos-9
 | 
				
			||||||
    description: |
 | 
					    description: |
 | 
				
			||||||
      Build a 4 node swift cluster and run functional tests
 | 
					      Build a 4 node swift cluster and run functional tests
 | 
				
			||||||
    timeout: 5400
 | 
					    timeout: 5400
 | 
				
			||||||
 | 
					    vars:
 | 
				
			||||||
 | 
					      bindep_profile: test py39
 | 
				
			||||||
    pre-run:
 | 
					    pre-run:
 | 
				
			||||||
      - tools/playbooks/multinode_setup/pre.yaml
 | 
					      - tools/playbooks/multinode_setup/pre.yaml
 | 
				
			||||||
      - tools/playbooks/common/install_dependencies.yaml
 | 
					      - tools/playbooks/common/install_dependencies.yaml
 | 
				
			||||||
@@ -438,32 +435,32 @@
 | 
				
			|||||||
    vars: *swift_image_vars_py3
 | 
					    vars: *swift_image_vars_py3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-func-py36-centos-8-stream-fips
 | 
					    name: swift-tox-func-py39-centos-9-stream-fips
 | 
				
			||||||
    parent: swift-tox-func-py36-centos-8-stream
 | 
					    parent: swift-tox-func-py39-centos-9-stream
 | 
				
			||||||
    voting: false
 | 
					    voting: false
 | 
				
			||||||
    description: |
 | 
					    description: |
 | 
				
			||||||
      Functional testing on a FIPS enabled Centos 8 system
 | 
					      Functional testing on a FIPS enabled Centos 9 system
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      nslookup_target: 'opendev.org'
 | 
					      nslookup_target: 'opendev.org'
 | 
				
			||||||
      enable_fips: true
 | 
					      enable_fips: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-func-encryption-py36-centos-8-stream-fips
 | 
					    name: swift-tox-func-encryption-py39-centos-9-stream-fips
 | 
				
			||||||
    parent: swift-tox-func-encryption-py36-centos-8-stream
 | 
					    parent: swift-tox-func-encryption-py39-centos-9-stream
 | 
				
			||||||
    voting: false
 | 
					    voting: false
 | 
				
			||||||
    description: |
 | 
					    description: |
 | 
				
			||||||
      Functional encryption testing on a FIPS enabled
 | 
					      Functional encryption testing on a FIPS enabled
 | 
				
			||||||
      Centos 8 system
 | 
					      Centos 9 system
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      nslookup_target: 'opendev.org'
 | 
					      nslookup_target: 'opendev.org'
 | 
				
			||||||
      enable_fips: true
 | 
					      enable_fips: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- job:
 | 
					- job:
 | 
				
			||||||
    name: swift-tox-func-ec-py36-centos-8-stream-fips
 | 
					    name: swift-tox-func-ec-py39-centos-9-stream-fips
 | 
				
			||||||
    parent: swift-tox-func-ec-py36-centos-8-stream
 | 
					    parent: swift-tox-func-ec-py39-centos-9-stream
 | 
				
			||||||
    voting: false
 | 
					    voting: false
 | 
				
			||||||
    description: |
 | 
					    description: |
 | 
				
			||||||
      Functional EC testing on a FIPS enabled Centos 8 system
 | 
					      Functional EC testing on a FIPS enabled Centos 9 system
 | 
				
			||||||
    vars:
 | 
					    vars:
 | 
				
			||||||
      nslookup_target: 'opendev.org'
 | 
					      nslookup_target: 'opendev.org'
 | 
				
			||||||
      enable_fips: true
 | 
					      enable_fips: true
 | 
				
			||||||
@@ -478,14 +475,14 @@
 | 
				
			|||||||
      - release-notes-jobs-python3
 | 
					      - release-notes-jobs-python3
 | 
				
			||||||
    check:
 | 
					    check:
 | 
				
			||||||
      jobs:
 | 
					      jobs:
 | 
				
			||||||
        - swift-tox-func-py36-centos-8-stream-fips:
 | 
					        - swift-tox-func-py39-centos-9-stream-fips:
 | 
				
			||||||
            irrelevant-files: &functest-irrelevant-files
 | 
					            irrelevant-files: &functest-irrelevant-files
 | 
				
			||||||
              - ^(api-ref|doc|releasenotes)/.*$
 | 
					              - ^(api-ref|doc|releasenotes)/.*$
 | 
				
			||||||
              - ^test/(cors|probe)/.*$
 | 
					              - ^test/(cors|probe)/.*$
 | 
				
			||||||
              - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
 | 
					              - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
 | 
				
			||||||
        - swift-tox-func-encryption-py36-centos-8-stream-fips:
 | 
					        - swift-tox-func-encryption-py39-centos-9-stream-fips:
 | 
				
			||||||
            irrelevant-files: *functest-irrelevant-files
 | 
					            irrelevant-files: *functest-irrelevant-files
 | 
				
			||||||
        - swift-tox-func-ec-py36-centos-8-stream-fips:
 | 
					        - swift-tox-func-ec-py39-centos-9-stream-fips:
 | 
				
			||||||
            irrelevant-files: *functest-irrelevant-files
 | 
					            irrelevant-files: *functest-irrelevant-files
 | 
				
			||||||
        - swift-build-image:
 | 
					        - swift-build-image:
 | 
				
			||||||
            irrelevant-files: &docker-irrelevant-files
 | 
					            irrelevant-files: &docker-irrelevant-files
 | 
				
			||||||
@@ -598,7 +595,7 @@
 | 
				
			|||||||
        - swift-tox-func-py37
 | 
					        - swift-tox-func-py37
 | 
				
			||||||
        - swift-tox-func-encryption-py37
 | 
					        - swift-tox-func-encryption-py37
 | 
				
			||||||
        - swift-tox-func-ec-py37
 | 
					        - swift-tox-func-ec-py37
 | 
				
			||||||
        - swift-probetests-centos-8-stream:
 | 
					        - swift-probetests-centos-9-stream:
 | 
				
			||||||
            irrelevant-files: *probetest-irrelevant-files
 | 
					            irrelevant-files: *probetest-irrelevant-files
 | 
				
			||||||
        - swift-dsvm-functional:
 | 
					        - swift-dsvm-functional:
 | 
				
			||||||
            irrelevant-files: *functest-irrelevant-files
 | 
					            irrelevant-files: *functest-irrelevant-files
 | 
				
			||||||
@@ -617,11 +614,9 @@
 | 
				
			|||||||
            voting: false
 | 
					            voting: false
 | 
				
			||||||
    experimental:
 | 
					    experimental:
 | 
				
			||||||
      jobs:
 | 
					      jobs:
 | 
				
			||||||
        - swift-tox-py36-centos-8-stream
 | 
					        - swift-tox-func-py39-centos-9-stream
 | 
				
			||||||
        - swift-tox-func-py36-centos-8-stream
 | 
					        - swift-tox-func-encryption-py39-centos-9-stream
 | 
				
			||||||
        - swift-tox-func-encryption-py36-centos-8-stream
 | 
					        - swift-tox-func-ec-py39-centos-9-stream
 | 
				
			||||||
        - swift-tox-func-ec-py36-centos-8-stream
 | 
					 | 
				
			||||||
        - swift-multinode-rolling-upgrade-victoria
 | 
					 | 
				
			||||||
        - swift-multinode-rolling-upgrade-master:
 | 
					        - swift-multinode-rolling-upgrade-master:
 | 
				
			||||||
            branches: master
 | 
					            branches: master
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,13 +24,13 @@
 | 
				
			|||||||
        name: pip<21
 | 
					        name: pip<21
 | 
				
			||||||
        extra_args: --upgrade
 | 
					        extra_args: --upgrade
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: install rsync-daemon - CentOS 8
 | 
					    - name: install rsync-daemon - CentOS 8, 9
 | 
				
			||||||
      package:
 | 
					      package:
 | 
				
			||||||
        name: rsync-daemon
 | 
					        name: rsync-daemon
 | 
				
			||||||
        state: present
 | 
					        state: present
 | 
				
			||||||
      when:
 | 
					      when:
 | 
				
			||||||
        - ansible_facts['distribution'] == "CentOS"
 | 
					        - ansible_facts['distribution'] == "CentOS"
 | 
				
			||||||
        - ansible_facts['distribution_major_version'] == "8"
 | 
					        - ansible_facts['distribution_major_version'] != "7"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: install python modules with pip
 | 
					    - name: install python modules with pip
 | 
				
			||||||
      pip: name={{ item }} state=present extra_args='--upgrade'
 | 
					      pip: name={{ item }} state=present extra_args='--upgrade'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,15 @@
 | 
				
			|||||||
      yum:
 | 
					      yum:
 | 
				
			||||||
        name: xorg-x11-server-Xvfb
 | 
					        name: xorg-x11-server-Xvfb
 | 
				
			||||||
        state: present
 | 
					        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
 | 
					    - name: install selenium
 | 
				
			||||||
      pip:
 | 
					      pip:
 | 
				
			||||||
        name: selenium
 | 
					        name: 'selenium<4'
 | 
				
			||||||
        state: present
 | 
					        state: present
 | 
				
			||||||
    - name: install firefox
 | 
					    - name: install firefox
 | 
				
			||||||
      yum:
 | 
					      yum:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,11 @@ function is_rhel8 {
 | 
				
			|||||||
        cat /etc/*release | grep -q -e "Red Hat" -e "CentOS" -e "CloudLinux" && \
 | 
					        cat /etc/*release | grep -q -e "Red Hat" -e "CentOS" -e "CloudLinux" && \
 | 
				
			||||||
        cat /etc/*release | grep -q 'release 8'
 | 
					        cat /etc/*release | grep -q 'release 8'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					function is_rhel9 {
 | 
				
			||||||
 | 
					    [ -f /usr/bin/dnf ] && \
 | 
				
			||||||
 | 
					        cat /etc/*release | grep -q -e "Red Hat" -e "CentOS" -e "CloudLinux" && \
 | 
				
			||||||
 | 
					        cat /etc/*release | grep -q 'release 9'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if is_rhel7; then
 | 
					if is_rhel7; then
 | 
				
			||||||
@@ -40,3 +45,10 @@ if is_rhel8; then
 | 
				
			|||||||
    sudo dnf install -y centos-release-openstack-ussuri
 | 
					    sudo dnf install -y centos-release-openstack-ussuri
 | 
				
			||||||
    sudo dnf install -y liberasurecode-devel
 | 
					    sudo dnf install -y liberasurecode-devel
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if is_rhel9; then
 | 
				
			||||||
 | 
					    # Install CentOS OpenStack repos so that we have access to some extra
 | 
				
			||||||
 | 
					    # packages.
 | 
				
			||||||
 | 
					    sudo dnf install -y centos-release-openstack-yoga
 | 
				
			||||||
 | 
					    sudo dnf install -y liberasurecode-devel
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user