79b263f5e929e797c3554fb401c797470f0779cf
Commit Graph

63 Commits

Author SHA1 Message Date
Alistair Coles
e572938af3 Use headless option for cors functional test runner
Some selenium webdrivers (e.g. Chrome, Firefox) support a headless
option so we can expose that as an option for the test runner too.
Use this in an attempt to fix "Error: cannot open display: :99" errors
seen in the gate.
Related-Bug: #1918864
Change-Id: I2a549ce829eb0bc38406575582202e1d8dd1a0e2
2021年03月17日 15:57:02 -07:00
Zuul
b0464e79d8 Merge "s3api: Pass through CORS headers" 2021年03月12日 23:39:05 +00:00
Tim Burke
1afad5c492 cors-tests: Increase timeouts for setup operations
Drive-bys:
* Only copy outputs when there are outputs to copy
* Print tracebacks when there's an issue running a selenium driver
Change-Id: I0807af4525a13a30baf27ada40eeabe311b44296
2021年03月11日 17:33:48 -08:00
Tim Burke
81db980690 s3api: Pass through CORS headers
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
2021年03月01日 10:55:15 -08:00
Tim Burke
c5152ed4d3 Add some functional CORS tests
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
2021年03月01日 10:09:03 -08:00
Matthew Oliver
1de9834816 Report final in_progress when sharding is complete
On every sharder cycle up update in progress recon stats for each sharding
container. However, we tend to not run it one final time once sharding
is complete because the DB state is changed to SHARDED and therefore the
in_progress stats never get their final update.
For those collecting this data to monitor, this makes sharding/cleaving shards
never complete.
This patch, adds a new option `recon_shared_timeout` which will now
allow sharded containers to be processed by `_record_sharding_progress()`
after they've finished sharding for an amount of time.
Change-Id: I5fa39d41f9cd3b211e45d2012fd709f4135f595e
2021年02月26日 15:56:30 +00:00
Tim Burke
0b870eb94d Prevent upgrading to pip 21+
Change-Id: I952690558486a1d981985eae0fe9d7e07ff30e17
2021年01月25日 11:17:21 -08:00
Tim Burke
fb91993b47 s3-tests: Use my s3compat fork instead
Long term, though, we should look at moving this in-tree if we really care about it.
Change-Id: I0a25a6e395e5cf2bb39fa5b349418384eb513963
2020年12月24日 17:12:51 +00:00
Zuul
cb94d7539c Merge "s3-tests: Only try to copy outputs when there *are* outputs" 2020年12月18日 10:39:46 +00:00
Tim Burke
d186af14fa Add py3 probe tests on CentOS 8
Change-Id: Iae86d8838854023010686d3d4bed3befe6160ca5
2020年12月17日 11:25:42 -08:00
Tim Burke
73aa48a823 s3-tests: Only try to copy outputs when there *are* outputs
That way we avoid POST_FAILUREs when the real problem was in run.
Change-Id: I9eb84d1c794d58f0af3b7d78d3bc4660c1823dc8
2020年12月17日 18:58:09 +00:00
Tim Burke
d4c0a7d3b3 Give probe tests a second chance to pass
...and bump up their timeout, since that seems more likely to happen if
we have to retry.
Change-Id: Ie05521f6cd146234dc5615c96ad19681b43e9110
2020年12月08日 15:24:20 -08:00
Tim Burke
24060f6e62 tests: Increase container-update timeouts for rolling upgrade jobs
This should help make tests that rely on up-to-date listings more reliable.
Change-Id: Ib888c84fa629cc78f48a8251eda98c0fa51242c0
2020年11月06日 13:33:02 -08:00
Tim Burke
ae8a89f042 gate: Make rolling upgrade job work with either 60xx or 62xx ports
Change-Id: If14f53993e6a0554345b327415812423b6b57434
Related-Change: If5dd79f926fa51a58b3a732b212b484a7e9f00db
2020年09月09日 15:47:00 -07:00
Zuul
50800aba37 Merge "Update SAIO & docker image to use 62xx ports" 2020年08月01日 02:39:00 +00:00
Tim Burke
1c91547643 Use latest pip in gate jobs
We've seen failures with probe tests lately where dnspython 2.0.0 is
getting installed even though it doesn't support py2 anymore. I think
using latest pip should be better about noticing that and installing the
last 1.x release intead?
Change-Id: I6eda54ccd2792effadb334ce9324887132b62b6f
2020年07月20日 17:18:43 -07:00
Tim Burke
314347a3cb Update SAIO & docker image to use 62xx ports
Note that existing SAIOs with 60xx ports should still work fine.
Change-Id: If5dd79f926fa51a58b3a732b212b484a7e9f00db
Related-Change: Ie1c778b159792c8e259e2a54cb86051686ac9d18
2020年07月20日 15:17:12 -07:00
Tim Burke
51a587ed8d Use ensure-pip role
Hopefully this will fix the currently-broken probe test gate?
Depends-On: https://review.opendev.org/#/c/736070/
Change-Id: Ib652534b35236fdb6bcab131c7dc08a079bf72f6
2020年06月16日 21:29:01 -07:00
Tim Burke
79811df34c Use ini_file to update timeout instead of crudini
crudini seems to have trouble on py3 -- still not sure *why* it's using
py3 for the losf job, though...
Change-Id: Id98055994c8d59e561372417c9eb4aec969afc6a
2020年06月09日 18:27:54 -07:00
Zuul
4f440ad44d Merge "dsvm: Run service-user tests under tempauth" 2020年05月28日 00:27:40 +00:00
Zuul
8f1a40eaae Merge "swift-dsvm: Enable s3api" 2020年05月28日 00:27:36 +00:00
Tim Burke
73f0b143d1 dsvm: Run service-user tests under tempauth
Change-Id: I0bdd3a1d044f8f99873f6270ca821862bb994d72
2020年05月26日 12:54:17 -07:00
Tim Burke
bb9b0326fd swift-dsvm: Enable s3api
Depends-On: https://review.opendev.org/#/c/571021/
Change-Id: I3ac3288cd61b745ce7dbf2bded8eade026d0418f
2020年05月22日 16:04:52 -07:00
Zuul
a792255e79 Merge "swift-dsvm: Enable more middlewares" 2020年05月06日 19:37:13 +00:00
Tim Burke
cb37d3acd6 docs: Clean up mount options
* Stop specifying logbufs=8; that's the default
* Stop including nodiratime with noatime; the latter implies the former
Nothing wrong with being explicit, I suppose, but may as well keep the
mount options to what we can easily explain: we want noatime because
Swift does not use atime, so we don't want to lose any performance to
tracking atime.
Change-Id: I1e52b4368ad7eb375964eee5132bc50297536355
2020年05月03日 00:43:57 -07:00
Tim Burke
9581254e66 swift-dsvm: Enable more middlewares
Change-Id: I3cbbcd2ea9ced0923bee4a6b0783e4cf5e82e95b
2020年04月23日 13:46:16 -07:00
Tim Burke
cfb3ae6019 Update known-failures and config for up-rev'ed ceph/s3tests
Change-Id: I3833843cd8d23c498a2afe6c68a3f0afe26343c0
2019年11月16日 14:24:08 -08:00
Tim Burke
be41721888 Add experimental job to test upgrades from stein
Also, correct the version that we check out when upgrading from stable
branches.
Change-Id: Ie733bc50466c66d6e6eb5c6bd42e42a05ef88798
2019年09月28日 08:53:07 -07:00
Clay Gerrard
db8b0b6bc4 Make ceph tests more portable
Change-Id: If93325f2651a02f98f9d480c10bf7b849cc9617e
2019年09月13日 15:32:58 -07:00
Thiago da Silva
4ab3706b75 Remove nobarrier option
XFS no longer supports nobarrier mount option.
It has been deprecated for a long time[1] and removed in
recent kernel versions resulting in an error when trying to
mount: "kernel: XFS (loop0): unknown mount option [nobarrier]."
[1] - https://patchwork.kernel.org/patch/9486549/
Change-Id: Iaa9208fb20545ae9ac990f0e180899108d983123
2019年06月18日 14:47:39 +01:00
Zuul
f55167a735 Merge "Increase node_timeout in gate" 2019年04月30日 22:12:01 +00:00
Thiago da Silva
621e924883 Update openstack repo for libec install
Update to rocky release
Change-Id: Id35a41d689a24bf68d17647879780f5daaecdf37
2019年04月08日 16:49:29 -04:00
Clay Gerrard
771963c926 Increase node_timeout in gate
Give storage nodes more time to complete requests for multi-node upgrade
and probetests.
Also slightly decouple probetests from default configs.
Change-Id: I334ef517d833916a3b7be3151a812d4f9c66a6e1
2019年02月12日 10:39:17 -06:00
Tim Burke
defae1dd14 Fix rolling upgrade job
Previously, we'd install development versions of Swift as root, causing
later tox runs as zuul to fail on a permissions error because the
generated egg-info (at least) was locked down.
Change-Id: Ia688790f8b23ed1cf76947b5809c208df5dee8bb
2018年12月14日 15:11:19 -08:00
Tim Burke
dd49f17030 Add coverage reports to py27/35/36 unit test jobs
...and drop openstack-cover-jobs since it is no longer necessary.
Change-Id: Iad12e64f41bbdd8b8e005b0fb14a7e2108fa3bcf
2018年10月10日 23:17:00 +00:00
Tim Burke
050f8799ca Use latest eventlet in probe tests
Note that eventlet 0.22.0+ closes connections between requests when
it stops accepting connections.
Partial-Bug: #1792615
Change-Id: Ia8d9ab95e2aad40e8d797acc3423a917e809ffdb
2018年09月19日 14:59:32 -07:00
Thiago da Silva
5d70396247 add multinode functional test to swift
This new test job adds multinode testing to swift.
It currently configures 5 nodes: test-runner, proxy,
account, container and object. It starts by checkout out
the latest release and then 'upgrades' the storage nodes
to the current patch under test. That means that it will
the test-runner and the proxy are still running the latest
release.
Future work would include a new set of tests where it will
add objects to the cluster prior to upgrading and then try
to read those objects after the upgrade. It should also be
noted that the 'upgrade' currently only means a new
'git checkout' the configuration files are not being updated.
A future patch should fix that too.
Change-Id: If8e09a082fc024257a98cf332de9a36a18d2adc5
2018年09月17日 12:51:34 -04:00
Tim Burke
5a8cfd6e06 Add another user for s3api func tests
Previously we'd use two users, one admin and one unprivileged.
Ceph's s3-tests, however, assume that both users should have access to
create buckets. Further, there are different errors that may be returned
depending on whether you are the *bucket* owner or not when using
s3_acl. So now we've got:
 test:tester1 (admin)
 test:tester2 (also admin)
 test:tester3 (unprivileged)
Change-Id: I0b67c53de3bcadc2c656d86131fca5f2c3114f14
2018年09月14日 13:33:51 +00:00
Kota Tsuyuzaki
80001aa096 Add ceph-s3 test non-voting job
This patch added new non-voting gate job to check the s3api compatibility
via swiftstack/s3compat tool that shows the ratio of compatible S3 APIs
in the gate result for each patch. This is very useful to check the possibility
if the new incoming patch breaks S3 API compatibility unexpectedly.
Originally swift3 has this kind of the gate job but we missed the staff
while migrating from swift3 into swift upstream repo so this is the porting of that.
Note that currently the job is against to only tempauth because we don't have
custom gate jobs using keystone environment other than dsvm.
Change-Id: I6f30f74678ad35479da237361bee48c46c0ecc49
2018年09月14日 22:32:34 +09:00
Tim Burke
1d65219445 Move legacy-swift-dsvm-functional job in-tree
Note that there's no swift-dsvm-functional-identity-v3-only because
as of the Queens release, that's the *only* way Keystone gets deployed.
Change-Id: I49d963b98f3df21fea0db24c83553ef873ad73c8
2018年08月27日 09:57:02 -07:00
Thiago da Silva
6a039903c6 Remove contentdir hack
Latest version of CentOS should not need this anymore
Change-Id: Ief83c39420cfb4509f16d4e357d704025b116134
2018年07月25日 18:08:10 -04:00
John Dickinson
0edfb879a7 reorganized existing ansible playbooks
Change-Id: Ib08c2c4c685eb30a4c804ece0b667575c04d2ca0
2018年06月25日 13:47:45 -07:00
Thiago da Silva
ca21d71152 Add swift probe tests to gate
This patch includes some generic playbooks to configure a SAIO[0]
plus the playbook to run the probe tests.
The current SAIO playbooks have only been tests on CentOS, they
would need additional changes to run on Ubuntu.
[0] - https://docs.openstack.org/swift/latest/development_saio.html
Change-Id: Ib72c77021aeed20f2070d42cff0ea9b671a4317a
2018年03月06日 06:57:53 -05:00
Andreas Jaeger
bdd4eb6936 Install liberasurecode-devel for CentOS 7
Since I747c2b8754effbc6ec82af3bf7543fd9599a6c14 we do not install
the RDO package repository anymore and thus liberasurecode-devel
cannot be installed.
For CentOS 7, remove liberasurecode-devel from bindep.txt and install it
from test-setup.sh instead after enabling the RDO package repositories.
Update python dependencies: CentOS 7 does not have python3. Fix the
SUSE tags.
Change-Id: I72aa6b5455dfb025f54e83334983ac280f04afb2
2017年12月20日 09:29:19 +01:00
Andreas Jaeger
dc1c55c9a0 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
2017年12月19日 12:05:08 +01:00
niu-zglinux
627d0ba52f Rename requires files to standard names.
Rename tools/pip-requires to requirements.txt and tools/test-requires
to test-requirements.txt. These are standard files, and tools in the
general world are growing intelligence about them.
Change-Id: Ib3e50a811868e2969923d978ee00c4f92682aa1c
Fixes: bug #1179008 
2013年05月30日 22:14:01 +00:00
Matthieu Huin
b61b177a3f Skip cname_lookup when host is an IP address
cname_lookup cannot resolve IP addresses as CNAME records, and therefore
should not attempt to resolve the host in that case. The middleware is
skipped when the host is an IP address.
Change-Id: I6961ec205e771116ace1ebcb8c088f3116eb38f0
Fixes: bug #1172289 
2013年05月03日 17:48:31 +02:00
Monty Taylor
de2e5aa462 Update to flake8 instead of pep8.
Change-Id: I3d4a31111c3044da06611405ce80f208ef8a0ce3
2013年05月01日 14:19:38 -04:00
gholt
46c5b098f8 Fixed version req for netifaces to 0.5
Change-Id: Ic1c67ced0169658c9aa7f78ed09bf24863cc9fb6
2013年01月10日 23:07:02 +00:00
Julien Danjou
dcff5ff516 Use install_requires in setup.py
Using install_requires makes sure that if some code is using Swift internal
and wants to require Swift, all its dependencies have been already pulled.
This is really useful on test automation for example, otherwise, code might
be failing because on of the module listed in pip-requires is not instaled.
Also, we change the pip-requires files to use >= rather than ==, so the
requirements are easily fulfiled with distribution provided packages.
Change-Id: I65814bcd8ce798da21a5c17b4d5916a23f59e962
Signed-off-by: Julien Danjou <julien@danjou.info>
2012年12月12日 11:18:45 +01:00