Commit Graph

71 Commits

Author SHA1 Message Date
Casey Bodley
c7f2bc42d9 qa/s3tests: use cloudtier_tests and lifecycle_tests to control filters
when `extra_attrs` was made additive, these tests were adding both
'not lifecycle_expiration' and 'lifecycle_expiration' to the command
line. use a yaml flag instead to control whether or not the s3tests task
adds the 'not' filter

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-09-21 17:51:59 -04:00
Casey Bodley
09e10793e1 qa/s3tests: filter on 'sts_tests' and 'webidentity_tests'
qa/tasks/s3tests.py was adding `not test_of_sts` and `not
webidentity_test` by default, and the rgw/sts suites were adding
those attrs back in `extra_attrs`

when `extra_attrs` was changed to be additive, this started causing
InvocationError failures

instead of using `extra_attrs` to control these filters,
qa/tasks/s3tests.py now uses the `sts_tests` and `webidentity_tests`
flags from the sts yaml files to control whether or not the `not
test_of_sts`/`not webidentity_test` attrs are added to the pytest
command line

Fixes: https://tracker.ceph.com/issues/61838

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-27 17:05:24 -04:00
Casey Bodley
596e32f542 qa/s3tests: remove stale comment about rfc2616
this comment was about the old fails_strict_rfc2616 attr that was
removed in 6238eaaf0b

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-22 08:54:33 -04:00
Casey Bodley
1e65b50f60 qa/s3tests: clean up extra_attrs and extra_args logic
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-22 08:54:33 -04:00
Casey Bodley
1c006c92e1 qa/s3tests: make extra_attrs additive
the s3tests.py task is filtering out several attrs by default. but
when dbstore uses `extra_attrs` to add 'not fails_on_dbstore', it
overwrites those other filters

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-22 08:54:14 -04:00
Casey Bodley
6238eaaf0b qa/s3tests: run with tox instead of bootstrap+nose
Fixes: https://tracker.ceph.com/issues/58512

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-01-22 23:27:24 -05:00
Ali Maredia
07435866e7 qa: add iam section to cloud transitions config
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2022-07-19 14:29:50 -04:00
Ali Maredia
71a648dc02 qa: remove iam subsuite from rgw suite, run iam tests by default
Minor refactor for RGW user creation

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2022-07-12 16:22:35 -04:00
Pritha Srivastava
e94873ad85 qa/rgw: 1. adding yaml files to integrate iam tests in teuthology.
2. Modifying s3tests.py for iam tests.

Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
2022-06-23 09:15:24 +05:30
Soumya Koduri
a7397100aa rgw/qa: Run s3tests on dbstore backend in teuthology
Add a new test-suite to run s3tests on dbstore backend.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2022-05-21 23:49:47 +05:30
Soumya Koduri
aafa3d173f
Merge pull request #46008 from soumyakoduri/wip-skoduri-cloudtier-tests
rgw/qa: enable s3-tests related to cloud-transition feature

Reviewed-by: casey Bodley <cbodley@redhat.com>
Reviewed-by: Maredia, Ali <amaredia@redhat.com>
2022-05-19 15:53:54 +05:30
Soumya Koduri
fa86d2ea42 rgw/qa: Run tests on multiple cloudtier config
Run cloudtier tests with parameter 'retain_head_object'
set to true and false.

However having multiple cloudtier storage classes in the same task
is increasing the transition time and resulting in spurious failures.
Hence until there is a consistent way of running the tests, without
having to depend on lc_debug_interval, disabled one of the config for
now.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2022-05-19 13:57:46 +05:30
Soumya Koduri
f846f6ff02 rgw/qa: Add separate task for cloudtier tests
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2022-05-17 20:54:58 +05:30
Soumya Koduri
d0ac12dc38 rgw/qa: enable s3-tests related to cloud-transition feature
Added a new test-suite to configure cloudtier storage class and run related s3-tests.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2022-05-17 20:54:58 +05:30
Casey Bodley
98ddd40859 qa/rgw: use 'with-sse-s3' override for s3tests
don't rely on the ceph manager task to parse a config file. each rgw
could be using a different config. instead, revert to an s3tests
override called 'with-sse-s3'

this way, the only job that enables sse-s3, vault_transit.yaml, contains
both the 'rgw crypt sse s3' configurables, and the flag to enable the
associated test cases

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-05-11 14:49:51 -04:00
Casey Bodley
864f457a84 Revert "qa/rgw - run sse-s3 test cases only if configured or requested"
This reverts commit 9235cf95c1.

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-05-11 14:45:23 -04:00
Marcus Watts
9235cf95c1 qa/rgw - run sse-s3 test cases only if configured or requested
This commit adds logic to automatically detect when sse-s3 is
available and if not, disables sse-s3 tests by default.
Configuration opions are provided to override the default either way.

Signed-off-by: Marcus Watts <mwatts@redhat.com>
2022-04-27 21:14:55 -04:00
Marcus Watts
20cb9805c9 qa/rgw - run sse-s3 test cases by default
Signed-off-by: Marcus Watts <mwatts@redhat.com>
2022-04-19 17:35:40 -04:00
Casey Bodley
065b9aad86 qa/rgw: run sse-s3 test cases conditionally
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 4e644832b0)
2022-04-19 17:35:39 -04:00
Soumya Koduri
9dfe5ac714 rgw/qa: Add test suite for lifecycle cases
Execute lifecycle s3-tests in the teuthology test-suite by configuring
required storage classes and 'rgw lc debug interval' option.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2022-02-03 00:16:03 +05:30
Kalpesh Pandya
9c1e5d5c52 qa/tasks: Addition of new code for session tags in STS
Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2021-09-01 17:09:54 +05:30
Kalpesh Pandya
74b5ec876c qa/tasks: Addition of two new parameters for sts-tests
Addition of SUB and AZP parameter for some new sts-tests

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2021-09-01 17:09:54 +05:30
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
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
galsalomon66
b73c6c40bf diagnose zero segment while s3select
Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

using s3-test with the fix fix_test_file_permission_add_attrib

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

update s3select{1ea37ae459f957786b9d198510637dfa12f83350} ; add log tracing zero segments locations

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

s3select submodule update

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

fix comments

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

updating the s3select new features; covering the gap between latest documentation and latest faetures update

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

add some more examples; fixes

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

add between expression to doc; typo

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

typo

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

skipping empty segments

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>

skip empty segments to the next segments

Signed-off-by: galsalomon66 <gal.salomon@gmail.com>
2021-01-29 08:15:01 +02:00
Kalpesh Pandya
64db3a9aca qa: STS Web Identity task files
This commit comprises of 3 things:
1) Keycloak task (to bring up keycloak in teuthology inorder to execute Assume_Role_With_Web_Identity tests).
2) The required changes for this in s3tests.py which consists of writing some parameters to configuration file.
3) The yaml files which executes these tasks.

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
2020-11-29 04:52:19 +05:30
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
Kyr Shatskyy
552e6a771b qa/tasks/s3tests: use remote.write_file instead of misc.write_file
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-09-04 00:02:15 +02:00
Casey Bodley
f0cc5a8c50
Merge pull request #35910 from galsalomon66/add_s3select_filter
adding filter for s3select

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2020-07-08 08:52:22 -04:00
Kefu Chai
5d56234b45 qa/tasks/s3tests: drop py2 support
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-07-05 10:58:28 +08:00
gal salomon
873871d6f1 adding filter for s3select
Signed-off-by: gal salomon <gal.salomon@gmail.com>
2020-07-03 06:43:28 +03:00
Kyr Shatskyy
478083e731 qa/tasks/s3tests: py3 compat
- use string.ascii_uppercase instead string.uppercase
- use six.ensure_str for bytes when required
- use six.ensure_binary if needed
- get rid of dict.itervalues in favor of dict.values
- get rid of cStringIO.StringIO in favor io.BytesIO

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-03-06 10:19:55 +01:00
Kefu Chai
4c6a5798c2
Merge pull request #32222 from toabctl/qa-flake8-py3
qa: Run flake8 on python2 and python3

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-12-24 10:47:07 +08:00
Abhishek L
c195b78049
Merge pull request #31127 from theanalyst/rgw/qa-s3-user-caps
qa: rgw: add user-policy caps for the s3tests users

Reviewed-By: Casey Bodley <cbodley@redhat.com>
Reviewed-By: Pritha Srivastava <prsivas@redhat.com>
2019-12-20 18:13:03 +01:00
Sage Weil
3268ec7ac8 Merge PR #32252 into master
* refs/pull/32252/head:
	qa/cephfs/begin: libaio-devel on el8
	qa/tasks: nosetests -> python -m nose
	qa/tasks/rbd_fio: fio 2.21 -> 3.16
	src/test/cli-integration/rbd/snap-diff.t: python -> python
	qa/workunits: use nose 3
	qa/tasks/cbt: install python3 deps
	qa/tasks/ceph_manager.py: do not use python to write a file
	test/pybind/test_rados: execute takes a bytes (not str) payload
	qa/packages/packages: python[3]-ceph is no more
	qa: use python3 for venvs etc
	packaging: remove python3-ipaddres, as it is part of the stdlib in py3
	qa/packages: python-ceph -> python3-ceph
	qa/distros: centos7 -> centos8, rhel7 -> rhel8
	spec: remove _python_buildid in favor of python3_pkgversion macro
	spec: remove python2 packages and conditions
	debian: remove python >= 2.7 requirement
	debian: add mgr python versions
	debian: explicitly set PYTHON2=OFF to prevent picking up python2 interpreter
	debian: update control file to use python3 dependency names
	debian: remove all python2 overrides and declarations
	debian: remove all python2 install files

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2019-12-17 15:23:27 -06:00
Sage Weil
6476517def qa/tasks: nosetests -> python -m nose
Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-17 12:57:57 -06:00
Thomas Bechtold
bdcc94a1d1 qa: Run flake8 on python2 and python3
To be able to catch problems with python2 *and* python3, run flake8
with both versions. From the flake8 homepage:

It is very important to install Flake8 on the correct version of
Python for your needs. If you want Flake8 to properly parse new
language features in Python 3.5 (for example), you need it to be
installed on 3.5 for Flake8 to understand those features. In many
ways, Flake8 is tied to the version of Python on which it runs.

Also fix the problems with python3 on the way.
Note: This requires now the six module for teuthology. But this is
already an install_require in teuthology itself.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2019-12-13 09:24:20 +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
Kefu Chai
0e52da069b
Merge pull request #31839 from alimaredia/wip-s3-test-branch-refactor
qa: update s3-test download code for s3-test tasks

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
2019-12-11 09:28:58 +08:00
Ali Maredia
f43c0cf454 qa: update s3-test download code for s3-test tasks
- Ensure the download code for all tasks running
s3-tests is consistent.
- Simplify download code to only use the config
variable 'force-branch' for the branch being
cloned.
- make ceph-master the force-branch for all
suites using s3-tests.

Fixes: https://tracker.ceph.com/issues/43077

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2019-12-10 12:39:28 -05:00
Abhishek Lekshmanan
ac8bc39d54 qa: rgw: add user-policy caps for the s3tests users
This allows user-policy based user tests to be written

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-12-04 14:32:21 +01: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
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
Casey Bodley
97f1be5d3a qa/rgw: rgw/website suite uses subdomain calling format
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-09-17 08:24:52 -04:00
Casey Bodley
71312246ad qa/rgw: s3test tasks sets s3website_domain to match dns-s3website-name
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-09-17 08:24:51 -04:00
Casey Bodley
7a84a00b6b qa/s3tests: use correct endpoint from rgw_server
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-09-17 08:22:21 -04:00
Casey Bodley
1feca42f4c qa/rgw: fix for extra_args in s3tests task
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2019-09-17 08:19:28 -04: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