Commit Graph

48 Commits

Author SHA1 Message Date
Marcus Watts
e8ff0464d4 rgw/kms/vault - s3tests for both old and new test logic.
Test both "old" and "new" transit logic with s3tests.  Does not test
migration - that will need to be done separately.  I've added
a "flavor" parameter so the test logic can tell the difference
between the "old" engine and the "new" engine.  The vault
keys creation logic now has options to determine whether
the keys created are exportable (needed for the old transit
engine), or not (should be the case going forward with the
new transit engine.)

Fixes: http://tracker.ceph.com/issues/48746
Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-05 23:05:13 -05:00
Matt Benjamin
d2c30d7130
Merge pull request #33996 from mdw-at-linuxbox/wip-master-kmip
rgw / kmip kms
2021-03-05 16:20:18 -05:00
Marcus Watts
096cdfaee3 rgw/kms/kmip - rgw / kmip test integration.
s3tests needs to know key names in order to run kms tests.
It seems desirable to have s3tests default to discovering
the names that were created by the pykmip task, and that
if there is more than one rgw connected to more than one
pykmip, that names belonging to the appropriate pykmip
instance should be used.

This logic does the following:
rgw task: save pykmip role name.
s3tests task: set kms_key (and kms_keyid2) to
these in order of priority
1	s3tests client task property ['kms_key'] (or ['kms_key2'])
2	first (second) secret created in the matching pykmip instance.
3	testkey-1 (testkey-2)

For case 2, names from the secrets have an initial "token-" stripped from them.
The assumption here is that rgw is being run with a setting such as
	rgw crypt kmip kms key template: pykmip-$keyid
therefore "pykmip-" will be prefixed back onto the key before use.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Marcus Watts
7105fa6cfe rgw/kms/kmip - rgw / kmip test integration.
Pass endpoint configuration from pykmip to radosgw at runtime.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:10 -05:00
Patrick Donnelly
3681e3a1a8
qa: move get_valgrind_args to qa
This method is unused in the teuthology repo. The helper method better
belongs here where it is more easily modified.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-03-03 09:30:08 -08:00
Sage Weil
230c9ef1ce qa/tasks/rgw: pass fsid to rgw daemon
Fixes: https://tracker.ceph.com/issues/48754
Signed-off-by: Sage Weil <sage@newdream.net>
2021-02-17 12:17:04 -05:00
Radoslaw Zarzynski
08adc42d60 qa/task/rgw: instruct Valgrind to don't exit on first error.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2021-01-19 15:31:37 +01:00
J. Eric Ivancich
89654d0477 qa/rgw: allow the rgw teuthology task to capture/set dns names
A teuthology workunit might want to use the rgw task, setting the
rgw-dns-name and/or rgw-dns-s3website-name configuration options to
the fully-qualified domain name. Existing code implies that setting
these configuration options to the empty string will do that. However
the current logic does not support that given it has Python
conditionals that treat the empty string as false. This fixes that.

Now the following teuthology tasks YAML will work as expected:

  tasks:
  - rgw:
      client.0:
        dns-name: ''
        dns-s3website-name: ''

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2020-05-04 13:55:00 -04:00
Casey Bodley
58a773b59c qa/rgw: allow 'ceph' user to read vault token
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-04-20 11:36:51 -04:00
Kyr Shatskyy
eec9479f6d qa/tasks/rgw: fix imports for py3
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-03-06 10:19:55 +01:00
Thomas Bechtold
f5e77561e9 qa: Fix problems detected by mypy
This is a first step to enable mypy on the qa/ directory.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2020-03-05 06:53:31 +01:00
Thomas Bechtold
0127cd1e88 qa: Enable flake8 tox and fix failures
There were a couple of problems found by flake8 in the qa/
directory (most of them fixed now). Enabling flake8 during the usual
check runs hopefully avoids adding new issues in the future.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2019-12-12 10:21:01 +01: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
Patrick Donnelly
3c4328c0a4
Merge PR #30813 into master
* refs/pull/30813/head:
	qa: get rid of iteritems for python3 compatibility

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-10-21 21:22:00 -07:00
Casey Bodley
f3f68d8b6d qa/rgw: use config overrides for vault kms backend
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-10-15 11:30:22 -04:00
Casey Bodley
21526396f6 qa/rgw: use config overrides for barbican kms backend
except for the barbican endpoint, which isn't known until the barbican
task runs

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-10-15 11:30:18 -04:00
Casey Bodley
aa283c5464 qa/rgw: use config overrides for 'testing' kms backend
and configure the 'testing' backend for the rgw/verify suite

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-10-15 11:30:15 -04:00
Kyr Shatskyy
50b1823fac qa: get rid of iteritems for python3 compatibility
Fixes: https://tracker.ceph.com/issues/42267
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2019-10-15 11:27:39 +02:00
Kyr Shatskyy
5f95b532aa qa: get rid of iterkeys for py3 compatibility
Fixes: https://tracker.ceph.com/issues/42287

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2019-10-11 18:54:29 +02:00
Andrea Baglioni
955d3b517a rgw: add SSE-KMS with Vault using token auth
Restructure SSE-KMS tests which now has 3 scenarios for each KMS
backend: Barbican, Vault, and testing (keys stored in ceph.conf).

Signed-off-by: Andrea Baglioni <andrea.baglioni@workday.com>
Signed-off-by: Sergio de Carvalho <sergio.carvalho@workday.com>
2019-10-02 16:38:01 +01:00
Adam Kupczyk
a5ec971402 tasks/barbican: Added task to deploy and configure barbican
Fixed keystone, rgw and s3tests tasks to work with it.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
2019-09-13 15:04:43 -04:00
Ali Maredia
9c6afa3fb5 qa: use curl in wait_for_radosgw() in util/rgw.py
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2019-06-13 12:05:56 -04:00
Casey Bodley
658e5932fb qa/rgw: rgw task can override --rgw-dns-name on the command line
the value for rgw_dns_name isn't known until a machine is assigned, so
it can't be set via 'override: conf:'. add a per-client config option
to the rgw task so it can add the endpoint's hostname and/or s3website
hostname on the radosgw command line

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-06-03 13:07:41 -04:00
Casey Bodley
3ff5f0c240 qa/rgw: use default ports (80 or 443) unless overridden
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-06-03 13:07:41 -04:00
Casey Bodley
921faebb72 qa/rgw: allow rgw client config to override port
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-06-03 13:07:41 -04:00
Yehuda Sadeh
2d6b645d23 qa/rgw: support for storage classes
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2019-01-11 08:43:41 -08:00
Shilpa Jagannath
fbf1a531d2 qa/rgw: Add missing import line
Fixes unresolved reference to ConfigError exception class

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>

Remove unused import line

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
2018-11-28 18:12:11 +05:30
Neha Ojha
8198936df1 qa/tasks: run cosbench using the CBT task
Signed-off-by: Neha Ojha <nojha@redhat.com>
2018-04-26 16:36:57 -07:00
Casey Bodley
2aca3bd8c6 qa/rgw: loop over clients instead of config keys
we only run radosgw instances on clients that are specified directly in
the rgw task - this list omits entries that are brought in via overrides

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-03-09 16:31:33 -05:00
Casey Bodley
4e95ef3ffb qa/rgw: add ssl certificate option for rgw frontend config
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-03-09 16:31:32 -05:00
Casey Bodley
d4c33f0177 qa/rgw: add class for rgw endpoints
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-03-09 16:31:32 -05:00
Casey Bodley
0542974504 qa: create_cache_pool no longer runs 'pool application enable'
Fixes: http://tracker.ceph.com/issues/21155

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-08-29 10:01:04 -04:00
Casey Bodley
47ffcb1caf Merge pull request #17162 from cbodley/wip-qa-rgw-pool-application
qa/rgw: use 'ceph osd pool application enable' on created pools

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-08-23 12:52:33 -04:00
Casey Bodley
568c3f3a23 qa/rgw: enable 'rgw' application on created pools
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-08-22 14:37:02 -04:00
Radoslaw Zarzynski
43a7399720 qa/tasks/rgw: make the frontend_prefix per-client configurable.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-08-14 01:11:18 +00:00
Radoslaw Zarzynski
afe1ad3010 qa, rgw: Keystone's instances can be now accessed via non-local network interfaces.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-08-13 23:14:40 +00:00
Radoslaw Zarzynski
c1fe31d327 qa/tasks/rgw: add the "frontend_prefix" configurable.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-08-13 23:14:40 +00:00
Nathan Cutler
9778643c67 tests: rgw.py: put client roles in a separate list
Fixes: http://tracker.ceph.com/issues/20417
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-06-27 14:17:56 +02:00
Casey Bodley
8c74c8a639 qa/rgw: remove apache/fastcgi
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-19 16:05:36 -04:00
Casey Bodley
0fb3e76eae qa/rgw: more cleanup in rgw.py
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-19 15:53:37 -04:00
Casey Bodley
898ab4bb0f qa/rgw: remove multisite configuration from rgw task
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-19 15:53:36 -04:00
Casey Bodley
746c630999 qa/rgw: move startup polling logic to util/rgw.py
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-17 14:48:55 -04:00
Casey Bodley
76e147614f qa/rgw: fixes for cluster name on cleanup
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-17 14:48:55 -04:00
Casey Bodley
4c59d343c3 qa/rgw: move compression type out of ceph.conf
this makes the 'compression type' setting global to all gateways, and
makes the setting visible to other tasks in ctx.rgw.compression_type

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-05-17 14:48:55 -04:00
Ali Maredia
b31b84529e rgw multisite: use get_config_master_client for radosgw_admin task
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2017-04-13 12:15:50 -04:00
Ali Maredia
c5956790e6 rgw: multisite enabled over multiple clusters
Added '--cluster' to all necessary commands
ex: radosgw-admin, rados, ceph, made sure
necessary checks were in place so that clients
can be read with our without a cluster_name
preceeding them

Made master_client defined in the config for
radosgw-admin task

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2017-04-13 12:15:50 -04:00
Radoslaw Zarzynski
6440750f53 qa/tasks/rgw.py: start Apache before RadosGW.
At the end of start_rgw() we wait till establishing HTTP connections
with RadosGW become possible. However, if RadosGW uses the FastCGI,
the condition can't be fulfilled without spawning HTTP server first.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
2017-03-07 17:31:52 +01:00
Sage Weil
c01f2ee0e2 move ceph-qa-suite dirs into qa/ 2016-12-14 11:29:55 -06:00