Commit Graph

10090 Commits

Author SHA1 Message Date
Yuri Weinstein
deae3a6f18
Merge pull request #50291 from batrick/i55606
pybind/mgr: reopen database handle on blocklist

Reviewed-by: Ramana Raja <rraja@redhat.com>
2023-07-14 16:28:40 -04:00
Adam King
ba53768bfd
Merge pull request #52122 from adk3798/teuth-test-custom-config
qa/cephadm: testing for extra daemon/container features

Reviewed-by: John Mulligan <jmulligan@redhat.com>
2023-07-13 19:47:29 -04:00
Rishabh Dave
f0588bd3b3
Merge pull request #50569 from rishabh-d-dave/CephManager-in-CephFSTestCase
qa/cephfs: add helper methods in CephFSTestCase

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-07-13 12:44:22 +05:30
Venky Shankar
a9391e5b29 Merge PR #51959 into main
* refs/pull/51959/head:
	qa: test for session ls with filters
	mds: session ls command appears twice in command listing

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-07-13 11:18:34 +05:30
Venky Shankar
94f3e167a0 Merge PR #51278 into main
* refs/pull/51278/head:
	mgr/snap_schedule: rephrase log message when pruning
	doc: add note about snap-schedule snapshot retention
	qa: test user defined number of snaps retention spec
	mgr/snap_schedule: adapt test to new argument list
	doc/cephfs: Add note how mds_max_snaps_per_dir affects snapshot retention
	mgr/snap_schedule: Use mds_max_snaps_per_dir as snapshot count limit

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-07-13 11:17:16 +05:30
Yuri Weinstein
95627c9673
Merge pull request #51909 from NitzanMordhai/wip-nitzan-divergent-priors-test-3-pick-osd
qa/standalone/osd/divergent-prior.sh: Divergent test 3 with pg_autoscale_mode on pick divergent osd

Reviewed-by: Kamoltat (Junior) Sirivadhna <ksirivad@redhat.com>
2023-07-12 14:36:45 -04:00
Nizamudeen A
add6bf99b0
Merge pull request #52342 from ljflores/wip-whitelist-api
qa/tasks: set defer_client_eviction_on_laggy_osds=false in api tests

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2023-07-12 10:21:45 +05:30
Laura Flores
fe6ae275f0
Merge pull request #52345 from ljflores/wip-tracker-59057
qa/suites/rados/singleton/all: remove test_envlibrados_for_rocksdb
2023-07-11 17:04:32 -05:00
Laura Flores
2322d2c8e0 qa/tasks: set defer_client_eviction_on_laggy_osds=false in api tests
We expect laggy OSDs in this testing environment,
so it makes sense to disable this warning.

Fixes: https://tracker.ceph.com/issues/61907
Signed-off-by: Laura Flores <lflores@redhat.com>
2023-07-11 15:33:12 -05:00
Adam King
031bbbc17f qa/cephadm: test for extra daemon features
Specifically, extra_container_args, extra_entrypoint_args,
and custom_configs.

This also provides testing for the CustomContainer
class which previously had no usage in any
of the teuthology tests

Signed-off-by: Adam King <adking@redhat.com>
2023-07-11 09:37:28 -04:00
Yuri Weinstein
6e02660f10
Merge pull request #51275 from mchangir/mon-block-osd-pool-mksnap-for-fs-pools
mon: block osd pool mksnap for fs pools


Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-07-07 17:09:07 -04:00
Adam King
b985fadc48
Merge pull request #52301 from adk3798/cephadm-fix-rgw-migration
mgr/cephadm: fix rgw spec migration with simple specs

Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2023-07-07 14:33:11 -04:00
Laura Flores
2fca433c71 qa/suites/rados/singleton/all: remove test_envlibrados_for_rocksdb
In rocksdb 7.0, all envlibrados files were moved to a separate repository (ref: https://github.com/facebook/rocksdb/pull/9206).
The new repo is temporary and serves as an example before it is finalized where and who to host RADOS support.

Since this new repo is outside of the rocksdb repo and in an unceratin state, we should remove support for it in main
and Reef test suites. Quincy and below still use rocksdb 6.0, so the same does not apply.

Fixes: https://tracker.ceph.com/issues/59057
Signed-off-by: Laura Flores <lflores@redhat.com>
2023-07-06 12:14:05 -05:00
Casey Bodley
744c8b0841
Merge pull request #52216 from cbodley/wip-61838
qa/s3tests: filter on 'sts_tests' and 'webidentity_tests'

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2023-07-06 09:59:31 -04:00
Adam King
1860ef8387 mgr/cephadm: fix rgw spec migration with simple specs
The rgw spec migration code, intended to formalize
the rgw_frontend_type spec option, doesn't work with
simple specs i.e.

service_type: rgw
service_id: rgw.1
service_name: rgw.rgw.1
placement:
  label: rgw

because the migration code assumes there will always be
a "spec" section inside the spec. This is the case for
more involved rgw specs such as

service_type: rgw
service_id: foo
placement:
  label: rgw
  count_per_host: 2
spec:
  rgw_realm: myrealm
  rgw_zone: myzone
  rgw_frontend_type: "beast"
  rgw_frontend_port: 5000

which is what the migration is actually concerned about
(verification of the rgw_frontend_type in these specs).

In the case where the spec is more simple, we should
just leave the spec alone and move on. Unfortunately
the current code assumes the field will always be
there and hits an unhandled KeyError when trying to
migrate the more simple specs. This causes the
cephadm module to crash shortly after starting an
upgrade to a version that includes this migration
and it's very difficult to find the root cause. This
can be worked around by adding fields to the rgw
spec before upgrade so the "spec" field exists in
the spec and the migration works as intended.

This commit fixes the migration in the simple
case as well as adding testing for that case to
both the unit tests and orch/cephadm teuthology
upgrade tests

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

Signed-off-by: Adam King <adking@redhat.com>
2023-07-05 11:01:25 -04:00
Matan Breizman
780f6f55cd qa/tasks/cbt.py: Install collectl manually
See: d4a04809fd

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-07-04 11:42:34 +00:00
Matan Breizman
abdbfa2275 qa/suites/crimson-rados: Introduce performance testing
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-07-04 11:42:34 +00:00
J. Eric Ivancich
fb9d481188
Merge pull request #50667 from ivancich/wip-add-reupload-testing
qa/rgw: test that multipart re-upload does not leave any orphans

Reviewed-by: Cory Snyder <csnyder@iland.com>
2023-06-30 11:30:27 -04:00
Rishabh Dave
0a781ef080 qa/cephfs: use run_ceph_cmd() when cmd output is not needed
In filesystem.py and wherever instance of class Filesystem are used, use
run_ceph_cmd() instead of get_ceph_cluster_stdout() when output of Ceph
command is not required.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-28 17:38:19 +05:30
Rishabh Dave
1bf87e6eec qa/cephfs: add helper methods to filesystem.py
Add run_ceph_cmd(), get_ceph_cmd_stdout() and get_ceph_cmd_result() to
class Filesystem so that running Ceph command is easier. This affects
not only methods inside class Filesystem but also methods elsewhere that
uses instance of class Filesystem to run Ceph commands.

Instead of "self.fs.mon_manager.raw_cluster_cmd()" writing
"self.fs.run_ceph_cmd()" will suffice.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-28 17:38:19 +05:30
Rishabh Dave
c7c38ba558 qa/cephfs: when cmd output is not needed call run_ceph_cmd()
instead of get_ceph_cmd_stdout().

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-28 17:38:19 +05:30
Rishabh Dave
13168834e3 qa/cephfs: add and use get_ceph_cmd_stdout()
Add method get_ceph_cmd_stdout() to class CephFSTestCase so that one
doesn't have to type something as long as
"self.mds_cluster.mon_manager.raw_cluster_cmd()" to execute a
command and get its output. And delete and replace
CephFSTestCase.run_cluster_cmd() too.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-28 17:38:19 +05:30
Rishabh Dave
f8f2154e54 qa/cephfs: add and use run_ceph_cmd()
Instead of writing something as long as
"self.mds_cluster.mon_manager.run_cluster_cmd()" to execute a command,
let's add a helper method to class CephFSTestCase and use it instead.

With this, running a command becomes simple - "self.run_ceph_cmd()".

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-28 17:38:19 +05:30
Rishabh Dave
82814ac49d qa/cephfs: add and use get_ceph_cmd_result()
To run a command and get its return value, instead of typing something
as long as "self.mds_cluster.mon_manager.raw_cluster_cmd_result" add a
hepler method in CephFSTestCase and use it. This makes this task very
simple - "self.get_ceph_cmd_result()".

Also, remove method CephFSTestCase.run_cluster_cmd_result() in favour of
this new method.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-28 17:38:14 +05:30
Venky Shankar
809d475814 Merge PR #49971 into main
* refs/pull/49971/head:
	doc/cephfs: document MDS_CLIENTS_LAGGY health warning
	qa: ignore warnings
	qa: add test cases to check client eviction if an OSD is laggy
	mds,messages: enable beacon to report clients lagginess
	mds: do not evict client on laggy osds
	common: add new config option to defer client eviction
	osd: add method to check for laggy osds

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-06-28 10:23:54 +05:30
Casey Bodley
7d981bfa1a qa/rgw/sts: rename tasks, don't duplicate s3tests
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-27 17:05:38 -04:00
Casey Bodley
17486bddda qa/rgw/sts: move overrides into overrides.yaml
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-27 17:05:38 -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
Patrick Donnelly
c010e8abfe
qa: add test case for libcephsqlite maybe_reconnect
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2023-06-27 14:18:39 -04:00
Venky Shankar
f370b581f6 qa: assign file system affinity for replaced MDS
Otherwise, the MDS that just got replaced can transition to a rank
for another file system and the test cannot deterministically infer
which MDS needs to checked.

Fixes: http://tracker.ceph.com/issues/61764
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2023-06-27 09:23:14 +05:30
neeraj pratap singh
36bf907f9e qa: test for session ls with filters
Fixes: https://tracker.ceph.com/issues/61444
Signed-off-by: Neeraj Pratap Singh <neesingh@redhat.com>
2023-06-26 17:55:15 +05:30
Rishabh Dave
2e12e5086d qa/cephfs: create admin_remote instance in CephFSTestCase
admin_remote contains lots of methods that can be useful during testing,
so let's have an easy access to it too.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-24 19:33:44 +05:30
Rishabh Dave
0c0041005e qa/cephfs: create CephManager instance in CephFSTestCase
To run a Ceph command conveniently, run_cluster_cmd(), raw_cluster_cmd()
or raw_cluster_cmd_result() must be called. These methods are available
in class CephManager which in turn is available only if an instance of
Filesystem, MDSCluster, CephCluster or MgrCluster is initialized. Having
an instance of CephManager in CephFSTestCase will provide easy access to
these methods.

For example, in CephFS tests writing "self.mon_manager.raw_cluser_cmd()"
instead of writing "self.mds_cluster.mon_manager.raw_cluster()" will
suffice.

This commit provides a basis for upcoming commits in this patch series.
With next patches, running Ceph command will be further simplified. Just
writing self.run_ceph_cmd() will suffice for running a CephFS command.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-24 19:33:36 +05:30
Rishabh Dave
437f2c75f5 qa/cephfs: don't import entire module needlessly
Importing entire module ceph_manager.py is pointless since only
ceph_manager.CephManager is required in qa/tasks/cephfs/filesystem.py.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2023-06-24 19:18:05 +05:30
Ali Maredia
26fda85af2
Merge pull request #52156 from cbodley/wip-qa-rgw-s3tests-extra-attrs
qa/rgw/s3tests: make extra_attrs additive
2023-06-22 16:15:02 -04:00
Casey Bodley
39e5f096d1
Merge pull request #52085 from alimaredia/wip-rgw-tempest-keystone-fix
Tempest tests Keystone Fix

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2023-06-22 13:46:46 -04:00
Ali Maredia
703effd45b qa: rgw/tempest suite only runs on ubuntu latest
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2023-06-22 11:59:59 -04:00
Tobias Urdin
fffa119424 qa: update rgw openstack versions
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2023-06-22 11:59:53 -04:00
Adam King
54413fd570
Merge pull request #51738 from phlogistonjohn/jjm-cephadm-new-deploy
cephadm: create a new version of the deploy command

Reviewed-by: Adam King <adking@redhat.com>
2023-06-22 11:39:49 -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
Yuri Weinstein
d05da0b4d1
Merge pull request #52072 from NitzanMordhai/wip-nitzan-add-ec-clay-teuthology-tests
qa: adding clay test to thrash erasure code big

Reviewed-by: Neha Ojha <nojha@redhat.com>
2023-06-21 17:16:00 -04:00
Yuri Weinstein
b1ed114a66
Merge pull request #51450 from batrick/i59716
pybind/rados: keep byte representation if decode fails

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2023-06-21 17:12:08 -04:00
John Mulligan
f890d82478 qa/workunits/cephadm: update script use use cephadm _orch deploy
cephadm _orch deploy will eventually be the only deploy method so
we need to update the test script.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-06-21 13:19:16 -04:00
Ilya Dryomov
ca20127c70
Merge pull request #52109 from idryomov/wip-61616
librbd: avoid object map corruption in snapshots taken under I/O

Reviewed-by: Mykola Golub <mgolub@suse.com>
2023-06-21 11:43:26 +02:00
Ilya Dryomov
acb270a3dd qa/workunits/rbd: make continuous export-diff test actually work
The current version is pretty useless:

- "rbd bench" writes the same byte (0xff) over and over again, so
  almost all checksumming is in vain
- snapshots are taken in a steady state (i.e. not under I/O), so no
  race conditions can get exposed
- even with these caveats, it's not wired up into the suite

Redo this workunit to be a reliable reproducer for the issue fixed
in the previous commit and wire it up for both krbd and rbd-nbd.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2023-06-20 22:14:39 +02:00
Milind Changire
a63ffd4079
qa: test user defined number of snaps retention spec
Signed-off-by: Milind Changire <mchangir@redhat.com>
2023-06-20 20:22:33 +05:30
Yuri Weinstein
5ae95880bf
Merge pull request #48209 from kamoltat/wip-ksirivad-fix-tracker-57570
osd/OSDMap: Check for uneven weights & != 2 buckets post stretch mode

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2023-06-19 13:29:21 -04:00
Rishabh Dave
67b1935a18
Merge pull request #51132 from lxbsz/wip-59349
qa: wait for 100 seconds to make sure the quota to be enforced

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2023-06-16 17:52:00 +05:30