Commit Graph

664 Commits

Author SHA1 Message Date
Jason Dillaman
caaba8eabe qa/workunits/rbd: fix permission issue when removing mirror peer
Fixes: https://tracker.ceph.com/issues/48032
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-10-28 14:06:57 -04:00
Mykola Golub
3043d80168 rbd-nbd: make unmap/detach wait for rbd-nbd process to terminate
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-10-13 18:32:50 +01:00
Mykola Golub
7d75c1d6b8 rbd-nbd: introduce new attach and detach commands
The commands allow to restart a daemon without destroying the nbd
device.

Now, if the netlink is used, a dead connection timeout is set on
the nbd device setup, so the device is not immediately released
if the rbd-nbd process terminates without disconnect (unmap).

The attach command just sends terminate signal to the rbd-nbd
process. The detach command starts a new process and connects to
the existing device.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-10-07 13:26:07 +01:00
Mykola Golub
b360186eb6 rbd-nbd: don't ignore namespace when unmapping by image spec
Fixes: https://tracker.ceph.com/issues/47665
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-09-27 17:59:49 +01:00
Ilya Dryomov
6827bbbcfb
Merge pull request #36927 from idryomov/wip-krbd-noudev
krbd: optionally skip waiting for udev events

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Sébastien Han <seb@redhat.com>
2020-09-21 19:39:30 +02:00
Ilya Dryomov
d2884adb15 qa: add test for mapping and unmapping from a network namespace
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-09-21 13:54:08 +02:00
Jason Dillaman
9929eff533
Merge pull request #37086 from trociny/wip-qa-rbd-nbd-unmap
qa/workunits/rbd: yet another attempt to improve rbd-nbd unmap

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-09-14 14:32:30 -04:00
Mykola Golub
dc9ee9ba0b rbd-nbd: return quiesce hook exit code
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-09-11 14:51:51 +01:00
Mykola Golub
f0c69761c8 qa/workunits/rbd: yet another attempt to improve rbd-nbd unmap
Previously it still could race when unmap_device returned success
because the device was not found in `rbd-nbd list-mapped` (the nbd
device was removed) but the test failed because the process was still
found in the ps table.

Fixes: https://tracker.ceph.com/issues/47394
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-09-10 17:13:26 +01:00
Ilya Dryomov
7ccd2c0dce qa: add test for krbd symlinks created by udev
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-09-09 09:21:54 +02: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
Jason Dillaman
dec8292a17 qa/workunits/rbd: retrieve peer uuid when attempting to delete duplicate
Previously, the peer uuid variable was empty which resulted in the failure
to remove the duplicate peer.

Fixes: https://tracker.ceph.com/issues/47007
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-08-18 17:18:25 -04:00
Mykola Golub
b0ab564eae qa/workunits/rbd: add rbd-nbd quiesce tests
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-05-09 16:36:49 +01:00
Jason Dillaman
efb6b656a1
Merge pull request #34787 from trociny/wip-45305
qa/workunits/rbd: fix list-mapped filter in unmap_device

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-05-01 11:23:02 -04:00
Mykola Golub
1ad816ae0c qa/workunits/rbd: fix peer_add helper
We need to temporary disable "exit on error" mode so it does not
abort when `rbd mirror pool peer add` returns "already exists"
error code.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-04-28 17:04:43 +01:00
Mykola Golub
d667e385a1 qa/workunits/rbd: fix list-mapped filter in unmap_device
In recent versions `rbd list-mapped` does not print the white space
at the end of the line.

Fixes: https://tracker.ceph.com/issues/45305
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-04-28 11:45:33 +01:00
Mykola Golub
7eced158a9 qa/workunits/rbd: retry the addition of a mirror pool peer
fb4311f5 has fixed this for setup, but "remove mirroring pool"
test needs fixing too.

Fixes: https://tracker.ceph.com/issues/44938
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-04-25 08:36:25 +01:00
Jason Dillaman
fb4311f597 qa/workunits/rbd: retry the addition of a mirror pool peer
We might race with the remote rbd-mirror daemon creating a
tx-only peer when adding a new peer. Therefore, delete the
tx-only peer and attempt to re-create it.

Fixes: https://tracker.ceph.com/issues/44938
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-04-15 16:27:07 -04:00
Jason Dillaman
e04422f2c6 rbd-mirror: switch to json_spirit formatter for journal image status
The free-form journal replay status description is now JSON-encoded. The
"master"/"mirror" designators have been changed to "primary"/"non_primary"
to better align with RBD terminology.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-04-03 15:24:53 -04:00
Jason Dillaman
477570a974 qa/workunits/rbd: use context managers to control Rados lifespan
There is a potential race between the expected exceptions being
thrown and Python shutting down racing with librados background
threads. Ensure that librados is properly shut down prior to
exiting Python.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-03-18 12:56:14 -04:00
Jason Dillaman
5cf9cd5d1c
Merge pull request #33900 from dillaman/wip-44459
qa/suites/rbd: removed OpenStack tempest test cases

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-03-12 19:22:22 -04:00
Jason Dillaman
3116c89fea
Merge pull request #33840 from trociny/wip-schedule-optimize-scan
mgr/rbd_support: don't scan pools that don't have schedules

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2020-03-12 19:21:28 -04:00
Mykola Golub
421d579ff9
Merge pull request #33898 from dillaman/wip-44567
qa/workunits/rbd: wait for nbd map to close after unmap

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-03-12 16:52:56 +02:00
Mykola Golub
ef4c3ec399 mgr/rbd_support: fix recursive non-global level schedule listing
For the case when the non-global level does not have a schedule
and a higher level is used as the parent, it wrongly listed
schedules from all branches under the parent, instead of only the
interested one.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-03-12 13:40:25 +00:00
Mykola Golub
5c80c497d5 qa/workunits/rbd: wait for schedule status updated
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-03-12 11:47:53 +00:00
Jason Dillaman
232d48f511 qa/suites/rbd: removed OpenStack tempest test cases
The OpenStack tempests tests do not stay stable and break approximately
every six months. Remove the test suite for now.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-03-11 15:36:22 -04:00
Jason Dillaman
80a3f18caf qa/workunits/rbd: wait for nbd map to close after unmap
The unmap action only sends a signal to the kernel to notify the
rbd-nbd daemon to disconnect. Therefore, it's possible that an
unmap followed by an immediate re-map to the same device might
fail since the unmap is still in-progress.

Fixes: https://tracker.ceph.com/issues/44567
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-03-11 15:12:58 -04:00
Jason Dillaman
606d866393 qa/suites/rbd: exercise different snapshot-based mirroring image features
Ensure that snapshot-based mirroring is tested in different RBD image
feature combinations.

Fixes: https://tracker.ceph.com/issues/44396
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-03-10 19:23:02 -04:00
Mykola Golub
5e15e111d3
Merge pull request #33588 from dillaman/wip-rbd-snapshot-mirror
rbd-mirror: initial end-to-end test and associated bug fixes

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-03-03 15:19:55 +02:00
Jason Dillaman
d6f4ce2a38 qa: test cases for snapshot-based mirroring
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-03-02 10:53:44 -05:00
Mykola Golub
d68d41c366 qa/workunits/rbd: add `mirror snapshot schedule' cli test
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-02-25 09:52:22 +00:00
Mykola Golub
253733ab89 qa/workunits/rbd: add `trash purge schedule' cli test
Signed-off-by: Mykola Golub <mgolub@suse.com>
2020-02-25 09:52:22 +00:00
Jason Dillaman
41357d242b qa/workunits/rbd: added mgr 'profile rbd' caps to mirror user
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-02-12 20:22:30 -05:00
Jason Dillaman
14001eb17e qa/workunits/rbd: additional overrides for CEPH_ARGS
The 'ceph' CLI and 'rbd mirror pool/image status' commandsshould revert
to use the admin user so that it has proper credentials for the cluster.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-02-12 20:21:48 -05:00
Mykola Golub
0ec4f8f1b9
Merge pull request #33187 from dillaman/wip-44066
qa/workunits/rbd: override CEPH_ARGS when initializing the site name

Reviewed-by: Mykola Golub <mgolub@suse.com>
2020-02-11 16:27:35 +02:00
Jason Dillaman
57d373fa99 qa/workunits/rbd: override CEPH_ARGS when initializing the site name
The mirroring site name is stored in the MON config which requires
higher privledges than the standard "client.mirror" user.

Fixes: https://tracker.ceph.com/issues/44066
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-02-10 11:39:24 -05:00
Jason Dillaman
ffa791f540 qa: move existing rbd-mirror functional test to journal-specific test
A new functional test for snapshot-based mirroring will be created and
the other stress-tests should eventually be applied to both snapshot-
and journal-based mirroring.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-01-30 10:26:36 -05:00
Jason Dillaman
cefaa78186 qa/workunits/rbd: use more recent qemu-iotests that support EL8
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-01-17 08:44:44 -05:00
Ilya Dryomov
b2b7610d1a qa: krbd_exclusive_option.sh: fixup for json.tool ordering change
In Python 3.5 json.tool was changed to produce unsorted output and
--sort-keys option was added to compensate.  This wasn't caught by
4fe245cc2f ("qa: update krbd tests for python3") because it raced
with 50933b863a ("qa: krbd_exclusive_option.sh: update for recent
kernel changes").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2020-01-06 15:12:25 +01:00
Jason Dillaman
5116a77f5d qa/workunits/rbd: fixed python interpreter for EL8
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-12-23 15:23:49 -05:00
Sage Weil
253a557f10 qa/workunits: python -> python3 throughout
Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-19 12:38:47 -06:00
Kefu Chai
79584862f6 src,qa: install python bindings into lib/cython_modules/lib.3
instead of checking for the WITH_PYTHON* options, just hardwire to lib.3

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-12-19 11:52:54 +08: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
Jason Dillaman
6787219e71
Merge pull request #32280 from dillaman/wip-librbd-qos-test
qa/workunit/rbd: fixed QoS throughput unit parsing

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-12-17 12:30:52 -05:00
Jason Dillaman
7838d3e18e qa/workunit/rbd: fixed QoS throughput unit parsing
The 'rbd bench' command was recently modified to print IEC units
instead of bytes/sec. This broke the handling for QoS throughput
tests since it was incorrectly evaluating the available RBD
throughput. Additionally, the QoS tests should use a "<="
comparison operator since the QoS is the upper-bound limit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-12-17 09:12:43 -05:00
Sage Weil
889446a515 qa/workunits: use nose 3
Ubuntu is /usr/bin/nosetests3, el is /usr/bin/nosetests-3, so do neither.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-16 17:02:45 -06:00
Mykola Golub
678b53735b librbd: explicitly specify mode on mirror image enable
- don't use journaling feature to chose the mode;
- provide new API function mirror_image_enable2;
- return back the old behavior to automatically enable/disable
  journaling feature on enabling/disabling image mirroring.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-12-16 08:24:30 +00:00
Jason Dillaman
f6c18468ce
Merge pull request #30548 from trociny/wip-41557
rbd-mirror: snapshot mirror mode

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-12-10 16:41:28 -05:00
Mykola Golub
c9c8852f6e librbd: snapshot mirror mode
Enabling mirroring for an image that does not support journaling
assumes snapshot based mirroring, which is supported only when the
pool is in the "image" mirror mode.

Also for the pool in the "image" mirror mode disabling/enabling
journaling feature for a mirroring image will switch
snapshot/journal mirror mode.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-12-10 15:45:30 +00:00
Ilya Dryomov
0bc226f6e1
Merge pull request #32088 from idryomov/wip-krbd-exclusive-lock-fixups
qa: krbd_exclusive_option.sh: update for recent kernel changes

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-12-09 22:59:13 +01:00
Ilya Dryomov
3aae140353 qa: kernel.sh: unlock before rolling back
"rbd snap rollback" expects an unlocked image, but we may get there
locked if object map is enabled (or if lock_on_read is specified in
rbd_default_map_options).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-12-09 17:29:13 +01:00
Ilya Dryomov
50933b863a qa: krbd_exclusive_option.sh: update for recent kernel changes
Since 5.3:
- a plain "rbd map" acquires the lock, so it's not different from
  "rbd map -o exclusive" in this regard
- if the lock is held by the exclusive peer, I/O is failed right away
  instead of blocking
- lock_timeout option is respected only by "rbd map" and not by I/O

Since 5.5:
- if the mapping is read-only, the lock isn't acquired

Added blacklisting test case, dropped lock_timeout test case.

Fixes: https://tracker.ceph.com/issues/43127
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-12-09 17:29:13 +01:00
Jason Dillaman
b27820cc73 rbd: incorporate rbd-mirror daemon status in mirror pool status
This will ensure that the Ceph dashbord's block mirroring page and
the CLI's 'mirror pool status' have matching health indications.

Fixes: https://tracker.ceph.com/issues/42748
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-12-04 08:14:06 -05:00
Ilya Dryomov
4fe245cc2f qa: update krbd tests for python3
There is no /usr/bin/python symlink in CentOS 8 even if python2 is
installed.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-12-02 21:13:19 +01:00
Ilya Dryomov
6fb544045e qa: kernel.sh: update for read-only changes
Snapshot existence validation code was removed from krbd.  It was racy
and relied on having watch established for snapshots.

Fixes: https://tracker.ceph.com/issues/42916
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-11-20 21:32:45 +01:00
Jason Dillaman
4a6c1ec14b
Merge pull request #31260 from trociny/wip-42405
rbd-mirror: removing non-primary trash snapshot

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-11-08 07:35:41 -05:00
Mykola Golub
1dc0db74d4
Merge pull request #30912 from dillaman/wip-42265
mgr: add 'rbd' profiles to support 'rbd_support' module commands

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2019-11-01 13:41:28 +02:00
Mykola Golub
473695e3bc qa/workunits/rbd: test mirrored snap trash removal
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-10-31 15:58:18 +02:00
Jason Dillaman
f4d99f796a
Merge pull request #31161 from trociny/wip-42488
rbd-mirror: mirrored clone should be same format 

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-10-30 12:07:30 -04:00
Jason Dillaman
7cccdef25e qa/workunits/rbd: add permission tests for mgr profile
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-10-29 08:35:03 -04:00
Ilya Dryomov
b7a0e2adcb qa: add script to stress udev_enumerate_scan_devices()
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-10-25 22:05:38 +02:00
Mykola Golub
dea3d1b738 rbd-mirror: mirrored clone should be same format
Fixes: https://tracker.ceph.com/issues/42488
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-10-25 17:50:54 +03:00
Ilya Dryomov
898c113f93 qa: add script to test udev event reaping
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-10-18 21:56:30 +02:00
Jason Dillaman
eaec1786ee qa/workunits/rbd: tweak mirror test case to handle peer status
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-10-08 11:17:15 -04:00
Jason Dillaman
547ebccaf9 librbd: v1 clones are restricted to the same namespace
Therefore the v1 parent spec should not attempt to populate the
namespace.

Fixes: https://tracker.ceph.com/issues/41938
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-10-04 13:27:50 -04:00
Jason Dillaman
85f98c01c0 qa/suites/rbd: test case for rbd-mirror bootstrap
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-09-20 08:09:21 -04:00
Ilya Dryomov
d63570c5a5
Merge pull request #30363 from idryomov/wip-krbd-huge-osdmap
qa: add script to test how libceph handles huge osdmaps

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-09-13 22:35:57 +02:00
Ilya Dryomov
81becbdc68 qa: add script to test how libceph handles huge osdmaps
That code will also handle moderately-sized osdmaps when the memory is
fragmented.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-09-13 19:21:54 +02:00
Mykola Golub
4b0fcc8cfb qa/workunits/rbd: add rbd-mirror namespace tests
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-09-05 13:57:47 +01:00
Mykola Golub
de66e0b89c qa/workunits/rbd: add 'remove mirroring pool' test
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-08-27 16:42:51 +01:00
Mykola Golub
0866a2456b qa/workunits/rbd: stress test rbd mirror pool status --verbose
Fixes: https://tracker.ceph.com/issues/40923
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-08-16 12:50:42 +01:00
Jason Dillaman
7adb17f831 pybind/mgr/rbd_support: use image ids to detect duplicate tasks
This helps to to avoid the case where new tasks were not being scheduled
when an image name was re-used after having a task created under the
same name.

Fixes: https://tracker.ceph.com/issues/41032
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-08-06 12:17:46 -04:00
Jason Dillaman
63a8f6c2c3 qa: test case for new rbd background tasks
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-07-25 08:58:37 -04:00
Mykola Golub
11e2951243 qa/suites/rbd: allow to test with require-min-compat-client octopus
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-06-23 10:06:45 +01:00
Mykola Golub
c99e26eff9 qa/workunits/rbd: tweak mirror tests
(after "image mirror disable" started to disable journaling)

Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-06-18 12:08:58 +01:00
Mykola Golub
92ee1c7b8b qa/workunits/rbd: fix compare_images and compare_image_snapshots
Due to pipe, sdiff return code was ignored. Also the compare functions
spent most of time in xxd, which was normally unnecessary.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-06-13 08:26:29 +01:00
Jason Dillaman
b36a1ad302 qa/workunits/rbd: remove 'fast-diff' from dynamic features test
Fixes: http://tracker.ceph.com/issues/39946
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-15 16:53:43 -04:00
Jason Dillaman
fb4f9a8a08 qa/workunits/rbd: use https protocol for devstack git operations
Fixes: http://tracker.ceph.com/issues/39656
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-10 11:09:54 -04:00
Jason Dillaman
87278548a5 qa/workunits/rbd: wait for rbd-nbd unmap to complete
The "unmap" request is asynchronous, so wait for a short amount
of time for the "rbd-nbd" daemon process to exit.

Fixes: http://tracker.ceph.com/issues/39598
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-06 15:16:03 -04:00
Mykola Golub
22973d9d46
Merge pull request #27683 from dillaman/wip-24668
qa/workunits/rbd: use more recent qemu-iotests that support Bionic

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-04-24 15:40:43 +03:00
Jason Dillaman
b7c7a4f39e
Merge pull request #27521 from trociny/wip-rbd-remove-clone_v2-parent
librbd: optionally move parent image to trash on remove

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-04-23 08:11:38 -04:00
Jason Dillaman
b184acd218 qa/workunits/rbd: use more recent qemu-iotests that support Bionic
Fixes: http://tracker.ceph.com/issues/24668
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-04-22 12:46:47 -04:00
Jason Dillaman
5b0a611a48 test/librbd: drop 'ceph_test_librbd_api' target
This was used for API backwards compatibility testing, but now that
the C++ API will not remain stable, it serves no purpose.

Fixes: http://tracker.ceph.com/issues/39072
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-04-19 14:18:00 -04:00
Mykola Golub
6e1434eefc librbd: optionally move parent image to trash on remove
and auto-delete when the last clone is detached

Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-04-19 08:53:38 +01:00
Ilya Dryomov
9c736f57ee qa: krbd_wac.sh: add lvm test case
The script isn't generic anymore, move it to the rbd directory.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-03-29 11:20:30 +01:00
Ilya Dryomov
316ae0cfa4 qa: krbd_stable_pages_required.sh: add device mapper test cases
device mapper core wasn't propagating BDI_CAP_STABLE_WRITES.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-03-28 19:34:15 +01:00
Ilya Dryomov
0ba913ba2c
Merge pull request #27192 from idryomov/wip-krbd-discard-fixups
qa/workunits/rbd: fixups for the new krbd discard behavior

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-03-26 14:09:41 +01:00
Ilya Dryomov
f3f757aaa3 qa/workunits/rbd: fixups for the new krbd discard behavior
With discard_granularity set to alloc_size, we no longer get object
size alignment from blk_bio_discard_split().

This assumption is pretty deeply ingrained in krbd_data_pool.sh, so
make it explicit.  For krbd_fallocate.sh, just fix the expectation.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-03-25 22:06:14 +01:00
Ilya Dryomov
673673f53d qa: krbd_fallocate.sh: zero can be munged to truncate
The test case is issuing discards that span two objects: the tail of
the first object is truncated, the head of the second object is zeroed.
These discards aren't serial, so there is a race:

  discard i ~ i + 1: truncate i, zero i + 1
  discard i + 1 ~ i + 2: truncate i + 1, zero i + 2

can be executed as

  truncate i + 1, zero i + 2, truncate i, zero i + 1

For object i + 1, the sequence ends up being truncate tail, then zero
head.  This zero op is munged to truncate on the OSD, resulting in size
0 instead of OBJECT_SIZE / 2.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-03-25 22:06:14 +01:00
Mykola Golub
63f3d7e377 qa/workunits/rbd: add QOS functional test
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-03-22 14:58:22 +00:00
Jason Dillaman
9d694ba351 qa/workunits/rbd: delete pools before stopping rbd-mirror
This better mimics the behavior of teuthology and tests rbd-mirror
daemon's ability to handle a pool deletion.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-25 13:31:43 -05:00
Mykola Golub
a51d9188bb
Merge pull request #26521 from dillaman/wip-38385
qa/workunits: fixed mon address parsing for rbd-mirror
2019-02-21 16:46:05 +02:00
Jason Dillaman
3e0094910a qa/workunits: fixed mon address parsing for rbd-mirror
The test extracts the mon addresses from the monmap, but with the
recent v2 format change it extracted an invalid address.

Fixes: http://tracker.ceph.com/issues/38385
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-02-19 14:22:34 -05:00
Mykola Golub
5e951cd3ae qa/workunits/rbd: add parent migration case
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-02-19 08:58:08 +00:00
Mykola Golub
d10d40fd49 rbd: add option to list all descendant images
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-02-19 08:58:08 +00:00
Jason Dillaman
1a74204952
Merge pull request #26226 from trociny/wip-rbd-re-sparsify
rbd: online re-sparsify of images

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-02-18 09:24:21 -05:00
Mykola Golub
be2cdc0bcf rbd: online re-sparsify of images
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-02-15 11:12:00 +00:00
Ilya Dryomov
7fdb879004 qa: krbd namespaces test
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2019-02-08 15:29:20 +01:00
Jason Dillaman
347eac67ba
Merge pull request #26168 from shyukri/qa-rbd-replace-bench-write
qa: rbd/workunits : Replace "rbd bench-write" with "rbd bench --io-type write"

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-01-30 07:51:55 -05:00
Jason Dillaman
0474727294 rbd: simplify pool namespace positional argument handling
The pool and namespace can now be specified as in a
<pool-name>[/<namespace-name>] format as positional
arguments.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-01-28 14:36:44 -05:00
Shyukri Shyukriev
28f0749eae qa:rbd/workunits : Replace rbd bench-write with rbd bench --io-type write
Signed-off-by: Shyukri Shyukriev <shshyukriev@suse.com>
2019-01-28 14:24:54 +02:00
Jason Dillaman
e920693ff6
Merge pull request #25529 from Songweibin/wip-fix-rbd-migration
librbd: disallow trash restoring when image being migrated

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-01-11 09:03:58 -05:00
songweibin
1f2eef7f1f librbd: disallow trash restoring when image being migrated
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2019-01-08 10:26:06 +08:00
Mykola Golub
b29b4f0c71 qa/workunits/rbd: add trash move/restore mirror test
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-12-14 16:47:15 +00:00
Jason Dillaman
6db4c152a6
Merge pull request #25266 from trociny/wip-24608
rbd-ggate: support namespaces

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-12-05 20:25:54 -05:00
Mykola Golub
d13b4197e4 rbd-ggate: support namespaces
Fixes: http://tracker.ceph.com/issues/24608
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-26 19:47:34 +00:00
Mykola Golub
efae1c7a79 rbd-nbd: support namespaces
Fixes: http://tracker.ceph.com/issues/24609
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-25 19:29:19 +02:00
Jason Dillaman
cc592823fa
Merge pull request #24717 from trociny/wip-rbd-mirror-status-instance
rbd: show info about mirror daemon instance in image mirror status output

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-11-06 11:11:49 -05:00
Mykola Golub
7d2ffd981b rbd: show info about mirror instance in image mirror status output
It is particularly useful when running multiple rbd-mirror instances
in Active-Passive or Active-Active mode.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-05 22:34:39 +02:00
Mykola Golub
472abc2ed9 test/librbd: migration supporting namespace tests
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-11-03 19:36:44 +02:00
Jason Dillaman
2a1dca3fca qa/workunits/rbd: switch devstack to rocky branch and tempest to 19.0.0 tag
Fixes: http://tracker.ceph.com/issues/36410
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-12 08:40:44 -04:00
Jason Dillaman
c60ffac61e
Merge pull request #24428 from trociny/wip-rbd-config-global
rbd: add 'config global' command to get/store overrides in mon config db

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2018-10-11 10:50:33 -04:00
Mykola Golub
c552f166c3
Merge pull request #24476 from dillaman/wip-35944
librbd: add new configuration option to always move deleted items to the trash

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-10-10 18:40:14 +03:00
Mykola Golub
b3e4d43c15 rbd: add 'config global' command to get/store overrides in mon config db
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-10 17:31:32 +03:00
Jason Dillaman
97950fec27 qa/workunits/rbd: test new move-to-trash on image remove config override
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-10-10 09:08:03 -04:00
Mykola Golub
24e1a6bd47 qa/workunits/rbd: force v2 image format for namespace test
While here, fix test_locking too.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-10 10:50:30 +03:00
Mykola Golub
f2d72d46d4 qa/workunits/rbd: fix cli generic namespace test
expect_fail incorrectly unset '-e' option and if a consequent test
failed it did not abort the execution. And two typos in the namespace
tests were not detected due to this.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-10-07 15:09:25 +03:00
Jason Dillaman
dca9e3e252 qa/workunits/rbd: wait max 2 hrs for all stress images to sync
Sporadically the rbd-mirror fsx stress test would fail due to very
slow sync times due to overloaded clusters. Attempt to wait for all
images to be replicated before proceeding with the comparison.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-25 16:08:59 -04:00
Jason Dillaman
d04a7679c0 qa/workunits/rbd: exclude rbd-mirror sync-point snaps from comparison
This is a temporary workaround to tracker ticket issue #36185

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-25 16:08:25 -04:00
Jason Dillaman
27832e2781 qa/workunits/rbd: image compare should print byte offset of any deltas
This will assist in debugging any mirroring issues.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-25 08:45:08 -04:00
Mykola Golub
ecdf8cd6b2 rbd: add config commands
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-09-20 10:35:18 +03:00
Jason Dillaman
d4c7ce3c0a qa/workunits/rbd: test clone v2 across namespaces
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-19 08:05:29 -04:00
Mykola Golub
a68be2b452
Merge pull request #24036 from dillaman/wip-24688
rbd-mirror: optionally extract peer secrets from config-key

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-09-16 11:53:04 +03:00
Mykola Golub
ad9fc49776
Merge pull request #23896 from Songweibin/wip-group-snap-rollback
rbd: add group snap rollback method

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-09-13 19:35:10 +03:00
Jason Dillaman
d3a1a831ac qa/workunits/rbd: new test for rbd-mirror peer config-key secrets
Fixes: http://tracker.ceph.com/issues/24688
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-13 09:58:34 -04:00
songweibin
dec2ea83cf tools/rbd: support group snap rollback CLI
Signed-off-by: songweibin <song.weibin@zte.com.cn>
2018-09-12 23:42:15 +08:00
Mykola Golub
cec53e9bd2 qa/workunits/rbd: replace usage of 'rados rmpool'
This command was dropped.

Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-09-05 22:52:20 +03:00
Jason Dillaman
0f0176ed4a qa/workunits/rbd: replace usage of 'rados mkpool'
This command was dropped under commit 2c26fb0fe1, so use
'ceph osd pool create' instead.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-09-05 08:17:39 -04:00
Sage Weil
2c26fb0fe1 rados: drop mkpool, rmpool commands
- mkpool and rmpool users should use the normal cli/mon commands

Signed-off-by: Sage Weil <sage@redhat.com>
2018-08-31 09:27:36 -05:00
Willem Jan Withagen
b8cc3fdb09 test/rbd: Improve/update rbd-ggate
* check if geom_gate can be loaded before doing the actual tests

Otherwise continuing does not make sense.
Major reason for this problem is due to mismatch between
kernel and module versions.

* After FreeBSD kernevel 1200078 ggate resizing is possible

So set the flag that resizing can be tested

* Only sudo commands that really need sudo

rbd-ggate list is available in regular user mode

* be a bit more verbose during testing and list the test purpose

* list-mapped is an option in rbd-nbd, not (yet) in rbd-ggate

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-08-21 14:16:49 +02:00
Mykola Golub
7f27f19753 rbd: CLI to migrate images
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-08-14 18:29:45 -04:00
Jason Dillaman
1e45d405da qa/workunits/rbd: updates to the clone v2 CLI tests
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-07-24 08:52:33 -04:00
Mykola Golub
08ea7d62ba librbd: validate data pool for self-managed snapshot support
Fixes: https://tracker.ceph.com/issues/24675
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-07-15 09:05:52 +03:00
Sage Weil
975528f632 Merge remote-tracking branch 'private/wip-mon-snap-caps' 2018-07-09 08:29:32 -05:00
Jason Dillaman
b12dd0bf41 qa/workunits/rbd: test self-managed snapshot create/remove permissions
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-06-26 11:41:19 -04:00
Jason Dillaman
3e8624f157 rbd: add support for namespaces
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-06-22 10:43:51 -04:00
Mykola Golub
80a51c9714
Merge pull request #22608 from dillaman/wip-24410
librbd: namespace create/remove/list support

Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-06-21 11:02:25 +03:00
Ilya Dryomov
69619b6966 qa: krbd_exclusive_option.sh: bump lock_timeout to 60 seconds
Avoid sporadic failures in combination with msgr-failures/many.yaml,
where assert_locked() might take over 10 seconds.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2018-06-20 18:22:36 +02:00
Sage Weil
3cd7d5eb22 Merge PR #22343 into master
* refs/pull/22343/head:
	qa/standalone remove ceph-disk from activate_osd helper
	cmake: remove subman.sh tests
	test remove ceph-disk directory
	debian: remove ceph_detect_init python files from base
	qa/standalone remove virtualenv paths for ceph-disk and ceph-detect-init
	debian: remove ceph-disk ceph-detect-init python files
	rpm: remove ceph-disk ceph-detect-init python files
	alpine: remove ceph-disk ceph-detect-init python files
	alpine: remove ceph-osd and parttypeuuid udev rules
	debian: remove ceph-osd and parttypeuuid udev rules
	rpm: remove ceph-osd and parttypeuuid udev rules
	ceph-helpers.sh: remove ceph-disk, set up osds directly
	CMakeLists.txt: add back CEPH_BUILD_VIRTUALENV
	alpine: remove ceph-disk, add ceph-volume in APKBUILD.in
	upstart: remove ceph-disk activation call
	doc/install add anchor for manual osd deployment in freebsd guide
	doc/dev remove ceph-disk from freebsd guide, link to manual reference
	doc/dev/config-key remove ceph-disk references
	doc/dev remove ceph-disk.rst
	doc/dev: change ceph-disk suite examples for ceph-deploy
	doc/man_index: remove ceph-disk, ceph-detect-init refs
	doc/install: remove ceph-disk from freebsd examples
	doc/rados remove ceph-disk from man references
	doc/man remove ceph-disk ref from ceph-volume-systemd
	doc/man: update reference from ceph-disk to ceph-volume
	doc/man: remove ceph-disk, ceph-detect-init from cmake
	doc/man/ceph-volume remove doc reference to ceph-disk
	doc/man: remove ceph-disk, ceph-detect-init
	qa/suites: remove ceph-disk
	qa/run-standalone.sh: remove requirement for ceph-detect-init virtualenv
	qa/workunits: remove ceph-detect-init from rbdmapfile test
	qa/workunits: remove ceph-detect-init from ceph-helpers-root.sh
	qa/workunits: remove ceph-disk
	build: remove ceph-disk from freebsd script
	cmake: remove ceph-disk, ceph-detect-init tox tests
	init-ceph: remove ceph-disk
	cmake: remove top-level entries for ceph-disk, ceph-detect-init
	debian: remove ceph-detect-init references
	debian: remove ceph-disk references
	src: remove ceph-detect-init tool
	rpm: remove ceph-disk, ceph-detect-init from spec file
	test: remove subman script
	script: remove subman script
	udev: remove parttypeuuid rules for ceph-disk
	tool remove ceph-disk from ps-ceph.pl
	upstart: remove ceph-disk conf file
	systemd: remove ceph-disk from CMakeLists
	systemd: remove ceph-disk service
	udev: remove ceph-disk rules
	src: remove ceph-disk tool
2018-06-19 07:07:55 -05:00
Jason Dillaman
4437c136b4 rbd: add namespace create/remove/ls actions
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-06-18 18:43:40 -04:00
Alfredo Deza
c954a71660 qa/workunits: remove ceph-detect-init from rbdmapfile test
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2018-06-13 15:16:24 -04:00
Mao Zhongyi
8d5bee2d46 rbd: interlock object-map/fast-diff features together
Since we only support Jewel and later releases, which both support
object-map and fast-diff, enabling/disabling object-map should always
enable/disable fast-diff.

Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com>
2018-06-12 09:25:55 +08:00
Jason Dillaman
2c451a04f9 qa/workunits/rbd: dump long image directory upon rbd-mirror test failure
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-05-31 19:17:52 -04:00
Jason Dillaman
d5b7d672b9 qa/workunits/rbd: fix unit formatting tests
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-05-24 15:54:31 -04:00
Sage Weil
47dffc53d6
Merge pull request #22063 from liewegas/wip-unit-spaces
include/types: space between number and units

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
2018-05-20 21:26:03 -05:00
Mykola Golub
42dac1669f
Merge pull request #21915 from dillaman/wip-rbd-mirror-policy
rbd-mirror: optionally support active/active replication

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
2018-05-18 10:32:49 +03:00
Sage Weil
c6a747d1d8 qa/workunits/rbd/import_export: update unit formatting
Signed-off-by: Sage Weil <sage@redhat.com>
2018-05-17 11:14:39 -05:00
Sage Weil
ddd3095bc0 qa/workunits/rbd/cli_generic: update unit formatting
Signed-off-by: Sage Weil <sage@redhat.com>
2018-05-17 11:14:39 -05:00
Mykola Golub
e387f91955 rbd: deep copy option to copy clone parent data
Signed-off-by: Mykola Golub <mgolub@suse.com>
2018-05-16 16:07:48 +03:00
Jason Dillaman
917f8a037c qa/workunits/rbd: fixed rbd-mirror snapshot comparison loop
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2018-05-15 16:35:26 -04:00