Commit Graph

252 Commits

Author SHA1 Message Date
Jason Dillaman
3e4a59d81b Merge pull request #11291 from trociny/wip-qa-mirror-asok
qa/workunits/rbd: check status also in pool dir after asok commands

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-10-04 11:22:53 -04:00
Mykola Golub
eb4097b8ef qa/workunits/rbd: set image-meta on primary image and wait it is replicated
After recently added image metadata replication it is not possible any
more to update it on non-primary image.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-10-03 17:02:59 +03:00
Mykola Golub
2882f8c01a qa/workunits/rbd: check status also in pool dir after asok commands
wait_for_image_replay_stopped returns not when the state is stopped,
but when the state is not replaying. So a race was possible when an
asok command was running when the previos stop command was still in
progress, leading to unexpected results.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-10-03 10:10:33 +03:00
Ricardo Dias
5c737038dd
rbd-mirror: test: Fixed timeout problem in rbd_mirror_stress.sh
Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-09-26 14:25:25 +01:00
Jason Dillaman
a0f65b968b qa/workunits/rbd: fix remove mirrored image race conditions
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-09-23 09:01:52 -04:00
Jason Dillaman
a43268a4a3 qa/workunits/rbd: new mirroring forced promotion test
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-09-23 09:01:52 -04:00
Mykola Golub
77fd6a1c20 rbd-mirror: option to automatically resync after journal client disconnect
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-09-05 12:48:47 +03:00
Mykola Golub
330dba00ba rbd-mirror: stop replay when client is disconnected
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-09-05 12:48:47 +03:00
Jason Dillaman
e6aa18ea0d qa/workunits/rbd: demote/promote image on same cluster
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-08-16 09:09:52 -04:00
Jason Dillaman
efa5f730cc Merge pull request #10488 from lande1234/wip-lan-testing
rbd-mirror: add additional test scenarios

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-08-05 09:20:37 -04:00
Mykola Golub
a5f63f7261 qa/workunits/rbd: wait for image deleted before checking health
This is a fixup to the previous commit.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-08-02 20:06:17 +03:00
Mykola Golub
df2aa585c4 Merge pull request #10341 from dillaman/wip-16223
rbd-mirror: reduce memory footprint during journal replay

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-07-30 19:28:02 +03:00
lande1234
aba7d3b874 Test scenario
Signed-off-by: lande1234 <lan.de3@zte.com.cn>
2016-07-29 04:58:26 +00:00
Mykola Golub
8dbe42d345 qa/workunits/rbd: wait for image deleted before checking health
When a primiry image is being deleted, the mirrored image might
temporary be reported in error state, before deletion is propagated.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-07-28 14:55:42 +03:00
Mykola Golub
fdb971a266 qa/workunits/rbd: small fixup and improvements for rbd-mirror tests
- log to stderr;
- log status if a `wait_for` function failed;
- don't needlessly sleep in `wait_for` functions after the last
  unsuccessful iteration;
- make `wait_for_pool_images` work for image removal case;
- fix `wait_for_pool_images` reset timeout (last_count set).

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-07-28 14:55:42 +03:00
Jason Dillaman
ab5ebdef32 Merge pull request #10123 from trociny/wip-16449
librbd: prevent creation of clone from non-primary mirrored image

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-07-24 11:12:57 -04:00
Jason Dillaman
574be7486a qa/workunits/rbd: override rbd-mirror integration test poll frequency
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-21 12:52:57 -04:00
Jason Dillaman
2f4cb26d8b qa/workunits/rbd: exercise snapshot renames within rbd-mirror test
Snapshot rename operations utilize the (cluster) unique snapshot
sequence to prevent attempts at replays. When mirroring to a
different cluster, these sequences will not align.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-07-19 09:27:32 -04:00
Mykola Golub
ba849e3b04 librbd: prevent creation of clone from non-primary mirrored image
Fixes: http://tracker.ceph.com/issues/16449
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-07-14 23:02:18 +03:00
Mykola Golub
fa58acbb6f qa/workunits/rbd: image resize test for rbd-nbd
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-07-13 15:40:03 +03:00
Mykola Golub
9737a8d6cb qa/workunits/rbd: before removing image make sure it is not bootstrapped
If an image is being bootstrapped, it implies that the rbd-mirror
daemon currently has the image open. The removal API will prevent the
removal of any image that is opened by another client.

Works-around: http://tracker.ceph.com/issues/16555
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-07-06 12:59:25 +03:00
Mykola Golub
5485296a3d Merge pull request #10076 from dillaman/wip-rbd-mirror-cmake
test: fix rbd-mirror workunit test cases for cmake

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-07-05 08:28:43 +03:00
Jason Dillaman
5a37b993c2 qa/workunits/rbd: fix issues under cmake build environment
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-30 16:59:19 -04:00
Mykola Golub
06a333b116 rbd-mirror: remove ceph_test_rbd_mirror_image_replay test case
Fixes: http://tracker.ceph.com/issues/16539
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-06-30 21:25:13 +03:00
Jason Dillaman
45498d0499 qa/workunits/rbd: remove temporary image exports
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-28 09:08:47 -04:00
Jason Dillaman
48d18030fd Merge pull request #9207 from rjfd/wip-15670
rbd-mirror: image resync

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-06-22 18:03:22 -04:00
Jason Dillaman
d16698f96c qa/workunits/rbd: increase writes in large image count test
This will help to test edge cases where the remote image does
or does not own the exclusive lock when the sync starts.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-15 21:56:09 -04:00
Mykola Golub
3048d3c7ce qa/workunits/rbd: respect RBD_CREATE_ARGS environment variable
Fixes: http://tracker.ceph.com/issues/16289
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-06-15 08:53:13 +03:00
Ricardo Dias
8953825956
rbd-mirror: resync: Added unit tests
Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-06-14 21:24:07 +01:00
Jason Dillaman
6a68b68e0d qa/workunits: ensure replay has started before checking position
Fixes: http://tracker.ceph.com/issues/16248
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-13 00:19:37 -04:00
Mykola Golub
698242e743 qa/workunits/rbd: specify source path
otherwise it looks in $PATH for the script

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-06-11 20:30:32 +03:00
Jason Dillaman
db3e583a5f qa/workunits/rbd: additional rbd-mirror stress tests
Fixes: http://tracker.ceph.com/issues/16197
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-10 09:40:34 -04:00
Jason Dillaman
de15b198cd qa/workunits/rbd: improve deletion propagation test case
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-10 00:15:20 -04:00
Jason Dillaman
943ff82987 qa/workunits/rbd: basic cloned image test
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-31 23:08:02 -04:00
Mykola Golub
14a150bea8 Merge pull request #9360 from dillaman/wip-16045
rbd-mirror: support multiple replicated pools

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-05-28 22:21:25 +03:00
Jason Dillaman
f4339ee8cb rbd-mirror: cluster-level asok commands need to support multiple pools
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-28 13:36:10 -04:00
Jason Dillaman
839544ee64 qa/workunits/rbd: create secondary replicated pool
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-26 13:37:37 -04:00
Mykola Golub
e9ed8ac33b test: workaround failure in journal.sh
With the changes to ensure that the commit position of a new
client is initialized to the minimum position of other clients,
the 'journal inspect/export' commands return zero records because
the master client has committed all of its entries.

Workaround this by restoring the initial commit position after
writing to the image.

Fixes: http://tracker.ceph.com/issues/16011
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-05-25 22:05:11 +03:00
Jason Dillaman
b9edff2174 test: use randomized write sizes for rbd-mirror stress test
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-24 13:22:52 -04:00
Ricardo Dias
d85e312ead rbd-mirror: test: added image-deleter test case when mirroring is disabled
Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-05-22 16:13:21 -04:00
Mykola Golub
17b1c91774 Merge pull request #9211 from dillaman/wip-15938
librbd: write-after-write might result in an inconsistent replicated image

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-05-20 20:52:42 +03:00
Jason Dillaman
fbce0b226d Merge pull request #9088 from trociny/wip-15500
qa: dynamic_features.sh: return error only if it failed on alive QEMU

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-05-20 08:23:37 -04:00
Jason Dillaman
714ed5e64e qa/workunits/rbd: record rbd CLI debug messages during mirror stress
The debug messages from 'rbd bench-write' and 'rbd snap create',
in addition to the existing debug messages from rbd-mirror, make
it possible to determine the source of any image inconsistency.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-19 16:04:51 -04:00
Jason Dillaman
8ef09c4d8d qa/workunits/rbd: fixed rbd_mirror teuthology runtime errors
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-18 15:02:14 -04:00
Jason Dillaman
e2ab3128a3 qa/workunits/rbd: rbd-mirror daemon stress test
This test repeatedly runs rbd bench-write, kills the process
randomly to create an unclean journal shutdown, and verifies
that the image content replicates correctly.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-05-18 11:02:47 -04:00
Ilya Dryomov
6643f4d972 qa: rbd/simple_big.sh: drop extraneous sudo
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2016-05-13 17:57:12 +02:00
Ilya Dryomov
a7d4189587 qa: rbd/concurrent.sh: suppress rbd map output
rbd_map_image() echoes the id of the image and is used in command
substitution:

    id=$(rbd_map_image "${image}")

Output from rbd map isn't consumed and clobbers the return.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2016-05-13 17:51:45 +02:00
Ilya Dryomov
6bddef8ecf qa: rbd: don't modprobe, chown sysfs files or udevadm settle
This is a followup to 38a572011d ("qa: rbd/map-snapshot-io.sh: don't
chown sysfs files") for the rest of the workunits:

- /sys/bus/rbd/add_single_major is used if present, so chown'ing
  /sys/bus/rbd/add doesn't help.  Use sudo on rbd map instead.

- Don't modprobe or udevadm settle - rbd CLI tool takes care of that.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2016-05-13 17:51:45 +02:00
Mykola Golub
8a71a79d24 qa: dynamic_features.sh: return error only if it failed on alive QEMU
Fixes: #15500
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-05-12 09:22:11 +03:00
Ilya Dryomov
38a572011d qa: rbd/map-snapshot-io.sh: don't chown sysfs files
/sys/bus/rbd/add_single_major is used if present, so chown'ing
/sys/bus/rbd/add doesn't help.  Use sudo on rbd map instead.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2016-05-11 19:59:42 +02:00