Commit Graph

244 Commits

Author SHA1 Message Date
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
Jason Dillaman
2c88ef8682 Merge pull request #8809 from trociny/wip-rbd-mirror-asok-restart
rbd-mirror: admin socket commands to start/stop/restart mirroring

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-05-03 14:13:46 -04:00
Jason Dillaman
4175db609c Merge pull request #8775 from cy-lee/fix-15604-rbd-nbd-write-error
rbd-nbd: fix rbd-nbd aio callback error handling

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-05-03 13:47:31 -04:00
Mykola Golub
a22cf518f9 rbd-mirror: admin socket commands to start/stop/restart mirroring
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-05-02 22:52:02 +03:00
Mykola Golub
4c28fc2aa3 qa/workunits/rbd: fix rbd-mirror log file name
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-05-01 22:04:46 +03:00
Mykola Golub
21790484dc rbd-mirror: make image replayer asok commands available when not started
Initially the asok commands were registered only after the image
replayer start (and unregistered on stop) because their names were
built using remote pool and image names, which became known only after
start.

Now, the asok commands are registered on the image replayer construction
using the temporary name "remote_pool_name/global_image_id". They are
re-registered using "remote_pool_name/remote_image_name" when the
image replayer is started.  Also the commands are not unregistered on
the image replayer stop.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-05-01 18:33:54 +03:00
cy.l@inwinstack.com
f8f6c1dc86 Fix RBD-NBD aio_callback error handling
Tracker-Id: #15604

Signed-off-by: Chang-Yi Lee <cy.l@inwinstack.com>
2016-04-30 15:11:18 +08:00
Josh Durgin
dcd11a1f26 qa/workunits/rbd: add env vars to adapt rbd_mirror.sh to teuthology
With these set, this script can work in teuthology, where we want to
control the how daemons run and their log locations, valgrind
settings, etc. The workunit task always sets CEPH_ID, and allows
other env vars to be configured optionally.

The RBD_MIRROR_USE_EXISTING_CLUSTER option can also speed up local testing.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-04-29 10:01:51 -07:00
Josh Durgin
5fe64fa806 qa: rbd_mirror.sh: change parameters to cluster rather than daemon name
Daemon name is only useful to differentiate asok and pid filenames, so
just inline its use there. Everywhere else replace the 'daemon'
parameter with cluster or local_cluster as appropriate.

Remove the CLUSTER{1,2}_DAEMON vars as well, since they are no longer
used.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-04-29 10:01:29 -07:00