Commit Graph

170 Commits

Author SHA1 Message Date
Kalpesh Pandya
60904c907e qa : STS Testing Files (AssumeRole and GetSessionToken)
Added required files for testing of AssumeRole and GetSessionToken API's and modified s3tests.py to handle the same.

(cherry picked from commit c2c90eaf52)

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2020-09-15 11:58:59 +05:30
Sage Weil
2ee9365d0b qa: log-whitelist -> log-ignorelist
Signed-off-by: Sage Weil <sage@newdream.net>
2020-08-24 19:53:08 +00:00
Sage Weil
dfd01d7653 blacklist -> blocklist
Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Neha Ojha <nojha@redhat.com>
2020-08-24 19:53:08 +00:00
Daniel Gryniewicz
00ccbc74bb RGW - Turn on debug logging for tempest tests
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2020-08-17 12:30:58 -04:00
J. Eric Ivancich
94f53f513c
Merge pull request #33492 from prasakri/multisite-sync-check
RGW:Multisite: Verify if the synced object is identical to source

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2020-06-08 19:49:46 -04:00
Neha Ojha
7cd88b31e8 qa/suites/rgw/multisite, qa/suites/rgw/crypt: whitelist PG_AVAILABILITY
This follows b162541ac2.
The balancer was turned on by default in
d4fbaf7, as a result of which we might see
PG_AVAILABILITY health warnings when pg-upmap-items are applied.

Fixes: https://tracker.ceph.com/issues/45802
Signed-off-by: Neha Ojha <nojha@redhat.com>
2020-06-02 17:15:22 +00:00
Kefu Chai
8f5c832915 qa/tasks/tempest: use user/pass to authenticate
instead of using admin token use "admin" user to authenticate,
as admin token is not suggested anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-06-02 09:48:32 +08:00
Kefu Chai
739751ef7a qa/suites/rgw/tempest: update unsupported tests of tempest
after rerunning tempest with lastest radosgw, remove the supported
tests from the blacklist, and add the ones which are not supported
yet. now we can pass 123 tests in total.

also enable discoverity for better testing coverage, since it's
supported now.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-06-02 09:48:32 +08:00
Kefu Chai
a53c69943c qa/tasks/keystone: use "keystone-manage bootstrap"
* qa/tasks/keystone.py:
  instead of prefilling keystone manually, use "keystone-manage bootstrap"
  instead. it helps to setup the admin user, a "Default" domain with
  "default" id, and wire them up with the expected role and a "admin" project,
  etc. as id of the admin domain is known to be "default", we can just use it
  in our tests without querying openstack for the id of "Default"
  domain. this is very handy.
* qa/suites/rgw/tempest/tasks/rgw_tempest.yaml:
  use "Default" for domain name. as "Default" is the name of the domain
  created by bootstrap, while "default" is its id.
* qa/suites/rgw/crypt/2-kms/barbican.yaml:
  remove settings to bootstrap keystone

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-06-02 09:48:32 +08:00
Kefu Chai
8cb3f0411d qa/suites/rgw/tempest: use the latest tempest supporting py3.5
in case we need to use ubuntu xenial for testing, xenial only had python
3.5 packaged. and tempest 23.0 was the last version which supports
python3.5 and python2.7.

also do not replace link in tox.ini, as it is reachable.

to address the issues of

- pallets/markupsafe#116
- pypa/setuptools#2017

MarkupSafe is installed by
https://opendev.org/openstack/requirements/raw/branch/stable/pike/upper-constraints.txt

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-06-02 09:48:32 +08:00
Kefu Chai
9bd3e0ff40 qa/suites/rgw/tempest: bump up keystone to 17.0.0
* also generate a sample conf file following the document at
  https://github.com/openstack/keystone/tree/17.0.0.0rc2/etc
* use "projects" instead of "tenants" to match the terminology used by
  openstack identify API 3.0.
* test API 3.0 instead of API 2.0, by changing
  `rgw_keystone_api_version` from "2" to "3"
* explicitly specify a domain "default" for project to be created,
  otherwise a POST request will fail with:
```
{"error":{"code":400,"message":"You have tried to create a resource using the admin token. As this token is not within a domain you must explicitly include a domain for this resource to belong
to.","title":"Bad Request"}}
````
* create "default" domain, and use it, othewise a GET request fails
  like:
```
2020-05-28T11:17:28.751 INFO:teuthology.orchestra.run.smithi092.stderr:http://smithi092.front.sepia.ceph.com:35357 "GET /v3/domains/default HTTP/1.1" 404 87
2020-05-28T11:17:28.752 INFO:teuthology.orchestra.run.smithi092.stderr:RESP: [404] Content-Length: 87 Content-Type: application/json Date: Thu, 28 May 2020 11:17:28 GMT Server: WSGIServer/0.2
CPython/3.6.9 Vary: X-Auth-Token x-openstack-request-id: req-bc33796f-2bc3-411c-a7fb-1208918e0dbd
2020-05-28T11:17:28.752 INFO:teuthology.orchestra.run.smithi092.stderr:RESP BODY: {"error":{"code":404,"message":"Could not find domain: default.","title":"Not Found"}}
```
* add user to "default" domain when creating it.
* use "type" as the positional argument, per
  https://docs.openstack.org/keystone/pike/admin/cli-keystone-manage-services.html
  otherwise we will have failures like:
```
2020-05-28T13:38:24.867 INFO:teuthology.orchestra.run.smithi198.stderr:openstack service create: error: unrecognized arguments: --type keystone
```
* update `create_endpoint()` to use the V3 API,
  see
  https://docs.openstack.org/python-openstackclient/pike/cli/command-objects/endpoint.html

Fixes: https://tracker.ceph.com/issues/45692
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-06-02 09:48:32 +08:00
Neha Ojha
b162541ac2 qa/suites/rgw/verify/tasks/cls.yaml: whitelist PG_AVAILABILITY
The balancer was turned on by default in
d4fbaf7ea9, as a result of which we might see
PG_AVAILABILITY health warnings when pg-upmap-items are applied.

Fixes: https://tracker.ceph.com/issues/45619
Signed-off-by: Neha Ojha <nojha@redhat.com>
2020-05-28 19:30:46 +00:00
J. Eric Ivancich
43c948a4ab qa/rgw: integration test for rgw-orphan-list & radosgw-admin radoslist
Add teuthology test for `rgw-orphan-list` in a new tool suite under
rgw. It only needs to be tested under one configuration. And the new
tool sub-suite can be used by other tooling int he
future. radosgw-admin `radoslist` is tested indirectly through
`rgw-orphan-list` and therefore does not need its own test.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2020-05-04 13:55:00 -04:00
Casey Bodley
67415ea07b
Merge pull request #34286 from cbodley/wip-qa-rgw-cls-2pc-queue
qa/rgw: run ceph_test_cls_2pc_queue in verify suite

Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
2020-05-04 12:29:14 -04:00
Shilpa Jagannath
71b657b9d2 minor fix: run tests in python venv
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
2020-04-30 12:39:50 +05:30
Shilpa Jagannath
0270dc4aaa qa/rgw: some basic reshard tests
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
2020-04-27 13:16:09 +05:30
Casey Bodley
94ca8f4b81 qa/rgw: add setuser/group to test DEFER_DROP_PRIVILEGES
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-17 10:45:15 -04:00
Casey Bodley
0f44806c53 qa/rgw: run ceph_test_cls_2pc_queue in verify suite
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-14 11:43:05 -04:00
Casey Bodley
577f211391 test: add ceph_test_cls_cmpomap
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-13 09:23:44 -04:00
Prasad Krishnan
fa54225978 RGW:Multisite: Convert is_mpu_obj into an enum SourceObjType
Signed-off-by: Prasad Krishnan <prasad.krishnan@flipkart.com>
2020-03-20 20:01:35 +00:00
Sage Weil
86a27e5a9a Merge PR #33047 into master
* refs/pull/33047/head:
	qa/rgw: exercise DeleteRange in test_bucket_index_log_trim

Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
2020-03-04 09:58:45 -06:00
Casey Bodley
08e0a4289d qa/rgw: verify suite selects a random bucket sharding configuration
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-02-28 14:38:13 -05:00
Casey Bodley
2aa526b96a qa/rgw: exercise DeleteRange in test_bucket_index_log_trim
test_bucket_index_log_trim doesn't create enough keys to exceed the
default threshold, so set it to 0

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-02-03 11:46:59 -05:00
Casey Bodley
d486b5bc45 qa/rgw: test with non-default rgw-obj-stripe-size
each job will select one of the striping strategies at random

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-02-03 11:24:52 -05:00
Sage Weil
acd0e31177 qa/suites/rgw/website: run test on ubuntu
The dnsmasq package on centos 8.0 is broken, see
https://tracker.ceph.com/issues/43744

For now, run this test on ubuntu.

Signed-off-by: Sage Weil <sage@redhat.com>
2020-01-22 15:17:57 -06:00
Ali Maredia
2552974fe7 qa: pin rgw/verify to 8.0
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-01-21 13:02:42 -05:00
Sage Weil
5c1e0e5f1f qa/suite/rgw/verify: valgrind on centos again!
Signed-off-by: Sage Weil <sage@redhat.com>
2020-01-19 18:47:13 -06:00
Kefu Chai
7b0973e33b
Merge pull request #32624 from alimaredia/wip-s3-tests-python-3
qa/suites: use s3-tests with python3 support

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-01-17 23:47:51 +08:00
Casey Bodley
6a6d4a4ffa
Merge pull request #32620 from cbodley/wip-qa-rgw-hadoop-versions
qa/rgw: s3a-hadoop task defaults to maven-version 3.6.3

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2020-01-14 13:36:29 -05:00
Casey Bodley
b10873142e qa/rgw: remove test against hadoop v2.8.5
the hadoop branch rel/release-2.8.5 fails to build with:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:37 min
[INFO] Finished at: 2020-01-14T13:09:02Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (create-parallel-tests-dirs) on project hadoop-aws: An Ant BuildException has occured: Unable to create javax script engine for javascript

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-01-14 09:42:54 -05:00
Casey Bodley
5bb03f143e qa/rgw: remove test against hadoop trunk
hadoop's trunk fails to build with many 'package does not exist' errors:

[INFO] 100 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  48.792 s
[INFO] Finished at: 2020-01-14T13:07:36Z
[INFO] ------------------------------------------------------------------------

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-01-14 09:39:33 -05:00
Ali Maredia
0ed77d1c1a qa: remove s3readwrite & s3roundtrip tasks
As a result of the s3-tests python3 port, the
s3readwrite & s3roundtrip testing files were
deleted

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-01-13 15:46:31 -05:00
Ali Maredia
07a8ac5778 qa: s3tests/s3tests-website tasks no longer only use ubunutu
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2020-01-13 15:46:28 -05:00
Casey Bodley
abe5277269
Merge pull request #32188 from cbodley/wip-qa-rgw-obj-manifest
qa/rgw: add rgw_obj and throttle tests to rgw verify suite

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2020-01-13 14:45:19 -05:00
Casey Bodley
cfa5922fd8 qa/rgw: add rgw_obj and throttle tests to rgw verify suite
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-01-09 16:51:37 -05:00
Casey Bodley
f51a7cae7d qa/rgw: remove failing radosgw_admin_rest from multisite suite
this was added to test that admin apis forward relevent requests to the
master zone, but radosgw_admin_rest.py tries to create an admin user
with 'radosgw-admin user create'. this fails with:

Please run the command on master zone. Performing this operation on
non-master zone leads to inconsistent metadata between zones
Are you sure you want to go ahead? (requires --yes-i-really-mean-it)

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-01-08 10:27:33 -05:00
Patrick Donnelly
4562823a19
qa: add .qa link
Continuation of 716db6e2fd.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-12-19 14:31:09 -08:00
Sage Weil
aa9272d872 qa/tasks/swift: remove swift tests
- This is an ancient swift version
- The tempest tests are newer and show provide similar coverage
- It somehow broke with the py3 transition

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-19 12:21:21 -06:00
Sage Weil
9dd7ed8860 Revert "qa/suites/rgw: ragweed on ubuntu"
This reverts commit 73c2779524.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-17 14:40:34 -06:00
Sage Weil
ce308a8d0d Revert "qa/suites/rgw: disable remaining ragweed test"
This reverts commit 5a80fbe505.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-17 14:40:21 -06:00
Sage Weil
ea21829ae7 qa/suites/rgw: disable valgrind for tests that require py2/ubuntu
Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-17 12:26:15 -06:00
Sage Weil
5a80fbe505 qa/suites/rgw: disable remaining ragweed test
Needs to be py3 since it relies on the python bindings.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-17 10:47:49 -06:00
Sage Weil
2c1dde3b2a qa/suites/rgw: pin swift tests to py2/ubuntu
Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-16 14:48:36 -06:00
Sage Weil
73c2779524 qa/suites/rgw: ragweed on ubuntu
ragweed uses nosetests; stick to py2 for now.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-16 11:47:48 -06:00
Sage Weil
5b4e9de5fd qa/suites: run s3tests on ubuntu
Note that this does not capture the rgw/website test on valgrind, since
valgrind is centos only.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-16 11:37:10 -06:00
Ali Maredia
73d9131839 qa: add force-branch to suites running s3readwrite & s3roundtrip tasks
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2019-12-12 16:09:07 -05:00
Sergio de Carvalho
f9d7b685c1 rgw: improvements to SSE-KMS with Vault
* Minor improvements to Vault documentation
* Add teuthology tests for Transit secrets engine
* Add unit tests for KV secrets engine, minor improvements to Transit
  secrets engine
* use string_view::npos instead of string::npos

Signed-off-by: Andrea Baglioni <andrea.baglioni@workday.com>
Signed-off-by: Sergio de Carvalho <sergio.carvalho@workday.com>
2019-11-28 09:19:39 +00:00
Sage Weil
61ba2d7b66 Merge PR #31677 into master
* refs/pull/31677/head:
	qa/standalone/ceph-helpers.sh: remove osd down check
	qa/standalone/ceph-helpers.sh: destroy_osd: mark osd down
	osd: add osd_fast_shutdown option (default true)

Reviewed-by: Sébastien Han <seb@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-11-25 08:54:45 -06:00
Sage Weil
cf352c3ac0 osd: add osd_fast_shutdown option (default true)
If we get a SIGINT or SIGTERM or are deleted from the OSDMap, do a fast
shutdown by exiting immediately.  This has a few important benefits:

 - We immediately stop responding (binding) to any sockets, which means
   other OSDs will immediately decide we are down (and dead!).  This
   minimizes IO interruption.
 - We avoid the complex "clean" shutdown process, which is historically a
   source of bugs.

In reality, the only purpose of the "clean" shutdown is to try to tear down
everything in memory so we can do memory leak checking with valgrind.  Set
this option to false for valgrind QA runs so we can still do that.

Not that with the new read leases in octopus, we rely on the default
behavior that a ECONNREFUSED is taken to mean that the OSD is fully dead,
so that we don't have to wait for any leases to time out.  This works in
sane environments with normal IP networks, but that behavior could
conceivably be a bad idea if there are some weird network shenanigans
going on.  If osd_fast_fail_on_connection_refused were disabled, then this
fast shutdown procedure might be *worse* than the clean shutdown because
we would have to wait for the heartbeat timeout.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-11-15 09:31:50 -06:00
Sergio de Carvalho
2650ebe8af rgw: improvements to SSE-KMS with Vault
* add 'rgw crypt vault prefix' config setting to allow restricting
  secret space in Vault where RGW can retrieve keys from
* refuse Vault token file if permissions are too open
* improve concatenation of URL paths to avoid constructing an invalid
  URL (missing or double '/')
* doc: clarify SSE-KMS keys must be 256-bit long and base64 encoded,
  document Vault policies and tokens, plus other minor doc improvements
* qa: check SHA256 signature of Vault zip download
* qa: fix teuthology tests broken by previous PR which made SSE-KMS
  backend default to Barbican

Signed-off-by: Andrea Baglioni <andrea.baglioni@workday.com>
Signed-off-by: Sergio de Carvalho <sergio.carvalho@workday.com>
2019-11-12 13:51:25 +00:00