From dc1c55c9a07c03fe85f4bcc52419a42d75ae30fa Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Sun, 17 Dec 2017 19:46:52 +0100 Subject: [PATCH] Native Zuul v3 tox jobs Convert the legacy tox jobs to Zuul v3 native and use the tools/test_setup.sh script to setup a XFS file like it's done in the legacy job. Needed-By: Id2b5cff998ac3a825a8f515c7bae3b433f30d272 Change-Id: I34ed9e1c4b822f700e42fb07937df7be72cbaf4e --- .zuul.yaml | 137 ++++++++++++++++++++++++++++++++++++++++++++ tools/test-setup.sh | 14 +++++ 2 files changed, 151 insertions(+) create mode 100644 .zuul.yaml create mode 100755 tools/test-setup.sh diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000000..25f624b1a3 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,137 @@ +- 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 + +- job: + name: swift-tox-py27-centos-7 + parent: swift-tox-py27 + nodeset: centos-7 + +- job: + name: swift-tox-py35 + parent: swift-tox-base + 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 + +- 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-post-as-copy + parent: swift-tox-base + description: | + Run functional tests for swift under cPython version 2.7. + + Uses tox with the ``func-post-as-copy`` environment. + It sets TMPDIR to an XFS mount point created via + tools/test-setup.sh. + vars: + tox_envlist: func-post-as-copy + +- job: + name: swift-tox-func-post-as-copy-centos-7 + parent: swift-tox-func-post-as-copy + 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 + +- project: + name: openstack/swift + check: + jobs: + - swift-tox-py27 + - swift-tox-py35 + - swift-tox-func + - swift-tox-func-post-as-copy + - swift-tox-func-encryption + - swift-tox-func-ec + gate: + jobs: + - swift-tox-py27 + - swift-tox-py35 + - swift-tox-func + - swift-tox-func-post-as-copy + - swift-tox-func-encryption + - swift-tox-func-ec + experimental: + jobs: + - swift-tox-py27-centos-7 + - swift-tox-func-centos-7 + - swift-tox-func-post-as-copy-centos-7 + - swift-tox-func-encryption-centos-7 + - swift-tox-func-ec-centos-7 diff --git a/tools/test-setup.sh b/tools/test-setup.sh new file mode 100755 index 0000000000..e8f2e944c3 --- /dev/null +++ b/tools/test-setup.sh @@ -0,0 +1,14 @@ +#!/bin/bash -xe + +# Set up a partition formatted with XFS to use as TMPDIR for our tests. +# OpenStack CI will invoke this script as part of tox based tests. +# The file .zuul.yaml set TMPDIR to $HOME/xfstmp. + +# Create a large-ish file that we will mount as a loopback +truncate -s 1GB $HOME/1G_xfs_file +# Format the new file as XFS. +/sbin/mkfs.xfs $HOME/1G_xfs_file +# loopback mount the file +mkdir -p $HOME/xfstmp +sudo mount -o loop,noatime,nodiratime $HOME/1G_xfs_file $HOME/xfstmp +sudo chmod 777 $HOME/xfstmp