- job: name: swift-tox-base parent: openstack-tox-py27 description: | Base job for swift-tox jobs. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. timeout: 2400 vars: tox_environment: TMPDIR: '{{ ansible_env.HOME }}/xfstmp' - job: name: swift-tox-py27 parent: swift-tox-base description: | Run unit-tests for swift under cPython version 2.7. Uses tox with the ``py27`` environment. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. vars: tox_envlist: py27 tox_environment: NOSE_COVER_HTML: 1 NOSE_COVER_HTML_DIR: '{toxinidir}/cover' post-run: tools/playbooks/common/cover-post.yaml - job: name: swift-tox-py27-centos-7 parent: swift-tox-py27 nodeset: centos-7 - job: name: swift-tox-py35 parent: swift-tox-base nodeset: ubuntu-xenial description: | Run unit-tests for swift under cPython version 3.5. Uses tox with the ``py35`` environment. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. vars: tox_envlist: py35 bindep_profile: test py35 tox_environment: NOSE_COVER_HTML: 1 NOSE_COVER_HTML_DIR: '{toxinidir}/cover' post-run: tools/playbooks/common/cover-post.yaml - 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 tox_environment: NOSE_COVER_HTML: 1 NOSE_COVER_HTML_DIR: '{toxinidir}/cover' 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 tox_environment: NOSE_COVER_HTML: 1 NOSE_COVER_HTML_DIR: '{toxinidir}/cover' post-run: tools/playbooks/common/cover-post.yaml - job: name: swift-tox-func parent: swift-tox-base description: | Run functional tests for swift under cPython version 2.7. Uses tox with the ``func`` environment. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. vars: tox_envlist: func - job: name: swift-tox-func-centos-7 parent: swift-tox-func nodeset: centos-7 - job: name: swift-tox-func-encryption parent: swift-tox-base description: | Run functional tests for swift under cPython version 2.7. Uses tox with the ``func-encryption`` 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-centos-7 parent: swift-tox-func-encryption nodeset: centos-7 - job: name: swift-tox-func-ec parent: swift-tox-base description: | Run functional tests for swift under cPython version 2.7. Uses tox with the ``func-post-ec`` environment. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. branches: ^(?!stable/ocata).*$ vars: tox_envlist: func-ec - job: name: swift-tox-func-ec-centos-7 parent: swift-tox-func-ec nodeset: centos-7 - job: name: swift-tox-func-domain-remap-staticweb parent: swift-tox-base description: | Run functional tests for swift under cPython version 2.7. Uses tox with the ``func-domain-remap-staticweb`` environment. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. vars: tox_envlist: func-domain-remap-staticweb - job: name: swift-tox-func-s3api parent: swift-tox-base description: | Run functional tests for swift under cPython version 2.7. Uses tox with the ``func-s3api`` environment. It sets TMPDIR to an XFS mount point created via tools/test-setup.sh. vars: tox_envlist: func-s3api - 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: 2700 vars: 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 # Keystone v3 is currently the default, but may as well be explicit ENABLE_IDENTITY_V2: False IDENTITY_API_VERSION: 3 devstack_services: keystone: true swift: 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 HOST_IPV6: '[::1]' SERVICE_HOST: '[::1]' - job: name: swift-tox-func-s3api-ceph-s3tests-tempauth parent: unittests voting: false nodeset: centos-7 description: | Setup a SAIO dev environment and run ceph-s3tests 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 run: tools/playbooks/ceph-s3tests/run.yaml post-run: - tools/playbooks/probetests/post.yaml - tools/playbooks/ceph-s3tests/post.yaml - job: name: swift-probetests-centos-7 parent: unittests nodeset: centos-7 description: | Setup a SAIO dev environment and run Swift's probe tests timeout: 3600 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 run: tools/playbooks/probetests/run.yaml post-run: tools/playbooks/probetests/post.yaml - nodeset: name: swift-five-nodes nodes: - name: test-runner1 label: centos-7 - name: proxy1 label: centos-7 - name: account1 label: centos-7 - name: container1 label: centos-7 - name: object1 label: centos-7 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 description: | Build a 4 node swift cluster and run functional tests timeout: 3600 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-queens parent: swift-multinode-rolling-upgrade vars: previous_swift_version: origin/stable/queens - job: name: swift-multinode-rolling-upgrade-rocky parent: swift-multinode-rolling-upgrade vars: previous_swift_version: origin/stable/rocky - job: name: swift-tox-lower-constraints parent: openstack-tox-lower-constraints vars: tox_environment: TMPDIR: '{{ ansible_env.HOME }}/xfstmp' # Image building jobs - secret: name: swift-dockerhub data: username: screamingfrenzy password: !encrypted/pkcs1-oaep - NvKH8qHFlB4sPvQHMQprl+tHb/0SxjdWnMMdzPV8ch2nwle5INlkRcZHg7tB2GEhU6iMN x7QHeKbkb7Vt0ZqOLpXGyjZ/OIiXD+v47Ef+a+k+7nu8xXuIXWNKQGK0moYUz8A6DKn8e 4ft67I39hoCXifSsMTUvtrz5P3wc2FleyzngOnNxbUD/UxNnbe6RdweRjZpfM4V/mWfqX B0fdDuyFf2ws+Y7Tfic7/wnqlTshHOdEaAO2Afzie441kpJ/r3ZysAsE7QZrmU2GNQhT2 rEmtViXu++1nun+D4nbpKUsq5RBpymK7jkffn0kNLaDNbxTWaAdiQMwUMq1Vn2dzpSGuA TtZAmO05SOvsEkakM58328vpXvz95DUKGyZVeVVt4GNTZ3hfGDZ4nxz76VgtEPCrG3YOz jkYiDaKBPDvRzuy71xXUaYdf7W8Ts3rJXq6KZDHl80GnlArwvyVX+KglQ5mX1EMMU+6Q3 LYMKWB/DXKcSYwJkumQe1woZzQqgbqNRZaaxUPQv99MRvk9BZksaAFrnCPH7IAJNDI3sO LCRmFX5Z0WqmzScAubH3+eRleKNDwBVp1VlHI+jtHRT6xtg32klPzo0FoX+iw0OFY1qpF 7A6aHgjsCVRuKMjt0kA8QV278A+bm5ZdyWAG9CWZ1+GEl3/9IPYiXbEyW1bPFw= - job: name: swift-build-image parent: opendev-build-docker-image description: Build SAIO docker images. vars: &swift_image_vars docker_images: - context: . repository: openstackswift/saio - job: name: swift-upload-image parent: opendev-upload-docker-image 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 description: Promote previously uploaded Docker images. secrets: name: docker_credentials secret: swift-dockerhub pass-to-parent: true vars: *swift_image_vars - project: templates: - publish-openstack-docs-pti - periodic-stable-jobs - check-requirements - release-notes-jobs-python3 check: jobs: - swift-build-image: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ - swift-tox-py27: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ - swift-tox-py35: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ voting: false - swift-tox-py36: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ voting: false - swift-tox-py37: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ - swift-tox-func: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-func-encryption: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-func-domain-remap-staticweb: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-func-ec: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-func-s3api: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-func-s3api-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/(unit|probe)/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-probetests-centos-7: 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)$ - swift-dsvm-functional: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-dsvm-functional-ipv6: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-lower-constraints: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ - openstack-tox-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: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ 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 - swift-tox-py27 - swift-tox-py37 - swift-tox-func - swift-tox-func-encryption - swift-tox-func-domain-remap-staticweb - swift-tox-func-ec - swift-tox-func-s3api - swift-probetests-centos-7: 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)$ - swift-dsvm-functional: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-dsvm-functional-ipv6: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/probe/.*$ - ^(.gitreview|.mailmap|AUTHORS|CHANGELOG)$ - swift-tox-lower-constraints: irrelevant-files: - ^(api-ref|doc|releasenotes)/.*$ - ^test/(functional|probe)/.*$ - openstack-tox-pep8: irrelevant-files: - ^(api-ref|etc|examples|releasenotes)/.*$ # Keep doc/manpages -- we want to syntax check them - ^doc/(requirements.txt|(saio|s3api|source)/.*)$ experimental: jobs: - swift-tox-py27-centos-7 - swift-tox-func-centos-7 - swift-tox-func-encryption-centos-7 - swift-tox-func-ec-centos-7 - swift-multinode-rolling-upgrade-queens - swift-multinode-rolling-upgrade-rocky post: jobs: - publish-openstack-python-branch-tarball promote: jobs: - swift-promote-image