summaryrefslogtreecommitdiff
path: root/.zuul.yaml
Commit message (Collapse)AuthorAgeFilesLines
* CI: Use [tox]requires to pin virtualenvTim Burke2023-04-261-1/+1
| | | | | | | | | | | | | | Using an antiquated distro to keep us on an EOL'ed version of python that *just so happens* to have had support dropped for it around the same time virtualenv removed the ability to create py27 environments doesn't seem like the right way to address the problem. Make sure we also include the tox<4 pin that we're using project-wide so we don't get some nonsense about "Multiple top-level packages discovered in a flat-layout". Related-Change: https://review.opendev.org/c/openstack/swift/+/881035 Change-Id: I32a161e555179ca34d306ac37e4097611853e36b
* CI: fix lower-constraints jobTim Burke2023-04-201-2/+2
| | | | | | | | | | | Switch from focal back to bionic so tox gets installed with py36. This ensures that we get virtualenv<20.18.0 so we can still create py27 environments (support for which was dropped in virtualenv==20.22.0). Note that this also means we can drop our tox<4 pin, as newer tox does not support py36, either. Change-Id: Ia2b3cc4f719347705dec15f1fc97d982e72bfb34
* Merge "CI: Add rolling upgrade job coming from stable/zed"Zuul2023-02-021-0/+7
|\
| * CI: Add rolling upgrade job coming from stable/zedTim Burke2022-12-091-0/+7
| | | | | | | | Change-Id: I972d8f84385514fd9f0edfe803611f7210e5e6fc
* | CI: Remove nodeset pin for DSVM jobsTim Burke2023-01-091-3/+0
| | | | | | | | | | | | | | | | | | These should be fine on jammy/py310 now. Change-Id: Iae3daadc9d880b4980aa2305df626929c93b475d Closes-Bug: #1996627 Related-Bug: #1999278 Related-Change: Iae28097668213aa0734837ff21aef83251167d19
* | CI: pin tox at the project levelTim Burke2023-01-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No sooner do we fix the gate than tox has a new release that breaks it again. Let's give them a bit to settle down; in the mean time, stick with 3.x. See https://github.com/tox-dev/tox/issues/2811 Also simplify our warning suppressions. The message filter is a regex, so any prefix of the message will suffice. This allows us to also drop a new message seen on CentOS 8: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography (40.0) will be the last to support Python 3.6. As we've previously seen with cryptography warnings, this can slow down our probe tests to the point that they time out. Change-Id: I316170442c67c1b4a5b87f9a1168cc04ca2417b8
* | CI: Fix our usage of toxTim Burke2022-12-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For tox 3.x and earlier, passenv was a space-separated list; as of tox 4.0.0, it's comma-separated. For a while, our spaces would be silently included in the now-one-and-only passenv value parsed (which wasn't great, but mostly just caused confusion) -- as of tox 4.0.6, however, it became a hard error, and all tests would fail like pass_env values cannot contain whitespace, use comma to have multiple values in a single line, invalid values found 'SWIFT_* *_proxy' Unfortunately, we don't really know what versions of tox all our various stakeholders might want/need to use (though we previously set a minversion of 2.3.2). We might be able to spread values over multiple lines to make it compatible with both tox 3 *and* tox 4, but I'm fairly certain *_proxy was only included for some variables that are recent versions of tox include by default anyway, so just increase our minversion (which was too low, anyway -- allowlist_externals which we already configure was added in 3.18.0) and get rid of *_proxy. FWIW, python-swiftclient was already specifying 3.18.0 as a minversion, so I expect the new minversion to not be a problem. Also, add ./.functests to a bunch of allowlist_externals, as newer tox is more strict about that sort of thing. Drop skipsdist in a bunch of places so we can import swift from func tests and docs. (Still not sure why I don't see us hitting a similar problem for unit tests...) Change-Id: I4be1e86e3291ad1619c695fb93d7cadf053b556d
* | CI: Add py310 unit test jobTim Burke2022-12-131-0/+19
| | | | | | | | Change-Id: Ib90ebfefb387779c376249aa834f843dfc3d71a1
* | Switch to pytestTim Burke2022-12-091-15/+0
|/ | | | | | | | | | nose has not seen active development for many years now. With py310, we can no longer use it due to import errors. Also update lower contraints Closes-Bug: #1993531 Change-Id: I215ba0d4654c9c637c3b97953d8659ac80892db8
* Temporary pin the swift-dsvm-functional nodeset to FocalGhanshyam Mann2022-11-171-0/+3
| | | | | | | | | | | | | | | | As per the community wide goal to migrate the CI/CD from Ubuntu Focal to Ubuntu jammy, we need to merge the devstack, tox base jobs to jammy on Nov 18. But swift-dsvm-functional job is failing on Ubuntu Jammy. To move ahead to merge the base job patches we need to pin the swift-dsvm-functional job nodeset to Focal until this is fixed for Jammy. Needed-By: https://review.opendev.org/c/openstack/devstack/+/860795 Related-bug: #1996627 Change-Id: Ia35e55782592175a6a9aaafd59d72a0ff8362d61
* Mark rolling-upgrade job non-votingTim Burke2022-11-071-2/+1
| | | | | | | | | | Upstream CPython broke our HTTP parsing; while we can fix our own HttpProtocol, previous tags won't have the fix (naturally). See also: https://github.com/python/cpython/commit/4abab6b603dd38bec1168e9a37c40a48ec89508e Change-Id: Ibe67b1a485350967e37809ba8575a33eba56ee97 Related-Change: https://review.opendev.org/c/openstack/swift/+/863441
* Move base CI job to jammyTim Burke2022-11-031-10/+23
| | | | | | | | | We'll want that by the time we can add a py310 job. It'll also make us be explicit about the OS to use for py27 and py36-py39 jobs. Also, update bindep so we don't try to install py2 stuff on jammy. Change-Id: If70cd2fc03d10e55cd782ec8ffc87bd2b2b321ea
* CI: Install pip from pinned upstream for py2 probe testsTim Burke2022-10-261-9/+15
| | | | | | | As part of that, invert the inheritance so the py2 job derives from the py3 job. Change-Id: If8efd9a0fd18d17444a58119c525ff54cfd55dd9
* Set irrelevant-files for openstacksdk-functional-devstack jobTim Burke2022-09-131-0/+4
| | | | Change-Id: I8510c3f6ec6cdf658a918cd761fa17cf791bfd00
* Merge "CI: Add rolling upgrade job coming from stable/yoga"Zuul2022-08-301-0/+7
|\
| * CI: Add rolling upgrade job coming from stable/yogaTim Burke2022-08-291-0/+7
| | | | | | | | Change-Id: Ifd86ef011951f0f8c2a142ad3a060af347e9b8c9
* | Migrate CentOS Stream 8 FIPS job to CentOS Stream 9afariasa2022-08-251-23/+23
|/ | | | Change-Id: I8b0bd7ee1c649294ac3795cba801c9e07bc3d51b
* CI: Add nslookup_target to FIPS jobsTim Burke2022-07-281-0/+3
| | | | | | | At some point, this became a required parameter. Change-Id: I4d807f3b3649a45dbb2166bb8e911c45fb9cb701 Related-Change: Iebf474c9351e4246d7ab2072b48a50e93dbf0b94
* CI: Run s3api test suiteTim Burke2022-05-271-5/+34
| | | | Change-Id: I70dec389c1ac608a9d2767d162bd5edc315e564b
* Drop arm64 probe test jobTim Burke2022-04-281-1/+0
| | | | | | | | | | | | Most of the time, we're so resource constrained that we trip the three-hour (!!) job timeout, while the x86_64 job can typically complete within an hour. When the arm64 probe tests *do* fail, they've often failed due to eventual-consistency problems; things like object-updaters popping 10s timeouts and not getting asyncs off disk. The job last passed back in January. Change-Id: I31efa3fef673a5541505e4855e52bfd0c9668ffd
* CI: Run ceph and rolling upgrade tests under py3Tim Burke2022-04-041-20/+11
| | | | | | | | | | | | | As part of that, the ceph test runner needed up-rev'ing to run under py3. As a result, the known-failures shifted. Trim the on-demand rolling upgrade jobs list -- now that it's running py3, we only expect it to pass for train and beyond. Also, pin smmap version on py2 -- otherwise, the remaining experimental jobs running on centos-7 fail. Change-Id: Ibe46aecf0f4461be59eb206bfe9063cc1bfff706
* CI: Run CORS tests under py3Tim Burke2022-03-221-1/+1
| | | | Change-Id: I49d8480fd0c775249d8b586f9dea026448b8910d
* CI: remove swift-tox-func-encryption-py36-centos-8 jobTim Burke2022-02-161-3/+1
| | | | | | | | This was added while debugging issues with the FIPS jobs, and we already have a swift-tox-func-encryption-py36-centos-8-stream job in the experimental pipeline. Change-Id: I77178aa7def0e02e7b7add662135d62ed7f8c697
* Add FIPS CI jobsAde Lee2022-01-251-4/+40
| | | | | | | | Added jobs to run the swift functional tests when FIPS is enabled. We'll set these jobs to be non-voting initially, so that we can ensure that they are stable. Change-Id: If0b4cfc1ac9a8c66085eb4dc95366d43806d5ae2
* Merge "CI: Add rolling upgrade job coming from stable/xena"Zuul2022-01-081-0/+7
|\
| * CI: Add rolling upgrade job coming from stable/xenaTim Burke2021-12-101-0/+7
| | | | | | | | Change-Id: I17638d469f704e106ce691bed51e879c736ce153
* | Merge "CI: Move py37 and py38 jobs to experimental pipeline"Zuul2021-12-211-6/+2
|\ \ | |/
| * CI: Move py37 and py38 jobs to experimental pipelineTim Burke2021-12-101-6/+2
| | | | | | | | | | | | | | | | The confirmation that tests pass will still be nice come release time, but the py36 and py39 jobs probably suffice to say the intermediary versions work. Change-Id: I3de9fb217b402df214430a6cbf920d7bd7694b32
* | Move CI from CentOS 8 to CentOS 8 StreamTim Burke2021-12-101-20/+23
|/ | | | | | See also: http://lists.opendev.org/pipermail/service-announce/2021-December/000029.html Change-Id: Id34eea3f20621c2b25cc7753b1323d4ffb88f11b
* Make arm jobs voting (but not the pipeline)Alistair Coles2021-11-241-10/+5
| | | | | | | | | | | | Make the non-voting pipeline indicate failure when any of the jobs fail. Previously zuul would report "Build succeeded (ARM64 pipeline)." even when individual job(s) had failed. Now zuul will report "Build failed (ARM64 pipeline)." but the pipeline still does vote on the patchset. Change-Id: I84f59256df3aa41338df9829a565ae830ee8e847
* Clean up devstack job definitionsDr. Jens Harbott2021-11-101-3/+0
| | | | | | | | Keystone can only provide v3 now, remove variables that no longer have any effect within devstack. Signed-off-by: Dr. Jens Harbott <harbott@osism.tech> Change-Id: I66f6fd712cd14f60be39e2ee7ddd0a089cedabab
* Bump up timeout on swift-probetests-centos-8-arm64 jobTim Burke2021-10-131-0/+1
| | | | | | We have seen a fair number of timeouts on this lately. Change-Id: I8c77c3c7e724768bf40d6d33bfbe72604fd4f6bd
* Add some more arm64 non-voting testsMatthew Oliver2021-07-141-3/+41
| | | | | | | | | Adds: - a centos-8 probe test on py36 - an ubuntu-bionic functest on py38 - an ubuntu-bionic functest with encryption on py38 Change-Id: Id835b49312ec04d7ce9094718b98d8e23ddba0b7
* Merge "Run in-process func tests under py38"Zuul2021-06-171-18/+18
|\
| * Run in-process func tests under py38Tim Burke2021-06-081-18/+18
| | | | | | | | Change-Id: Ic59f2f0a1890a496398a0d30c9ed5ab7c6fa7d87
* | Add non-voting swift python3 unit test jobsricolin2021-05-251-0/+29
|/ | | | | | | | | | | | | | Add non-voting swift-tox-jobs-arm64 project template. It include two non-voting project jobs: * swift-tox-py38-arm64 * swift-tox-py39-arm64 And running on seperate pipeline `check-arm64`. Story: 2007938 Task: 42511 Change-Id: I92e5b159779422b064b2d6d034cfb6dd0d4afa59
* Add rolling upgrade job coming from stable/wallabyTim Burke2021-03-251-0/+7
| | | | Change-Id: I8fd5d11e4b33a87b5fcb1a2d59c84986ca770fd8
* gate: Make swift-multinode-rolling-upgrade voting againTim Burke2021-03-181-1/+2
| | | | Change-Id: I04dc249365bbdb511b036c7f433778ff30285591
* s3api: Pass through CORS headersTim Burke2021-03-011-0/+5
| | | | | | | | | | This adds support for presigned GET URLs, at least. Note that there is no support yet for preflight requests, so a whole bunch of other CORS stuff *doesn't* work (yet). This was just an easy first step. Change-Id: I43150a630a2a7620099e6bfecaed3bbe958ba423
* Add some functional CORS testsTim Burke2021-03-011-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If you've got selenium installed (and working), the whole thing can be automated pretty well; run main.py, wait while some windows pop up (or use xvfb-run to run things on a virtual display), then check out what tests were run on which browsers and whether any of them failed. Exit code is the number of failed tests. Includes tests against: - Account - Containers, with various ACLs/CORS settings - Objects - /info - SLOs - DLOs - Symlinks Include a gate job that runs the tests in firefox. Areas for future work: - Install chromium and chromedriver in the gate; tests should automatically pick up on the fact that it's available - Capture the web browser's console logs, too, so we can get more info when things go wrong Change-Id: Ic1d3a062419f1133c6e2f00a598867d567358c9f
* Test under py39Tim Burke2021-02-101-0/+22
| | | | | Depends-On: https://review.opendev.org/c/openstack/project-config/+/774906 Change-Id: I4a16370646a1a684240d29950ba197baccae91bb
* zuul: Clean up/de-dupe irrelevant-filesTim Burke2021-01-281-108/+35
| | | | Change-Id: I397834fe00011df5fc161395012ed45afd859c44
* gate: Add centos8/py36 experimental jobsTim Burke2021-01-091-0/+29
| | | | Change-Id: I47a88afe9f71bce783cf8bd05d4cb7495decadf6
* Add py3 probe tests on CentOS 8Tim Burke2020-12-171-0/+27
| | | | Change-Id: Iae86d8838854023010686d3d4bed3befe6160ca5
* Merge "Run DSVM func tests under py3"Zuul2020-12-161-1/+1
|\
| * Run DSVM func tests under py3Tim Burke2020-12-071-1/+1
| | | | | | | | | | | | | | | | The services themselves were already runing under py3. I think we've done about all of the py2-client-can-talk-to-py3-services testing we need to. Change-Id: I459d6065a3e4290768c499e7973917f7cf4ce2e7
* | Merge "Give probe tests a second chance to pass"Zuul2020-12-111-1/+1
|\ \
| * | Give probe tests a second chance to passTim Burke2020-12-081-1/+1
| |/ | | | | | | | | | | | | ...and bump up their timeout, since that seems more likely to happen if we have to retry. Change-Id: Ie05521f6cd146234dc5615c96ad19681b43e9110
* | Increase gate timeouts from 1hr to 1.5hrTim Burke2020-12-081-4/+4
|/ | | | Change-Id: I0a77025237549b192b6b695b6f18512dff28af6c
* Pin Bandit on py2Tim Burke2020-12-071-0/+1
| | | | | | | | | | ...and, since the previous tag didn't have the Bandit pin, make the rolling upgrade job non-voting. We should plan on backporting this so we can check that upgrades from stable branches are still OK. See also: https://github.com/PyCQA/bandit/issues/654 Change-Id: If7f3ad8b275271d748426133232ed06c2a1cd1de