Files
8af9141be2fc627823016013dd93d975290d4c64
swift /.zuul.yaml
Tim Burke b80de7cc37 Test under py313
Change-Id: Ib797f73134c8fa5ef0dc66aeddf06adfa50ed7d4
2025年04月23日 10:03:36 -07:00

780 lines
25 KiB
YAML

- job:
name:swift-tox-base
parent:openstack-tox-py310
nodeset:ubuntu-jammy
description:|
Base job for swift-tox jobs.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
timeout:5400
vars:
tox_environment:
TMPDIR:'{{ ansible_env.HOME }}/xfstmp'
COLUMNS:240
- job:
name:swift-tox-py36
parent:swift-tox-base
nodeset:ubuntu-bionic
description:|
Run unit-tests for swift under cPython version 3.6.
Uses tox with the ``py36`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py36
bindep_profile:test py36
python_version:3.6
post-run:tools/playbooks/common/cover-post.yaml
- job:
name:swift-tox-py37
parent:swift-tox-base
nodeset:ubuntu-bionic
description:|
Run unit-tests for swift under cPython version 3.7.
Uses tox with the ``py37`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py37
bindep_profile:test py37
python_version:3.7
post-run:tools/playbooks/common/cover-post.yaml
- job:
name:swift-tox-py38
parent:swift-tox-base
nodeset:ubuntu-focal
description:|
Run unit-tests for swift under cPython version 3.8.
Uses tox with the ``py38`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py38
bindep_profile:test py38
python_version:3.8
post-run:tools/playbooks/common/cover-post.yaml
- job:
name:swift-tox-py38-arm64
parent:swift-tox-py38
nodeset:ubuntu-focal-arm64
description:|
Run unit tests for an OpenStack Python project under cPython
version 3.8 on top of arm64 architecture.
timeout:10800
- job:
name:swift-tox-py312-arm64
parent:swift-tox-py312
nodeset:debian-bookworm-arm64
description:|
Run unit tests for an OpenStack Python project under cPython
version 3.12 on top of arm64 architecture.
timeout:10800
- job:
name:swift-tox-py39
parent:swift-tox-base
nodeset:ubuntu-focal
description:|
Run unit-tests for swift under cPython version 3.9.
Uses tox with the ``py39`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py39
bindep_profile:test py39
python_version:3.9
post-run:tools/playbooks/common/cover-post.yaml
- job:
name:swift-tox-py310
parent:swift-tox-base
nodeset:ubuntu-jammy
description:|
Run unit-tests for swift under cPython version 3.10.
Uses tox with the ``py310`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py310
bindep_profile:test py310
python_version:'3.10'
post-run:tools/playbooks/common/cover-post.yaml
- job:
name:swift-tox-py311
parent:swift-tox-base
nodeset:ubuntu-jammy
description:|
Run unit-tests for swift under cPython version 3.11.
Uses tox with the ``py311`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py311
bindep_profile:test py311
python_version:'3.11'
- job:
name:swift-tox-py312
parent:swift-tox-base
nodeset:debian-bookworm
description:|
Run unit-tests for swift under cPython version 3.12.
Uses tox with the ``py312`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py312
bindep_profile:test py312
python_use_pyenv:True
python_version:'3.12'
- job:
name:swift-tox-py313
parent:swift-tox-base
nodeset:ubuntu-noble
description:|
Run unit-tests for swift under cPython version 3.13.
Uses tox with the ``py313`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:py313
bindep_profile:test py313
python_use_pyenv:True
python_version:'3.13'
- job:
name:swift-tox-func-py312
parent:swift-tox-base
nodeset:ubuntu-noble
description:|
Run functional tests for swift under cPython version 3.12.
Uses tox with the ``func-py3`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:func
bindep_profile:test py312
python_version:3.12
- job:
name:swift-tox-func-py39-centos-9-stream
parent:swift-tox-func-py312
nodeset:centos-9-stream
vars:
bindep_profile:test py39
python_version:3.9
- job:
name:swift-tox-func-encryption-py39-centos-9-stream
parent:swift-tox-func-py39-centos-9-stream
vars:
tox_envlist:func-encryption
- job:
name:swift-tox-func-ec-py39-centos-9-stream
parent:swift-tox-func-py39-centos-9-stream
vars:
tox_envlist:func-ec
- job:
name:swift-tox-func-encryption-py312
parent:swift-tox-func-py312
description:|
Run functional tests for swift under cPython version 3.12.
Uses tox with the ``func-encryption-py3`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:func-encryption
- job:
name:swift-tox-func-encryption-py312-arm64
parent:swift-tox-func-encryption-py312
nodeset:ubuntu-noble-arm64
description:|
Run functional tests for swift under cPython version 3.12
on top of arm64 architecture.
Uses tox with the ``func-encryption-py3`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
timeout:10800
- job:
name:swift-tox-func-py312-arm64
parent:swift-tox-func-py312
nodeset:ubuntu-noble-arm64
description:|
Run functional tests for swift under cPython version 3.12
on top of arm64 architecture.
Uses tox with the ``func-py3`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
timeout:10800
- job:
name:swift-tox-func-ec-py312
parent:swift-tox-func-py312
description:|
Run functional tests for swift under cPython version 3.12.
Uses tox with the ``func-ec-py3`` environment.
It sets TMPDIR to an XFS mount point created via
tools/test-setup.sh.
vars:
tox_envlist:func-ec
- job:
name:swift-dsvm-functional
parent:devstack-minimal
description:|
Setup a Swift/Keystone environment and run Swift's func tests.
required-projects:
- opendev.org/openstack/requirements
- opendev.org/openstack/swift
- opendev.org/openstack/keystone
timeout:5400
vars:
tox_environment:
COLUMNS:240
tox_constraints_file:'{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
# This tox env get run twice; once for Keystone and once for tempauth
tox_envlist:func
devstack_localrc:
SWIFT_HASH:changeme
# We don't need multiple replicas to run purely functional tests.
# In fact, devstack special cases some things when there's only
# one replica.
SWIFT_REPLICAS:1
# One replica => no need for replicators, etc.
SWIFT_START_ALL_SERVICES:False
devstack_services:
keystone:true
swift:true
s3api:true
zuul_work_dir:src/opendev.org/openstack/swift
pre-run:tools/playbooks/dsvm/pre.yaml
run:tools/playbooks/dsvm/run.yaml
post-run:tools/playbooks/dsvm/post.yaml
- job:
name:swift-dsvm-functional-ipv6
parent:swift-dsvm-functional
vars:
devstack_localrc:
SERVICE_IP_VERSION:6
SERVICE_HOST:""
- job:
name:swift-tox-func-ceph-s3tests-tempauth
parent:unittests
voting:false
nodeset:centos-9-stream
description:|
Setup a SAIO dev environment and run ceph-s3tests
timeout:5400
vars:
tox_environment:
COLUMNS:240
s3_acl:yes
bindep_profile:test py39
pre-run:
- tools/playbooks/common/install_dependencies.yaml
- tools/playbooks/saio_single_node_setup/setup_saio.yaml
- tools/playbooks/saio_single_node_setup/add_s3api.yaml
- tools/playbooks/saio_single_node_setup/make_rings.yaml
- tools/playbooks/common/restart_swift.yaml
run:tools/playbooks/ceph-s3tests/run.yaml
post-run:
- tools/playbooks/probetests/post.yaml
- tools/playbooks/ceph-s3tests/post.yaml
- job:
name:swift-tox-func-s3api-compat-tests-tempauth
parent:unittests
nodeset:centos-9-stream
description:|
Setup a SAIO dev environment and run our s3api test suite
timeout:1800
vars:
tox_environment:
COLUMNS:240
s3_acl:yes
bindep_profile:test py39
pre-run:
- tools/playbooks/common/install_dependencies.yaml
- tools/playbooks/saio_single_node_setup/setup_saio.yaml
- tools/playbooks/saio_single_node_setup/add_s3api.yaml
- tools/playbooks/saio_single_node_setup/make_rings.yaml
- tools/playbooks/common/restart_swift.yaml
run:tools/playbooks/s3api-tests/run.yaml
post-run:
- tools/playbooks/probetests/post.yaml
- job:
name:swift-probetests-centos-9-stream
parent:unittests
nodeset:centos-9-stream
description:|
Setup a SAIO dev environment and run Swift's probe tests
under Python 3.
timeout:7200
vars:
tox_environment:
COLUMNS:240
s3_acl:no
bindep_profile:test py39
pre-run:
- tools/playbooks/common/install_dependencies.yaml
- tools/playbooks/saio_single_node_setup/setup_saio.yaml
- tools/playbooks/saio_single_node_setup/make_rings.yaml
- tools/playbooks/saio_single_node_setup/add_s3api.yaml
run:tools/playbooks/probetests/run.yaml
post-run:tools/playbooks/probetests/post.yaml
- job:
name:swift-probetests-centos-9-stream-arm64
parent:swift-probetests-centos-9-stream
nodeset:
nodes:
- 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.
timeout:10800
- job:
name:swift-func-cors
parent:swift-probetests-centos-9-stream
description:|
Setup a SAIO dev environment and run Swift's CORS functional tests
timeout:1200
pre-run:
- tools/playbooks/cors/install_selenium.yaml
run:tools/playbooks/cors/run.yaml
post-run:tools/playbooks/cors/post.yaml
- nodeset:
name:swift-five-nodes-centos-9
nodes:
- name:test-runner1
label:centos-9-stream
- name:proxy1
label:centos-9-stream
- name:account1
label:centos-9-stream
- name:container1
label:centos-9-stream
- name:object1
label:centos-9-stream
groups:
- name:test-runner
nodes:
- test-runner1
- name:swift-cluster
nodes:
- proxy1
- account1
- container1
- object1
- name:proxy
nodes:
- proxy1
- name:account
nodes:
- account1
- name:container
nodes:
- container1
- name:object
nodes:
- object1
- name:storage
nodes:
- account1
- container1
- object1
- job:
name:swift-multinode-rolling-upgrade
parent:multinode
nodeset:swift-five-nodes-centos-9
description:|
Build a 4 node swift cluster and run functional tests
timeout:5400
vars:
bindep_profile:test py39
pre-run:
- tools/playbooks/multinode_setup/pre.yaml
- tools/playbooks/common/install_dependencies.yaml
- tools/playbooks/multinode_setup/configure_loopback.yaml
- tools/playbooks/multinode_setup/common_config.yaml
- tools/playbooks/multinode_setup/make_rings.yaml
run:tools/playbooks/multinode_setup/run.yaml
post-run:tools/playbooks/probetests/post.yaml
- job:
name:swift-multinode-rolling-upgrade-wallaby
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:wallaby-eom
- job:
name:swift-multinode-rolling-upgrade-xena
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:xena-eom
- job:
name:swift-multinode-rolling-upgrade-yoga
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:yoga-eom
- job:
name:swift-multinode-rolling-upgrade-zed
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:zed-eom
- job:
name:swift-multinode-rolling-upgrade-antelope
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:2023.1-eom
- job:
name:swift-multinode-rolling-upgrade-bobcat
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:origin/stable/2023.2
- job:
name:swift-multinode-rolling-upgrade-caracal
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:origin/stable/2024.1
- job:
name:swift-multinode-rolling-upgrade-dalmatian
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:origin/stable/2024.2
- job:
name:swift-multinode-rolling-upgrade-master
parent:swift-multinode-rolling-upgrade
vars:
previous_swift_version:origin/master
- job:
name:swift-tox-lower-constraints
parent:openstack-tox-lower-constraints
# This seems defensible for a l-c job
nodeset:ubuntu-bionic
vars:
bindep_profile:test py36
python_version:3.6
tox_environment:
TMPDIR:'{{ ansible_env.HOME }}/xfstmp'
# Image building jobs
- secret:
name:swift-dockerhub
data:
username:screamingfrenzy
password:!encrypted/pkcs1-oaep
- ruMizg1iVvKm4ABLQ8GshZMwt3EzxOyjPZsInL20+ZS+TQxhEwRbLFGzSxnrChIOdioyl
7TMW1PxQeJ5T/mPIsV7TBsSsnIMKYRcDSbKjnC0hjILpKfQXLFw4/rV/d3jeB6oLDSTW1
fIt4NmJqhsjlvst+VwT1JnFHLdrRaGMWYkjRU8rEmH82jDM7Wk7J+selykvTrlRQ7RpQR
6huzniL6PJPOZ7I5VsQcCmEWYKwd/u9Ifhe50yjgxmKR7Fi+wl0nBSOzt38f9ZEXTB6So
/ks0+RX2sTlgulNgJnnR8FG3p2AHxTJ75fcBnY1KkYlG0+KsdRTzNjxNXs2/Ao0pyJJTs
JWniEHWVAq6T5agwD1SsmWAzFctBjGKDstxmTyHaSNNN5c6yoVZewRBrFDfYXMJUikyS+
52bel/uihhiq60MnUCzKCiBg/TM1uonwRKA2KkDXWRh80oxBMIxw5nVZCMaHFpx7NW/ls
k6aI8jio+/N0cLZlglWqGOsE3EC08Ddd+cqe668/LQVY97UgMjIu6aZRwX9Iwa2NXNDRE
zPKQ3UDWYFgl8Za90PmrRD4qYuN/1lqCrLKp5cSJbche+EqdrGolCj701zUWcCdwjHMwz
YA5zG1SbWFyC9BidZYTwMNbo/RRz4TtFmW35A4CRE5HYB5Uh5ccpGlBvI9Yv8A=
- job:
name:swift-build-image
parent:opendev-build-docker-image
voting:false
description:Build SAIO docker images.
vars:&swift_image_vars
docker_images:
- context:.
repository:openstackswift/saio
tags:
- latest
- py3
- job:
name:swift-upload-image
parent:opendev-upload-docker-image
voting:false
description:Build SAIO docker images and upload to Docker Hub.
secrets:
name:docker_credentials
secret:swift-dockerhub
pass-to-parent:true
vars:*swift_image_vars
- job:
name:swift-promote-image
parent:opendev-promote-docker-image
voting:false
description:Promote previously uploaded Docker images.
secrets:
name:docker_credentials
secret:swift-dockerhub
pass-to-parent:true
vars:*swift_image_vars
- job:
name:swift-tox-func-py39-centos-9-stream-fips
parent:swift-tox-func-py39-centos-9-stream
voting:false
description:|
Functional testing on a FIPS enabled Centos 9 system
vars:
nslookup_target:'opendev.org'
enable_fips:true
- job:
name:swift-tox-func-encryption-py39-centos-9-stream-fips
parent:swift-tox-func-encryption-py39-centos-9-stream
voting:false
description:|
Functional encryption testing on a FIPS enabled
Centos 9 system
vars:
nslookup_target:'opendev.org'
enable_fips:true
- job:
name:swift-tox-func-ec-py39-centos-9-stream-fips
parent:swift-tox-func-ec-py39-centos-9-stream
voting:false
description:|
Functional EC testing on a FIPS enabled Centos 9 system
vars:
nslookup_target:'opendev.org'
enable_fips:true
# TODO(gmann): As per the 2025.1 testing runtime, we need to run at least
# one job on jammy. This job can be removed as per the future testing
# runtime (whenever we start testing Ubuntu 26.04 as default version).
- job:
name:tempest-integrated-object-storage-ubuntu-jammy
description:This is integrated object-storage job testing on Ubuntu jammy(22.04)
parent:tempest-integrated-object-storage
nodeset:openstack-single-node-jammy
- project-template:
name:swift-jobs-arm64
description:|
Runs tests for an OpenStack Python project under the CPython
version 3 releases designated for testing on top of ARM64 architecture.
check-arm64:
jobs:
- swift-tox-py312-arm64
experimental:
jobs:
- swift-tox-py38-arm64
- swift-tox-func-encryption-py312-arm64
- swift-tox-func-py312-arm64
- project:
templates:
- publish-openstack-docs-pti
- periodic-stable-jobs
- check-requirements
- release-notes-jobs-python3
- integrated-gate-object-storage
- swift-jobs-arm64
check:
jobs:
- swift-tox-func-py39-centos-9-stream-fips:
irrelevant-files:&functest-irrelevant-files
- ^(api-ref|doc|releasenotes)/.*$
- ^test/(cors|probe|s3api)/.*$
- ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
- swift-tox-func-encryption-py39-centos-9-stream-fips:
irrelevant-files:*functest-irrelevant-files
- swift-tox-func-ec-py39-centos-9-stream-fips:
irrelevant-files:*functest-irrelevant-files
- swift-build-image:
irrelevant-files:&docker-irrelevant-files
- ^(api-ref|doc|releasenotes)/.*$
- ^test/(functional|probe)/.*$
- swift-build-image-py3:
irrelevant-files:*docker-irrelevant-files
# Unit tests
- swift-tox-py36:
irrelevant-files:&unittest-irrelevant-files
- ^(api-ref|doc|releasenotes)/.*$
- ^test/(cors|functional|probe|s3api)/.*$
- swift-tox-py39:
irrelevant-files:*unittest-irrelevant-files
- swift-tox-py312:
irrelevant-files:*unittest-irrelevant-files
- swift-tox-py313:
irrelevant-files:*unittest-irrelevant-files
# Functional tests
- swift-tox-func-py312:
irrelevant-files:*functest-irrelevant-files
- swift-tox-func-encryption-py312:
irrelevant-files:*functest-irrelevant-files
- swift-tox-func-ec-py312:
irrelevant-files:*functest-irrelevant-files
# Other tests
- swift-func-cors:
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|probe|s3api)/.*$
- ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$
- swift-tox-func-ceph-s3tests-tempauth:
irrelevant-files:
- ^(api-ref|releasenotes)/.*$
# Keep doc/saio -- we use those sample configs in the saio playbooks
# Also keep doc/s3api -- it holds known failures for these tests
- ^doc/(requirements.txt|(manpages|source)/.*)$
- ^test/.*$
- ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
- swift-tox-func-s3api-compat-tests-tempauth:
irrelevant-files:
- ^(api-ref|releasenotes)/.*$
# Keep doc/saio -- we use those sample configs in the saio playbooks
- ^doc/(requirements.txt|(manpages|s3api|source)/.*)$
- ^test/(cors|unit|functional|probe)/.*$
- ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
- 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
- ^doc/(requirements.txt|(manpages|s3api|source)/.*)$
- ^test/(cors|unit|functional|s3api)/.*$
- ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
- swift-dsvm-functional:
irrelevant-files:*functest-irrelevant-files
- swift-dsvm-functional-ipv6:
irrelevant-files:*functest-irrelevant-files
- swift-tox-lower-constraints:
irrelevant-files:*unittest-irrelevant-files
- openstack-tox-pep8:
irrelevant-files:&pep8-irrelevant-files
- ^(api-ref|etc|examples|releasenotes)/.*$
# Keep doc/manpages -- we want to syntax check them
- ^doc/(requirements.txt|(saio|s3api|source)/.*)$
- swift-multinode-rolling-upgrade:
irrelevant-files:*functest-irrelevant-files
- tempest-integrated-object-storage:
irrelevant-files:&tempest-irrelevant-files
- ^(api-ref|doc|releasenotes)/.*$
- ^test/.*$
- ^(.gitreview|.mailmap|AUTHORS|CHANGELOG|.*\.rst)$
- tempest-integrated-object-storage-ubuntu-jammy:
irrelevant-files:*tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files:*tempest-irrelevant-files
- openstacksdk-functional-devstack:
irrelevant-files:*tempest-irrelevant-files
- grenade:
irrelevant-files:*tempest-irrelevant-files
- grenade-skip-level:
irrelevant-files:*tempest-irrelevant-files
gate:
jobs:
# For gate jobs, err towards running more jobs (so, generally avoid
# using irrelevant-files). Exceptions should mainly be made for
# long-running jobs, like probetests or (once they move to
# in-tree definitions) dsvm jobs.
- swift-upload-image:
irrelevant-files:*docker-irrelevant-files
- swift-upload-image-py3:
irrelevant-files:*docker-irrelevant-files
- swift-tox-py36
- swift-tox-py39
- swift-tox-py312
- swift-tox-func-py312
- swift-tox-func-encryption-py312
- swift-tox-func-ec-py312
- swift-func-cors
- swift-tox-func-s3api-compat-tests-tempauth
- swift-probetests-centos-9-stream:
irrelevant-files:*probetest-irrelevant-files
- swift-dsvm-functional:
irrelevant-files:*functest-irrelevant-files
- swift-dsvm-functional-ipv6:
irrelevant-files:*functest-irrelevant-files
- swift-tox-lower-constraints:
irrelevant-files:*unittest-irrelevant-files
- openstack-tox-pep8:
irrelevant-files:*pep8-irrelevant-files
- swift-multinode-rolling-upgrade:
irrelevant-files:*functest-irrelevant-files
- tempest-integrated-object-storage:
irrelevant-files:*tempest-irrelevant-files
- tempest-integrated-object-storage-ubuntu-jammy:
irrelevant-files:*tempest-irrelevant-files
- tempest-ipv6-only:
irrelevant-files:*tempest-irrelevant-files
- openstacksdk-functional-devstack:
irrelevant-files:*tempest-irrelevant-files
- grenade:
irrelevant-files:*tempest-irrelevant-files
- grenade-skip-level:
irrelevant-files:*tempest-irrelevant-files
experimental:
jobs:
- swift-tox-py37
- swift-tox-py38
- swift-tox-py310
- swift-tox-py311
- swift-tox-func-py39-centos-9-stream
- swift-tox-func-encryption-py39-centos-9-stream
- swift-tox-func-ec-py39-centos-9-stream
- swift-multinode-rolling-upgrade-wallaby
- swift-multinode-rolling-upgrade-xena
- swift-multinode-rolling-upgrade-yoga
- swift-multinode-rolling-upgrade-zed
- swift-multinode-rolling-upgrade-antelope
- swift-multinode-rolling-upgrade-bobcat
- swift-multinode-rolling-upgrade-caracal
- swift-multinode-rolling-upgrade-dalmatian
- swift-multinode-rolling-upgrade-master:
branches:master
post:
jobs:
- publish-openstack-python-branch-tarball
promote:
jobs:
- swift-promote-image
- swift-promote-image-py3