From d186af14faf15e8f1e6a0c1f3a5d916f9a791749 Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Wed, 23 Oct 2019 12:24:17 -0700 Subject: [PATCH] Add py3 probe tests on CentOS 8 Change-Id: Iae86d8838854023010686d3d4bed3befe6160ca5 --- .zuul.yaml | 27 +++++++++++++++++++ bindep.txt | 4 +-- .../common/install_dependencies.yaml | 16 ++++++----- .../saio_single_node_setup/make_rings.yaml | 7 ++--- tools/test-setup.sh | 12 +++++++++ 5 files changed, 55 insertions(+), 11 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index abc79017c3..dbeadbb71b 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -244,7 +244,10 @@ nodeset: centos-7 description: | Setup a SAIO dev environment and run Swift's probe tests + under Python 2. timeout: 7200 + vars: + bindep_profile: test py27 pre-run: - tools/playbooks/common/install_dependencies.yaml - tools/playbooks/saio_single_node_setup/setup_saio.yaml @@ -252,6 +255,16 @@ run: tools/playbooks/probetests/run.yaml post-run: tools/playbooks/probetests/post.yaml +- job: + name: swift-probetests-centos-8 + parent: swift-probetests-centos-7 + nodeset: centos-8 + description: | + Setup a SAIO dev environment and run Swift's probe tests + under Python 3. + vars: + bindep_profile: test py36 + - nodeset: name: swift-five-nodes nodes: @@ -524,6 +537,13 @@ - ^doc/(requirements.txt|(manpages|s3api|source)/.*)$ - ^test/(unit|functional)/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$ + - swift-probetests-centos-8: + irrelevant-files: + - ^(api-ref|releasenotes)/.*$ + # Keep doc/saio -- we use those sample configs in the saio playbooks + - ^doc/(requirements.txt|(manpages|s3api|source)/.*)$ + - ^test/(unit|functional)/.*$ + - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$ - swift-dsvm-functional: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ @@ -589,6 +609,13 @@ - ^doc/(requirements.txt|(manpages|s3api|source)/.*)$ - ^test/(unit|functional)/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$ + - swift-probetests-centos-8: + irrelevant-files: + - ^(api-ref|releasenotes)/.*$ + # Keep doc/saio -- we use those sample configs in the saio playbooks + - ^doc/(requirements.txt|(manpages|s3api|source)/.*)$ + - ^test/(unit|functional)/.*$ + - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$ - swift-dsvm-functional: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ diff --git a/bindep.txt b/bindep.txt index b135464f9e..59ab57d234 100644 --- a/bindep.txt +++ b/bindep.txt @@ -18,9 +18,9 @@ libxslt1-dev [platform:dpkg] libxslt-dev [platform:apk] memcached python-dev [platform:dpkg platform:apk] -python-devel [platform:rpm] +python-devel [platform:rpm !py36] python3-dev [platform:dpkg platform:apk test] -python3-devel [platform:fedora platform:suse test] +python3-devel [platform:rpm !py27 test] # python3-devel does not pull in the python3 package on openSUSE so # we need to be explicit. The python3 package contains the XML module # which is required by a python3 virtualenv. Similarly, in python2, diff --git a/tools/playbooks/common/install_dependencies.yaml b/tools/playbooks/common/install_dependencies.yaml index 18fd520658..41826606ff 100644 --- a/tools/playbooks/common/install_dependencies.yaml +++ b/tools/playbooks/common/install_dependencies.yaml @@ -22,15 +22,19 @@ name: pip extra_args: --upgrade - - name: installing dependencies - yum: name={{ item }} state=present - with_items: - - python-pyeclib - - python-nose - - python-swiftclient + - name: install rsync-daemon - CentOS 8 + package: + name: rsync-daemon + state: present + when: + - ansible_facts['distribution'] == "CentOS" + - ansible_facts['distribution_major_version'] == "8" - name: install python modules with pip pip: name={{ item }} state=present extra_args='--upgrade' with_items: - crudini - eventlet + - nose + - pyeclib + - python-swiftclient diff --git a/tools/playbooks/saio_single_node_setup/make_rings.yaml b/tools/playbooks/saio_single_node_setup/make_rings.yaml index 65c469a236..f68a7a47c6 100644 --- a/tools/playbooks/saio_single_node_setup/make_rings.yaml +++ b/tools/playbooks/saio_single_node_setup/make_rings.yaml @@ -17,10 +17,11 @@ tasks: - name: install swift become: true - shell: - cmd: python setup.py develop - executable: /bin/bash + pip: + state: present + name: . chdir: '{{ zuul.project.src_dir }}' + editable: true - name: make rings shell: diff --git a/tools/test-setup.sh b/tools/test-setup.sh index de65749e99..f69142d77b 100755 --- a/tools/test-setup.sh +++ b/tools/test-setup.sh @@ -20,6 +20,11 @@ function is_rhel7 { cat /etc/*release | grep -q -e "Red Hat" -e "CentOS" -e "CloudLinux" && \ cat /etc/*release | grep -q 'release 7' } +function is_rhel8 { + [ -f /usr/bin/dnf ] && \ + cat /etc/*release | grep -q -e "Red Hat" -e "CentOS" -e "CloudLinux" && \ + cat /etc/*release | grep -q 'release 8' +} if is_rhel7; then @@ -28,3 +33,10 @@ if is_rhel7; then sudo yum install -y centos-release-openstack-rocky sudo yum install -y liberasurecode-devel fi + +if is_rhel8; then + # Install CentOS OpenStack repos so that we have access to some extra + # packages. + sudo dnf install -y centos-release-openstack-ussuri + sudo dnf install -y liberasurecode-devel +fi