Commit Graph

1329 Commits

Author SHA1 Message Date
Jason Dillaman
a3438bac71 Merge pull request #9291 from trociny/wip-15715
rbd-nbd does not properly handle resize notifications

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-07-18 16:44:58 -04:00
John Spray
0080b6bc92 Merge pull request #9955 from ukernel/wip-mds-snap-failover
mds: snap failover fixes

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2016-07-18 21:01:35 +01:00
Kefu Chai
4025a2eb80 Merge pull request #10306 from tchaikov/wip-no-mktemp-p
qa/workunits/cephtool/test.sh: s/TMPDIR/TEMP_DIR/

Reviewed-by: Haomai Wang <haomai@xsky.com>
2016-07-15 21:34:02 +08:00
Kefu Chai
56df5dcda4 Merge pull request #10166 from wjwithagen/wip-wjw-cmake-test_rados_tool.sh
test_rados_tool.sh: Make script work under ctest

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-07-15 17:03:59 +08:00
Kefu Chai
7c1b456022 qa/workunits/cephtool/test.sh: s/TMPDIR/TEMP_DIR/
this fixes the test failure of
```
2016-07-12T23:29:40.935
INFO:tasks.workunit.client.0.mira101.stderr:/home/ubuntu/cephtest/workunit.client.0/cephtool/test.sh:
line 153: /CEPH_WATCH_9445: Permission denied
```
see
http://pulpito.ceph.com/kchai-2016-07-12_23:09:35-rados-wip-kefu-testing2---basic-mira/311333/

it's a regression introduced by e5c262b

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-15 16:20:37 +08:00
Kefu Chai
e5c262bfe6 qa/workunits/cephtool/test.sh: use mktemp $TEMP_DIR/XXX instead
mktemp -p is not supported on FreeBSD

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-15 14:21:52 +08:00
Yan, Zheng
16f7d7c71e qa/workunits/fs: fix expect_failure function in test scripts
The origin expect_failure function return 0 regardness of command's
return value.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-07-15 09:11:49 +08: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
Kefu Chai
53af28db6e test: remove ceph_test_rados_api_tmap_migrate
see also: http://tracker.ceph.com/issues/16144

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-12 16:08:09 +08:00
Kefu Chai
90a18d822e Merge pull request #9698 from LiumxNL/fix-clones-flush-evict
rados: add option to include clones when doing flush or evict

Reviewed-by: Sage Weil <sage@redhat.com>
2016-07-11 11:49:27 +08:00
Ali Maredia
3ed34b58bd Merge pull request #10116 from tchaikov/wip-cmake-make-check
test: make check using cmake

Reviewed-by: Ali Maredia <amaredia@redhat.com>
2016-07-07 12:13:46 -04:00
Kefu Chai
d053705c03 qa/workunits/ceph-helpers.sh: disable test_pg_scrub()
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-07 23:17:11 +08:00
Willem Jan Withagen
a939e99341 rados/test_rados_tool.sh: Improve on testing conditions
- have test aka [] use numeric comparisons
 - suppress the filename on 'wc -l' by pipping the file

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2016-07-07 14:57:16 +02:00
Willem Jan Withagen
6029b5974b qa/workunits/rados/test_rados_tool.sh: make it run under ctest
- This script is always called from a controlled environment
 - use CEPH_BIN for exec's, otherwise QA sets PATH correctly

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2016-07-07 14:57:03 +02:00
Kefu Chai
06195b3476 qa/workunits/cephtool/test.sh: respect $TMPDIR
create temp directory and files in $TMPDIR. the $TMPDIR is hard-wired to
/tmp before this change, we'd better respect the env variable $TMPDIR,
so it would be more consistent, and easier to do the cleanup if any.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-07 12:11:05 +08: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
Kefu Chai
5e16f2379d test: cephtool/test.sh: fix expect_false with pipe
this fixes failures like,

/home/jenkins-build/build/workspace/ceph-pull-requests/qa/workunits/cephtool/test.sh:
line 32: ceph osd blacklist ls | grep 192.168.0.1: command not found

where the failure is not the "failure" we are expecting.

in our tests, following command

expect_false "ceph osd blacklist ls | grep 192.168.0.1"

is designed to to verify that "ceph osd blacklist ls | grep 192.168.0.1"
fails with non-zero return code. but expect_false() evaluates the command
line using plain "$@", which will send the arguments direct to the shell,
and $0 is "ceph auth get client.xx | grep caps | grep mon", which does
not exist and is not built-in command. so we need to check the grep
command instead.

for multiple piped command line, use

expect_false sh <<< "echo foo  | grep bar | grep baz"

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-05 15:26:43 +08: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
Mingxin Liu
383177be07 qa/workunits: update test_cache_pool.sh
Signed-off-by: Mingxin Liu <mingxin@xsky.com>
2016-07-04 10:39:57 +08: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
Gregory Farnum
be55cfc331 Merge pull request #9606 from gregsfortytwo/wip-16002
ObjectCacher: fix bh_read_finish offset logic

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-06-29 10:59:14 -07: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
Greg Farnum
cc9aab1b0a test: split objectcacher test into 'stress' and 'correctness'
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2016-06-23 14:24:06 -07:00
Samuel Just
c962c72092 Merge pull request #9248 from xiexingguo/xxg-wip-expose-requirejewel
mon: expose require_jewel_osds flag to user

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2016-06-23 13:03:34 -07: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
Samuel Just
bdf4a93ed5 Merge pull request #9736 from tchaikov/wip-test-timeout
test: disable dup test for mds respawn cmd

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-06-17 08:08:45 -07:00
Mykola Golub
bd7ed8765d Merge pull request #9730 from dillaman/wip-16329
rbd-mirror: gracefully handle missing sync point snapshots

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-06-17 14:15:16 +03:00
Kefu Chai
f3643efc80 qa/workunits/cephtool/test.sh: disable dup test for mds respawn cmd
we set the CEPH_CLI_TEST_DUP_COMMAND enn var to verify the successful
commands are idempotent. but some of them are just not. among the other
things:
- ceph tell mds.a exit
- ceph tell mds.a respawn
the respawn command restart the mds daemon, its bind port changes and
all run-time status are reset. so strictly speaking, even the from the
point of view of client, this command is not idempotent. further more,
it fails the test, if the client sends the 2nd command too soon. because
the monitor might not able to update the re-spawned mds address before
the client asking for the new fsmap. so the cephfs client will just
use the old address of the specified mds, and hence will send the
request to port no one is listening anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-17 15:22:26 +08:00
Mykola Golub
00baf49b2b Merge pull request #9720 from dillaman/wip-16202
qa/workunits: rados cppool now requires --yes-i-really-really-mean-it

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2016-06-16 12:51:50 +03: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
Jason Dillaman
321824d3f7 qa/workunits: rados cppool now requires --yes-i-really-really-mean-it
Fixes: http://tracker.ceph.com/issues/16202
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-06-15 09:05:05 -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
Erwan Velu
2381740542 cephtool/test.sh: Adding iterations numbers in output log
When this test is failing and reach the limits, reading the log doesn't make
obvious that we reach them.

This simple patch adds the iterations numbers inside the output log.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-06-03 14:53:00 +02:00
Sage Weil
0770791d98 qa/workunits/rados/loadgen-mostly-read.sh: half as much data (512mb)
Use less space so we can run on openstack.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-02 09:52:00 -04:00
Samuel Just
542931f69c Merge pull request #9084 from dzafman/wip-dz-misc
Wip dz misc

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-06-01 14:16:32 -07:00
John Spray
56fa20a9e5 Merge pull request #9073 from ukernel/wip-posixacl-fix
client: fix setting empty default ACL

Reviewed-by: John Spray <john.spray@redhat.com>
2016-06-01 15:37:19 +01:00
Yan, Zheng
ad02795ad5 qa/workunits/fs/misc: test for setting empty ACL
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-06-01 17:42:24 +08: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
David Zafman
2fb0530a56 test: Fix grouping of mon_cephdf_commands by moving to MON_TESTS
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-05-31 13:07:03 -07: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
Yuri Weinstein
d6b5a4d44f Merge pull request #9222 from xiexingguo/xxg-wip-scrubq-assert
mon: fix assert triggerred by the deprecated "scrubq" state

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-28 08:50:09 -07:00
Jason Dillaman
27a92ce851 Merge pull request #9322 from trociny/wip-16011
test: failure in journal.sh workunit test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-05-27 15:04:42 -04:00
Sage Weil
08874ee4d1 Merge pull request #9097 from jcsp/wip-15866
mon: fix 'mon metadata' for lone monitors, and enable listing all metadata at once

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-05-26 14:23:46 -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
xie xingguo
83ffc2b761 mon: expose require_jewel_osds flag to user
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-24 09:02:19 +08: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
Sage Weil
c46b4cac14 Merge pull request #8840 from tchaikov/wip-opt-u32
common/config: cast OPT_U32 options using uint32_t

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-20 12:57:53 -04:00
xie xingguo
db9ac7ea7e mon: fix assert triggerred by the deprecated "scrubq" state
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-20 21:28:24 +08: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
Samuel Just
ac68c7970b Merge pull request #7163 from tchaikov/wip-pr-6085
mon: use CephOsdName for osd args instead of CephInt

Reviewed-by: Sage Weil <sage@redhat.com>
2016-05-17 11:55:34 -07:00
Kefu Chai
b25ceb02b2 osd,mds: return error if injectargs fails
* test_osd_bench: the injectargs call actually fails due to the spaces
  at the beginning. so remove the spaces in args before sending it to
  injectargs
* update/add some injectargs tests accordingly

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2016-05-17 13:41:50 +08:00
John Spray
325ab8085f mon: enable dump all mds metadata at once
Same as mon and osd, leave out ID to get all.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-05-16 10:56:52 +01:00
John Spray
288e11e7da mon: enable dump all mon metadata at once
Same as we already have for osd metadata, where
if you omit the ID you get all daemons.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-05-16 10:56:52 +01: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
Kefu Chai
f7331fdc3f Merge pull request #8786 from tchaikov/wip-btrfs-sudo
test: sudo to rm btrfs subvol

Reviewed-by: Erwan Velu <erwan@redhat.com>
2016-05-09 22:38:07 +08:00
Li Peng
9c2d785382 cleanup: python: remove warnings of 'new blank line at EOF'
When applying ceph patches, some warnings reported, e.g.
qa/workunits/mon/caps.py:367: new blank line at EOF.

Signed-off-by: Li Peng <lip@dtdream.com>
2016-05-09 11:28:42 +08:00
Sage Weil
7f1bc1b038 qa/workunits/rados/test_rados_tool: fix copy paste error
Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 14:54:41 -04:00
David Zafman
79669c4b06 rados, test: Restrict usage of --prefix in cleanup
As a precaution to using cleanup for mass deletion of other
objects, only allow --prefix which begins with "benchmark_data."

Signed-off-by: David Zafman <dzafman@redhat.com>
2016-05-06 13:44:16 +02:00
David Zafman
4e0b0d9a7e test: Test rados cleanup command with and without --all
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-05-06 13:44:16 +02:00
David Zafman
1976ee7fc2 test: Test rados ls with --all option
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-05-06 13:44:16 +02:00
David Zafman
89edda8494 test: Find ceph command as CEPH_TOOL like rados command
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-05-06 13:44:16 +02:00
David Zafman
7f638dde50 Merge pull request #8405 from dzafman/wip-15338
common: Fix ObjBencher clean_up when no prefix specified

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-05-04 18:22:33 -07:00
Sage Weil
034cf6875a Merge pull request #8837 from liewegas/wip-reweight
mon/OSDMonitor: max_osds must be > 0 for reweight-by-*

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-05-04 09:05:14 -04: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
Kefu Chai
100231d611 cephtool/test: both osd.n and n should work as osd args
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-05-03 22:42:30 +08:00
Josh Durgin
f5e22ce64b Merge pull request #8864 from trociny/fixup-rbd-mirror-test-log
qa/workunits/rbd: fix rbd-mirror log file name

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-05-02 14:26:54 -07: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
Ali Maredia
4321bb64ed test: added env var setting to make check scripts
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-05-02 10:19:31 -04: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
Sage Weil
475cc08c33 qa/workunits/ceph-helpers.sh: make ceph-osd behave on ext4
Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-30 17:12:05 -04: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
Sage Weil
84bd0dce18 mon/OSDMonitor: max_osds must be > 0 for reweight-by-*
Include a few test cases.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-29 22:01:56 -04: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
Jason Dillaman
6cb1ff491e Merge pull request #8442 from trociny/wip-rbd-mirror-status
rbd-mirror: replay status now available via the rbd api and cli

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2016-04-29 12:11:21 -04:00
Mykola Golub
f15cd51a1d qa/workunits/rbd: test mirror status in pool directory
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-04-29 11:47:49 +03:00
Kefu Chai
a5b2658f9f test: sudo to rm btrfs subvol
"btrfs subvolume {list,delete}" needs root privilege even if the current
user owns this subvol. one can only list/delete he/she is the root, or
if the btrfs volume was mounted with "-o user_subvol_rm_allowed".

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-04-28 02:05:26 +08:00
Tamil Muthamizhan
cafe8825ec Signed-off-by: Tamil Muthamizhan <tmuthami@redhat.com>
removed ceph-deploy folder, as its been already replaced with ceph-tests.
2016-04-26 16:13:28 -07:00
Li Peng
49f1dae568 qa: fix typo
Signed-off-by: Li Peng <lip@dtdream.com>
2016-04-26 15:56:26 +08:00
Sage Weil
c3b595f284 Merge pull request #7942 from xiexingguo/xxg-wip-fixdirtyinc
mon: OSDMonitor: improve pool creation logic

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Xiaoxi Chen <xiaoxchen@ebay.com>
2016-04-22 20:21:57 -04:00
Tamil Muthamizhan
0fd358b877 Signed-off-by: Tamil Muthamizhan <tmuthami@redhat.com>
renamed the workunit and test to reflect reality and for better clarity
2016-04-22 18:25:46 -04:00
Sage Weil
bbdec192f8 Merge pull request #8691 from flyd1005/master
cleanup: Fix typos, change prefered to preferred

Reviewed-by: Sage Weil <sage@redhat.com>
2016-04-22 10:37:48 -04:00
Sage Weil
5698cd4889 Merge pull request #8530 from wjwithagen/patch-6
ceph-helpers.sh: only use mon*pid files when killing MONs

Reviewed-by: Kefu Chai <kchai@redhat.com>
2016-04-22 09:35:41 -04:00
Li Peng
88ae8c38d0 Fix typos, change prefered to preferred 2016-04-22 15:18:44 +08:00
Kefu Chai
558863ad6d test: set a default $CEPH_ROOT env variable
in cf24535, we use $CEPH_ROOT to specify the $top_srcdir to unify
cmake and autotools, but this breaks ceph-qa-suite/tasks/workunit.py,
as it only clones the necessary qa/workunits directory, and does not
pass $CEPH_ROOT to the test scripts. so we need to set a default
$CEPH_ROOT if it is not set.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-04-19 00:19:07 +08:00
Ali Maredia
cf24535ed7 cmake: cephtool-test-rados/mds/osd passing in cmake
Replaced relative paths in test/cephtool-test-mon.sh,
qa/workunits/cephtool/test.sh, and test/cephtool-test-mon.sh
to work with CEPH_FOO environment variables set in cmake.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-04-14 20:48:21 -04:00
Ali Maredia
59568e59ed cmake: encode-decode-non-regression.sh passing in cmake
Replaced relative paths in encode-decode-non-regression.sh
to work with CEPH_FOO environment variables set in
cmake.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-04-14 20:48:19 -04:00
Ali Maredia
e0f400fdef cmake: test-ceph-helpers working
Moved all the libraries in CMAKE_BINARY_DIR/lib
and all the binaries in CMAKE_BINARY_DIR/bin. Set
various environment variables for test-ceph-helpers.
Put those variables throughout
qa/workunits/ceph-helpers.sh.

NOTE: This is a very rough draft of these fixes.

Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-04-14 20:48:19 -04:00
Josh Durgin
6956da8c0c Merge pull request #8511 from dillaman/wip-15436
librbd: IO deadlock when dynamically enabling/disabling features

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-04-14 08:58:57 -07:00
Willem Jan Withagen
d5376c545b ceph-helpers.sh: only use mon*pid files when killing MONs
FreeBSD once in a while forgets to remove *pid files (this is probably a bug).
But taking care of it this way is probably much in line of what is actually needs to be done

Signed-off-by: Willem Jan Withagen wjw@digiware.nl
2016-04-11 11:45:29 +02:00
Jason Dillaman
a33ee34fcf qa/workunits/rbd: switch qemu test script shell to bash
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-04-09 12:59:00 -04:00
Greg Farnum
f6209798f8 Merge remote-tracking branch 'github/wip-fs-lockouts' into greg-fs-testing
Protect a number of unstable/experimental features behind durable flags

https://github.com/ceph/ceph/pull/8383

Reviewed-by: John Spray <john.spray@redhat.com>
2016-04-07 17:07:16 -07:00
Greg Farnum
ea1b276e7e test: update tests for new flag requirements
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2016-04-07 16:40:23 -07:00
David Zafman
09ad946852 rados, test: Restrict usage of --prefix in cleanup
As a precaution to using cleanup for mass deletion of other
objects, only allow --prefix which begins with "benchmark_data."

Signed-off-by: David Zafman <dzafman@redhat.com>
2016-04-07 16:06:30 -07:00
David Zafman
d3165d6541 test: Test rados cleanup command with and without --all
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-04-07 16:06:30 -07:00
David Zafman
0cf163c698 test: Test rados ls with --all option
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-04-07 16:06:30 -07:00
David Zafman
4e15054738 test: Find ceph command as CEPH_TOOL like rados command
Signed-off-by: David Zafman <dzafman@redhat.com>
2016-04-07 16:06:30 -07:00
xie xingguo
be07a418b5 mon: OSDMonitor: add a guard for prepare_remove_snaps()
Method preprocess_remove_snaps() is designed to fast check whether
we can safely handle a remove-snaps-request without changing the osdmap.
The original design is to be able to handle snaps from multiple pools,
including those snaps even from a non-existent pool by simply skipping
over them. However, this method will quit on successfully detecting
any vaild snap which is truly needed to be removed and forward this
request to prepare_remove_snaps() for further processing.

From the above analysis, the prepare_remove_snaps() method will
theoretically also encounter some snaps which possibly belong to
non-existent pools.

This pr solves the above problem by adding a sanity check against
pool existense associated with the specified snap to be removed, which
shall be considered as a defensive move and makes prepare_remove_snaps()
stronger.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-04-07 17:31:58 +08:00
xie xingguo
c98d97e37c mon: OSDMonitor: return EINVAL if we unable to parse addr
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-04-07 17:29:21 +08:00
xie xingguo
fd6c023f49 mon: OSDMonitor: reply ENOENT if specified osd does not exist
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2016-04-07 17:29:21 +08:00
Sage Weil
82e9f94523 Merge pull request #8428 from liewegas/wip-rest-mds
ceph-rest-api: fix fs/flag/set
2016-04-06 16:10:53 -04:00
Erwan Velu
c5fa83f586 tests: Avoiding a fixed 10sec sleep in test_mon_cephdf_commands()
The current code was waiting 10s to expect the file being put.
If the file was put in a shorter time than 10s, the test just waits for
nothing reducing the execution speed of that test.

This patch simply check if the file is actually available every second
during 10sec to exit prematurely.

This patch saves exactly 10 sec on a local system, surely a little bit
less on an infra but still saves time.
Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
62bdde2cd2 tests: Optmizing sleep sequence in cephtool/test.sh
The actual code double the wait time between two calls leading to a
possible 511s of waiting time which sounds a little bit excessive.

This patch offer to reduce the global wait time to 300s and test more
often the rados status to exit the loop earlier. In a local test, that
saves 6 secs per run.
Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
8a49a86901 tests: Moving sleep call after action in ceph_watch_wait()
ceph_watch_wait() is doing a sleep _before_ doing the test which could
stop this loop.

It's better doing the action first as it could exit immediately and
avoid a useless sleep.

That's a minor optimization but everything count when trying to get
something smooth.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
0d254d8916 tests: Reducing sleep time for osd to be up
OSDs are taking some time to be up but waiting 10 secs seems execessive
here between two loops. In the worst case, we can be in a situation of
waiting 10secs for nothing as we are just a few microsecs after the osd
is up.

This patch simply reduce the sleep from 10 to 1 seconds.
Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
0eea2436d9 tests: Optimizing kill_daemons() sleep time
It could sounds like nothing but the actual sleeping rampup is counter
productive.

The code does : kill <proc>; sleep 0; kill <proc>; sleep 0; kill <proc;
sleep 1; and then it grows up 120 seconds by a smooth rampup.

But actually there is almost no chance the process dies so fast meaning
that by default we switch to the sleep 1.

Moving from sleep 0 to sleep 1 doesn't seems a big win but as
kill_daemons() is called very often we can save a lot of time by then
end.

This patch offer to sleep first a 1/10th of second instead of 0 and then
1/20th of second instead of 0.

The sleep call is also moved after the kill call as it's not necessary
waiting before executing the command.

This patch makes the running time of a test like osd-scrub-repair.sh
dropping from 7m30 to 7m7.

Saving another ~30seconds is an interesting win at make check level.
Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
84197f1641 tests: Optimizing wait_for_clean()
wait_for_clean() is a very common call when running the make check.
It does wait the cluster to be stable before continuing.

This script was doing the same calls twice and could be optimized by
making the useful calls only once.

is_clean() function was checking num_pgs & get_num_active_clean()
The main loop itself was also calling get_num_active_clean()

This patch is inlining the is_clean() inside this loop to benefit from a
single get_num_active_clean() call. This avoid a useless call of (ceph +
xmlstarlet).

This patch does move all the 'timer reset' conditions into an else
avoiding spawning other ceph+xmlstarlet call while we already know we
should reset the timer.

The last modification is to reduce the sleeping time as the state of the
cluster is changing very fast.

This whole patch could looks like almost not a big win but for a test
like test/osd/osd-scrub-repair.sh, we drop from 9m56 to 9m30 while
reducing the number system calls.

At the scale of make check, that's a lot of saving.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
b3f7392d9d tests: Reducing commands in get_num_active_clean()
get_num_active_clean() is called very often but spawn 1 useless process.
The current "grep -v | wc -l" can be easily replaced by "grep -cv" which
do the same while spawning one process less.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
d8f07c3ff6 tests: Killing daemons in parallel
The current code of kill_daemons() was killing daemons one after the
other and wait it to actually die before switching to the next one.

This patch makes the kill_daemons() loop being run in parallel to avoid
this bottleneck.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
db31cc6cbc tests: Adding parallelism helpers in ceph-helpers.sh
This commit introduce two new functions in ceph-helpers.sh to ease
parallelism in tests.

It's based on two functions : run_in_background() & wait_background()

The first one allow you to spawn processes or functions in background and saves
the associated pid in a variable passed as first argument.

The second one waits for thoses pids to complete and report their exit status.
If one or more failed then wait_background() reports a failure.

A typical usage looks like :

 pids1=""
 run_in_background pids1 bash -c 'sleep 5; exit 0'
 run_in_background pids1 bash -c 'sleep 1; exit 1'
 run_in_background pids1 my_bash_function
 wait_background pids1

The variable that contains pids is local making possible to do nested calls of
thoses two new functions.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-05 09:36:25 +02:00
Erwan Velu
f47e06b907 tests: Fixing broken test/cephtool-test-mon.sh test
Since the merge of pr #7693, 'ceph command' to get the help is invalid.
As a result, 'test/cephtool-test-mon.sh' test was broken

This patch simply change the 'ceph command' by a 'ceph --help command'

Since this change the test is passing again.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-04-04 16:58:58 +02:00
Sage Weil
77aee99835 Merge pull request #8393 from jcsp/wip-15309-2
qa: update rest test cephfs calls (part 2)

Reviewed-by: Sage Weil <sage@redhat.com>
2016-04-04 09:42:57 -04:00
Sage Weil
1de73d7ec8 qa/workunits/rest/test.py: fs flag set enable_multiple true
This lets us run against a vstart cluster.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-04 09:39:03 -04:00
Jason Dillaman
f812199f72 qa/workunits/rbd: qemu tests need to wait for image to be created
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-04-03 10:29:38 -04:00
Josh Durgin
c9ca7692e4 Merge pull request #8325 from trociny/wip-rbd-mirror-test-misc
test: rbd-mirror: script improvements for manual testing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-04-01 09:55:20 -07:00
Mykola Golub
4e1e81a2a7 qa/workunits/rbd: use cluster1/2 instead local/remote as cluster names
After adding tests that start daemons in both clusters, local/remote
names look confusing.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-03-31 14:17:58 +03:00
Mykola Golub
2226019037 qa/workunits/rbd: add helper to determine rbd-mirror local cluster
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-03-31 14:16:21 +03:00
John Spray
d034539c52 qa: update rest test cephfs calls (part 2)
"mds stat" now gives fsmap output rather than
mdsmap.  Update the rest api test's expectations.

Fixes: http://tracker.ceph.com/issues/15309
Signed-off-by: John Spray <john.spray@redhat.com>
2016-03-31 11:28:43 +01:00
Mykola Golub
70b1303a08 qa/workunits/rbd: improvements for manual testing
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2016-03-31 11:42:13 +03:00
Sage Weil
d6569bfe58 Merge pull request #8372 from jcsp/wip-15309
qa: update rest test cephfs calls
2016-03-31 01:15:38 -04:00
Sage Weil
052fa90eb7 Merge pull request #7062 from wonzhq/scrub-prio-pool
osd: add the support of per pool scrub priority

Reviewed-by: Sage Weil <sage@redhat.com>
2016-03-30 08:24:43 -04:00
Sage Weil
325520824e Merge pull request #8210 from liewegas/wip-12814
osd: add 'proxy' cache mode

Reviewed-by: Samuel Just <sjust@redhat.com>
2016-03-30 08:23:05 -04:00
John Spray
557955a233 qa: update rest test cephfs calls
Since the ceph task was already creating filesystems
during setup, I presume that these calls only ever
worked when they were using the same names as
the existing filesystem.

Fixes: http://tracker.ceph.com/issues/15309
Signed-off-by: John Spray <john.spray@redhat.com>
2016-03-30 11:43:22 +01:00
Jason Dillaman
ded7a77931 qa/workunits/rbd: add basic failover/fallback test case
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-03-29 15:19:26 -04:00
Sage Weil
359d8324a3 qa/workunits/cephtool/test.sh: fix cache mode tests
Signed-off-by: Sage Weil <sage@redhat.com>
2016-03-28 16:57:42 -04:00
Loic Dachary
fa450896ac Makefile-env.am: set a default for CEPH_BUILD_VIRTUALENV (part 2)
The new default must be taken into account by make check scripts
otherwise they fail.

Followup of 5b3da26.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-27 22:28:50 +02:00
Sage Weil
a0e5aa5c8a Merge remote-tracking branch 'gh/jewel' 2016-03-25 15:49:23 -04:00
Gregory Farnum
6bbc6b50bb Merge pull request #7901 from jcsp/wip-pycephfs-fixes
libcephfs: fix python tests and fix getcwd on missing dir

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2016-03-23 17:05:22 -07:00
Loic Dachary
eb583cbbbf build/ops: in jessie virtualenv is in package virtualenv
The python scripts are not yet compatible with python3, yet it is the
default on jessie. Force the creation of the virtualenv to use python2.7
instead. The wheelhouse is already explicitly populated for both python3
and python2.7 by install-deps.sh, regardless of the default interpreter.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-23 19:56:11 +01:00
Sage Weil
df6570c2bd Merge pull request #8222 from SUSE/wip-14984
systemd: set up environment in rbdmap unit file

Reviewed-by: Boris Ranto <branto@redhat.com>
2016-03-23 12:33:39 -04:00