Commit Graph

329 Commits

Author SHA1 Message Date
Samuel Just
8a95f13a69 Merge remote-tracking branch 'upstream/wip-11493'
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-05-29 14:17:42 -07:00
John Spray
38a319d515 qa/cephtool: add blacklist json output check
...not very elegantly because this is bash, but
at least check the expected value is somewhere
present in the JSON output.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-05-26 10:58:32 +01:00
Loic Dachary
5c69f5e15f tests: ceph create may consume more than one id
When CEPH_CLI_TEST_DUP_COMMAND=1 is set, ceph osd create will consume
two osd id and return the later. Fix the test to account for that and
not assume the osd id being allocated by osd create is always the
next available osd id.

The other osd create tests do not suffer from the same variation because
they provide a UUID argument that guarantees the same osd id is going to
be returned every time.

http://tracker.ceph.com/issues/11618 Fixes: #11618

Signed-off-by: Loic Dachary <ldachary@redhdat.com>
2015-05-22 10:16:24 +02:00
Samuel Just
11b7801bb5 OSDMonitor: disallow ec pools as tiers
Fixes: 11650
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-05-15 13:20:00 -07:00
Sage Weil
bbec53edf9 mon: prevent pool with snapshot state from being used as a tier
If we add a pool with snap state as a tier the snap state gets clobbered
by OSDMap::Incremental::propogate_snaps_to_tiers(), and may prevent OSDs
from starting.  Disallow this.

Include a test.

Fixes: #11493
Backport: hammer, giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
2015-05-15 10:39:49 -07:00
Loic Dachary
f88275dd04 tests: tiering health report reworked
Instead of

* setting limit
* populate the cache
* check the health warnings

do the following

* populate the cache
* set limits below the content of the cache
* check the health warnings

The problem with the former approach is that the limits stored by the
OSD internally do not exactly match the one set by the user: they are
converted in ratios and there may be rounding errors.

Also replace the busy loop waiting for pg stats to flush with

  ceph tell osd.* flush_pg_stats || true

for simplicity.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-13 10:39:37 +02:00
Loic Dachary
5f252d6135 tests: no agent when testing tiering agent border case
On a machine slow enough, the tiering agent can be activated while
testing border cases where the cache is almost full. Prevent that
by deactivating the tiering agent.

http://tracker.ceph.com/issues/11359 Fixes: #11359

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-13 09:28:06 +02:00
Loic Dachary
b2c40d5e76 tests: uncomment tiering agent tests
http://tracker.ceph.com/issues/11359 Refs: #11359

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-13 09:25:57 +02:00
Samuel Just
05db2b0a25 Merge pull request #4452 from tchaikov/wip-interactive-ceph-cli
Wip interactive ceph cli

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-05-11 10:29:40 -07:00
Kefu Chai
87f37b6b1a Merge pull request #4227 from tchaikov/node-ls
mon,osd,mds: add "{mon,mds} metadata" and "node ls" commands

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2015-05-11 22:01:21 +08:00
Kefu Chai
89f89ca347 mon: s/recovery/recoverying/ in "pg ls*" commands' spec
* also translate "repair" if specified as "states"
* update test_mon_pg in cephtool-test-mon.sh

Fixes: #11569
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-11 19:40:03 +08:00
Kefu Chai
410175be89 Merge pull request #3743 from trociny/wip-osd_create
mon: osd create: add optional 'id' parameter

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2015-05-08 00:13:37 +08:00
Kefu Chai
71bf5f1eb3 mon: add 'node ls {all,mds,mon,osd}' asok
Fixes: #10904
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
79439d43a8 mds,mon: add 'mds metadata' command
Related: #10904
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
1b0386b2e1 mon: add "mon_metadata <id>" command
Related: #10904
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-05-07 07:29:39 -07:00
Kefu Chai
da9d2b4077 ceph.in: improve the interactive mode
* if ceph is not reading from a tty, expect EOF instead of "quit"
  as the end of input.
* do not panic at seeing the EOF
* update the test case test_mon_injectargs_SI(). since we disables
  "ceph injectargs <args,...>" in a458bd83, in which the arguments
  of "injectargs" are supposed to be consumed by "tell" instead.
  so "ceph injectargs ..." is taken as an incomplete command, and
  this command will bring ceph cli into the interactive mode,
  redirecting its stdin to /dev/null helps ceph cli quit the loop,
  but in a way of throwing EOFError exception. this change handles
  the EOF, so the "ceph injectargs ..." does not throws anymore.
  but the side effect is that the test fails since it expects a
  non-zero return code. so replace it with an equivalent "tell"
  command which also fails but due to the non-SI postfix.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-24 15:25:30 +08:00
Kefu Chai
bc7d8c99d2 ceph.in: parse quote correctly in interactive mode
Fixes: #11279
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-04-24 15:25:30 +08:00
Kefu Chai
9403df27f6 Merge pull request #3847 from trociny/wip-test_with_crushtool.master
mon: ceph osd setcrushmap: test_with_crushtool improvements

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-20 16:04:25 +08:00
Loic Dachary
0a442eeb14 tests: comment out unstable tiering tests
So that make check does not randomly fails.

http://tracker.ceph.com/issues/11359 Refs: #11359

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-16 18:02:23 +02:00
Mykola Golub
0d1e770391 mon: osd create: add optional 'id' parameter
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-04-12 14:25:45 +03:00
Kefu Chai
de0528dca6 Merge pull request #4210 from trociny/fix-11261
ceph_argparse: return false instead exiting when argument is missed

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-08 15:19:29 +08:00
Sage Weil
a074a1478d Merge pull request #3560 from XinzeChi/wip-pmon-all
ceph.in: add ceph ping mon.* for ping all monitor

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-04-06 15:47:09 -07:00
Mykola Golub
46103b2c3b ceph_argparse: don't die when called by injectargs
Fixes: #11261
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-04-04 10:55:04 +03:00
Mykola Golub
9d1391e7fe tests: extend mon_crushmap_validation test
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-03-27 15:44:35 +02:00
Mykola Golub
21699fcf70 mon: osd setcrushmap: use own timeout implementation
instead of relying on external util.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-03-27 10:08:22 +02:00
Sage Weil
cc3527a51e Merge pull request #3870 from majianpeng/cache-tier
Cache tier bug fixs

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-25 10:27:56 -07:00
Xinze Chi
2165d053a3 test: add test case for ping_monitor
Signed-off-by: Xinze Chi <xmdxcxz@gmail.com>
2015-03-24 12:51:15 +08:00
Sage Weil
714fac3df0 Merge pull request #4010 from majianpeng/osdmap-nspace
mon:make 'ceph osd map' accept namespace.

Reviewed-by: Sage Weil <sage@redhat.com>
2015-03-21 14:39:35 -07:00
Jianpeng Ma
537e88ec7d qa/cephtool: Using add-cache rather than add to test ceph health.
Don't forget set cachemode.
By the way, For test max_target_bytes, don't reply on /etc/passwd
because different host have different size of /etc/passwd.
Avoid met this bug, i create a tmp file.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-03-20 09:55:39 +08:00
Sage Weil
2a5ad8e3f7 Merge remote-tracking branch 'gh/hammer'
Conflicts:
	src/gmock
	src/msg/xio/XioPortal.h
2015-03-17 10:57:13 -07:00
Jianpeng Ma
5951946b75 qa/cephtool: add ceph for 'ceph osd map pool object namespce'.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-03-17 14:50:55 +08:00
Jianpeng Ma
5a8d4c5068 qa,cephtool: add test case for 'ceph osd tier add-cache'
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2015-03-10 20:15:49 -07:00
Kefu Chai
d2057bd6d9 Merge pull request #3887 from stiopaa1/feature10891
mon: add "osd pool get $pool all" command

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-03-10 22:16:29 +08:00
Sage Weil
faa1f2741c Merge remote-tracking branch 'gh/hammer'
Conflicts:
	src/gmock
2015-03-10 06:24:59 -07:00
Michal Jarzabek
ea6192116c mon/OSDMonitor: refactor and new key "all" for osd pool get command
This will only output all the values applicable to a given type of pool.
So for example for a pool that is not a tier pool values like HIT_SET_TYPE,
HIT_SET_PERIOD, HIT_SET_COUNT etc. will be ignored.

Fixes: #10891
Signed-off-by: Michal Jarzabek <stiopa@gmail.com>
2015-03-09 19:44:26 +00:00
Kefu Chai
a3af64c257 ceph.in: print help on 'osd' or 'mon'
Fixes: #10888
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-03-04 17:39:02 +08:00
Loic Dachary
1e3f814869 mon: ignore crushtool validation if too long
The crushtool is aborted if it takes more than mon lease seconds. Since
the monitor blocks while running it, this is mandatory otherwise the
monitor will be considered down and new elections triggered.

http://tracker.ceph.com/issues/10947 Fixes: #10947

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-03 02:13:27 +01:00
Sage Weil
ee3e466fc4 Merge pull request #3522 from ceph/wip-8600
mon: OSDMonitor: tolerate catastrophically bad crush maps

Reviewed-by: Sage Weil <sage@redhat.com>
2015-02-11 18:31:42 -08:00
Sage Weil
a6035aee32 Merge branch 'wip-7701' of git://github.com/xinxinsh/ceph into hammer
Conflicts:
	src/osd/osd_types.h
2015-02-10 17:19:44 -08:00
xinxin shu
a3b158311a add tests for ceph pg ls-by-pool
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2015-02-10 08:11:25 +08:00
xinxin shu
6ccced2415 add tests for ceph pg ls-by-osd
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2015-02-10 08:11:25 +08:00
xinxin shu
742c5e8b2d add tests for ceph pg ls-by-primary
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2015-02-10 08:11:25 +08:00
Mykola Golub
7920db3da9 tests: make ceph_watch_wait output watchfile content on failure
It should help in troubleshooting remote test failures.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-02-08 22:12:55 -08:00
Kefu Chai
fffa5e201a osd,mon: add norebalance osdmap flag
Fixes: #10559

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-02-05 13:52:17 +08:00
Joao Eduardo Luis
0d80691979 qa: workunits: cephtool/test.sh: test 'ceph osd setcrushmap'
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2015-02-04 14:05:14 +00:00
xinxin shu
2ac116e939 add tests for ceph pg ls
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2015-02-02 13:06:21 +08:00
Mykola Golub
e5ddc502d9 tests: bring back useful test 'ceph tell osd.foo'
The test was removed in 1189138 (mon: make ceph tell mon.* version
work) as it began to fail due to #10439. After it fixed in c4548f6
(pybind: ceph_argparse: validate incorrectly formed targets), the test
can be restored.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-01-27 10:51:07 +02:00
Sage Weil
6633f8a3ed Merge pull request #3409 from trociny/wip-osd_pool_flags
osd: new pool safeguard flags: nodelete, nopgchange, nosizechange

Reviewed-by: Sage Weil <sage@redhat.com>
2015-01-21 13:52:29 -08:00
Mykola Golub
8ab3c41db7 osd: new pool safeguard flags: nodelete, nopgchange, nosizechange
* nodelete - pool can't be deleted
* nopgchange - pool's pg and pgp num can't be changed
* nosizechange - pool's size and min size can't be changed

This is intended to help some poor admin to avoid a very bad day.

Fixes: #9792 (but in a different way than it was proposed there)
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-01-19 21:50:28 +02:00
xinxin shu
9db596974c fix command 'ceph pg dump_stuck degraded'
undersized not valid:  undersized not in inactive|unclean|stale
undersized not valid:  undersized doesn't represent an int
Invalid command:  unused arguments: ['undersized']
pg dump_stuck {inactive|unclean|stale [inactive|unclean|stale...]} {<int>} :  show information about stuck pgs

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2015-01-16 01:33:07 +08:00
John Spray
e5591f8a98 qa: fail_all_mds between fs reset and fs rm
Because fs reset opens a brief window for the previously
failed MDSs to spring back into life.

Fixes: #10539

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-14 22:08:09 +00:00
John Spray
8630696681 qa: add fs reset to cephtool tests
This is just a superficial "I can call it" test,
it's actual behaviour is checked elsewhere.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-12 15:00:15 +00:00
Mykola Golub
b5c24e45a9 qa: add test_tell, which currently is used only for testing 'ceph tell mon version'.
The test requires at least two monitors run.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-01-05 15:53:54 +02:00
Mykola Golub
3b4e021cdc qa: refactor 'ceph -w' magic in test_mon_misc by introducing helper
functions ceph_watch_start and ceph_watch_wait so they can be reused
in other tests.

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-01-05 12:01:15 +02:00
Mykola Golub
11891383ae mon: make ceph tell mon.* version work
Fixes: #6767
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-01-05 12:01:03 +02:00
Sage Weil
5439d9ee70 Merge pull request #3057 from ceph/wip-crush-straw
crush: fix straw bucket scaler bugs

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2014-12-18 14:13:33 -08:00
Sage Weil
a8f85dccbb mon: allow full flag to be manually cleared
This is like a temporary measure as the mon will try to set them again,
but we have run into cases where the mon was misbehaving (failing to clear
the flag) and we wanted to do it.  Note that the mon will likely set it
again on the next tick() anyway.

If we're going to clear it, we may as well be able to set it, too (again,
even if the mon is going to clear it soon).  If nothing else this is useful
for writing tests.

Fixes: #9323
Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-10 21:00:26 -08:00
Sage Weil
89b2feea8d mon: 'osd crush reweight-all'
This corresponds to the crushtool --reweight command.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-09 16:09:26 -08:00
Sage Weil
9000068ae4 mon: add 'osd crush {get,set}-tunable <name> [value]' commands
For now, just add the straw_calc_version tunable.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-09 16:09:25 -08:00
Sage Weil
c0685ec709 Merge remote-tracking branch 'gh/next' 2014-12-04 08:39:56 -08:00
John Spray
d98cec7f9c qa: fix teardown in cephtool's test_mon_mds
This was missing from 17b5fc9a but we didn't notice
because the test wasn't being run by the gitbuilders.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-03 16:26:57 +01:00
Sage Weil
cbac460950 Merge pull request #3067 from dachary/wip-cephtool
fix cephtools running only part of the tests + avoid killing wrong daemons

Reviewed-by: Sage Weil <sage@redhat.com>
2014-12-02 20:53:12 -08:00
Loic Dachary
3047c9e000 qa: cephtool/test.sh use regular strings to list tests
Using the array notation to list test is error prone and more
complicated to write.

It also fixes a bug : only the first test of each series (MON, OSD, MDS)
was run and the others were ignored.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-12-02 23:52:48 +01:00
John Spray
17b5fc9a40 mon: OSDMonitor: allow adding tiers to FS pools
This was an overly-strict check.  In fact it is perfectly
fine to set an overlay on a pool that is already in use
as a filesystem data or metadata pool.

Fixes: #10135

Signed-off-by: John Spray <john.spray@redhat.com>
2014-11-25 16:54:42 +00:00
Sage Weil
292be9799e Merge pull request #2902 from dachary/wip-10083-noisy-osd
qa: handle CEPH_CLI_TEST_DUP_COMMAND on ceph osd create

Reviewed-by: Sage Weil <sage@redhat.com>
2014-11-12 11:27:08 -08:00
Loic Dachary
6c80525551 qa: handle CEPH_CLI_TEST_DUP_COMMAND on ceph osd create
If CEPH_CLI_TEST_DUP_COMMAND is set when ceph osd create is called, it
will create two osd. They must be cleaned up afterwards instead of
assuming only one is going to be created.

http://tracker.ceph.com/issues/10083 Fixes: #10083

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-11-12 19:33:46 +01:00
Sage Weil
80865fea71 Merge remote-tracking branch 'gh/next' 2014-11-11 16:22:40 -08:00
Samuel Just
992a4a843f Merge pull request #2773 from ceph/wip-9852
mon: MDSMonitor: proper error output if pool DNE on 'add_data_pool'

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
2014-11-10 14:52:10 -08:00
Sage Weil
c914df2de4 qa/workunits/cephtool/test.sh: ceph, not ./ceph
Fixes: #10053
Signed-off-by: Sage Weil <sage@redhat.com>
2014-11-10 14:12:11 -08:00
Loic Dachary
6741b71d90 tests: group workunits/cephtool/test.sh tests per daemon
So all tests related to a given daemon (mon, osd, mds) can be run at
once.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-11-09 11:59:51 +01:00
Loic Dachary
6fca23f610 qa: avoid qa/workunits/cephtool/test.sh unstability
For testing injectargs a configuration option was changed that has side
effects on the cluster. It could introduce random failures later. It is
replaced with a configuration option that cannot have adverse side
effects on the cluster.

http://tracker.ceph.com/issues/9919 Fixes: #9919

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-28 22:23:11 +01:00
Dan Mick
9a12467a9c Merge pull request #2733 from dachary/wip-9372-injectargs
cli: do not parse injectargs arguments twice

Reviewed-by:  Dan Mick <dan.mick@inktank.com>
2014-10-23 12:32:37 -07:00
Sage Weil
d2fe792c91 Merge remote-tracking branch 'gh/giant' 2014-10-21 10:39:42 -07:00
Joao Eduardo Luis
c589f3f6e9 mon: MDSMonitor: proper error output if pool DNE on 'add_data_pool'
Fixes: #9852

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-10-21 18:23:49 +01:00
Loic Dachary
2ec3609569 cli: CEPH_ARGS must be before injectargs
It is incorrect to append the content of CEPH_ARGS to the argument list
when running injectargs. For instance if

  CEPH_ARGS='--log-file the.log' \
    ./ceph tell osd.0 injectargs --no-osd_debug_op_order

translates into

    ./ceph tell osd.0 injectargs --no-osd_debug_op_order \
                                 --log-file the.log

it ends up changing the log file of osd.0 which is probably unintended.
Instead CEPH_ARGS is inserted before injectargs and it translates into:

    ./ceph tell osd.0 --log-file the.log \
                      injectargs --no-osd_debug_op_order

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-20 23:03:11 -07:00
Loic Dachary
a458bd83f5 cli: do not parse injectargs arguments twice
The arguments of injectargs being valid ceph arguments, they are.
consumed when the ceph cli calls rados.conf_parse_argv(). It can be
worked around by obsuring them as in:

   ceph tell osd.0 injectargs '--osd_debug_drop_ping_probability 444'

where '--osd_debug_drop_ping_probability 444' is a single argument that
does not match any known argument. The trick is that it will be
evaluated again once it reaches the OSD or the MON and translated into
the expected list of arguments. Although it is clear once explained, it
is obscure and leads to strange combinations such as:

   ceph tell osd.0 injectargs '--osd_debug_op_order '

(note the extra space at the end) to set boolean parameters. A better
workaround is to add a -- marking the end of the options as in:

   ceph tell osd.0 -- injectargs --osd_debug_op_order

this one is unfortunately much less documented and the user does not
usually know the exact semantic of --, let alone where it should be
placed.

The simpler solution is to split the argument list in two if
"injectargs" is found. The arguments that show after the "injectargs"
argument is removed from the list of arguments until parsing is
complete. It implements the more intuitive syntax:

   ceph tell osd.0 injectargs --osd_debug_op_order

and the other forms are still valid for backward compatibility.

http://tracker.ceph.com/issues/9372 Fixes: #9372

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-20 23:03:07 -07:00
Joao Eduardo Luis
ac3c1cb5d0 qa/workunits: cephtool: don't remove self's key on auth tests
Suites run with CEPH_TEST_CLI_DUP_COMMAND=1, which will send a duplicate
command for every command issued with the 'ceph' tool.  Behavior is to
get a reply from the command and then send a duplicate, looking for the
same outcome (guaranteeing idempotency of the operations).  However, it
so happens that if you remove the entity's own key from the keyring and
you happen to be unlucky enough so that the client's connection gets
failed (we also run tests with connection failure injections), the
'ceph' tool won't be able to reconnect to the cluster to send the
duplicate command (as it's entity no longer exists in the cluster's
keyring).

We rewrite the test instead of resorting to ugly hacks to work around
this behavior, simply having a new 'role-definer' added by the existing
'role-definer' (which we weren't testing anyway, so bonus points for
that) and then have one removing the other (to test the procedure) and
finally using 'client.admin' to remove the last 'role-definer'.

Fixes: #9820

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-10-20 18:00:15 +01:00
Loic Dachary
3741aab39e auth: unit tests for auid display
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-15 13:25:17 -07:00
Loic Dachary
9b3d345d50 qa: move mon_mds tests last
Assuming they are more likely than others to leave OSD/MON in an
unstable state that could have undefined side effects on the tests
following it. A cleaner solution would be to run them in a separate
script that is run on an independent cluster.

http://tracker.ceph.com/issues/9700 Fixes: #9700

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-08 16:33:22 +02:00
John Spray
e27cf4139f qa: cephtool tests for tell mds.X
Signed-off-by: John Spray <john.spray@redhat.com>
2014-10-08 12:01:21 +01:00
John Spray
620a722da3 qa: fixup cephtool test when MDS exists
We added MDS resetting code here a while back,
but the order of operations was such that a
"cluster up" was being run between a fail_all_mds
and the point at which we needed the map not to
be interfered with (testing setmap).

Also the new fs create/destroy cycles for testing
EC pool handling were missing calls to stop the
daemons before fs rm.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-10-08 11:58:20 +01:00
Sage Weil
1036e9827c Merge remote-tracking branch 'gh/giant'
Conflicts:
	src/osdc/Objecter.cc
2014-10-07 12:40:45 -07:00
Sage Weil
2ac2a96898 Merge pull request #2560 from ceph/wip-9418
mon: add new profiles & audit cap checks

Reviewed-by: Sage Weil <sage@redhat.com>
2014-10-07 06:32:53 -07:00
Loic Dachary
f1becf9ad7 qa: ceph tell must retry on ENXIO
It is expected for ceph tell to fail with ENXIO if the daemon it is
trying to join is not ready for some reason. This should be handled as a
transient error instead of a fatal error.

Add two shell functions to help with retry. They may prove useful if
other cases requiring a few retries show up.

http://tracker.ceph.com/issues/9655 Fixes: #9655

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-04 11:34:27 +02:00
Joao Eduardo Luis
ea96863d2a qa/workunits: cephtool: test auth profiles
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-10-03 16:24:19 +01:00
Loic Dachary
29356d8765 qa: fix osd pool ls invalid test
expect_false does not extend past the pipe and fails because the command
succeeds

introduced in f05c977bbc

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-10-01 23:41:09 +02:00
João Eduardo Luís
46166eefe6 Merge pull request #2452 from ceph/wip-pool-ls
mon: add 'osd pool ls [detail]' command

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
2014-10-01 16:22:42 +00:00
Sage Weil
f36e8540d0 Merge remote-tracking branch 'gh/giant'
Conflicts:
	qa/workunits/cephtool/test.sh
	src/test/erasure-code/TestErasureCodeIsa.cc
2014-09-29 16:17:15 -07:00
Loic Dachary
beade63a17 qa/workunits/cephtool/test.sh: fix thrash (ultimate)
Keep the osd trash test to ensure it is a valid command but make it a
noop by giving it a zero argument (meaning thrash 0 OSD maps).

Remove the loops that were added after the command in an attempt to wait
for the cluster to recover and not pollute the rest of the tests. Actual
testing of osd thrash would require a dedicated cluster because it the
side effects are random and it is unnecessarily difficult to ensure they
are finished.

http://tracker.ceph.com/issues/9620 Fixes: #9620

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-29 13:47:06 +02:00
John Spray
b8e6a6b180 Merge remote-tracking branch 'origin/giant' 2014-09-24 11:40:52 +01:00
Loic Dachary
13780d7551 mon: osd find / metadata --format plain fallback
ceph --format plain osd find 1 (and metadata) are not implemented and
must fallback to the default (json-pretty).

http://tracker.ceph.com/issues/9538 Fixes: #9538

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-19 15:31:33 +02:00
Loic Dachary
7ac60d8caf tests: check osd health in cephtool/test.sh
Add a trivial osd health test at the beginning of each group of
tests. When facing an intermittent failure, it is difficult to diagnose
if the cluster appears to be missing an OSD but there is no indication
as to when the OSDs were last up.

The tests are now only run after all OSDs are up.

These checks can be disabled with --no-sanity-check to allow running
some tests that have less requirements than running all the tests.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-19 13:23:44 +02:00
Loic Dachary
4d75c4c36d tests: qa/workunits/cephtool/test.sh ! and -e
From the bash man page:

   set -e exit immediately ... The shell does not exit ... if the
   command's return value is being inverted with !

Add an explicit exit 1 where appropriate.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-19 13:09:18 +02:00
John Spray
681a49c412 mon: forbid tier changes when in use by FS
* Removing tiers from a base pool in use by CephFS is forbidden.
* Using CephFS pools as tiers is forbidden.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-16 17:16:23 -07:00
John Spray
80441cda8c mon: prevent cache pools being used CephFS
Fixes two things:
 * EC pools are now permissible if they have a cache overlay
 * Pools are not permissible if they are a cache tier.

Fixes: #9435

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-16 17:16:23 -07:00
Sage Weil
f05c977bbc mon: add 'osd pool ls [detail]' command
This is much friendlier than

 ceph osd dump | grep ^pool

Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-10 08:07:53 -07:00
Loic Dachary
e13ddc7dae tests: qa/workunits/cephtool/test.sh early fail
Add tests to fail as soon as an unexpected condition is met in
test_mon_osd. Otherwise the actual error will be more difficult find in
the logs.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-08-31 22:59:04 +02:00
Sage Weil
977f85279f qa/workunits/cephtool/test.sh: test reweight-by-pg
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-19 08:16:41 -07:00
Sage Weil
34fe7a8214 Merge pull request #2217 from ceph/wip-problem-osds
mon: 'ceph osd blocked-by' for histogram of peers OSDs are waiting for

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-08-16 13:15:10 -07:00
Sage Weil
cec40dae17 qa/workunits/cephtool: verify setmaxosd doesn't let you clobber osds
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-14 13:18:07 -07:00
Sage Weil
bee79ec480 qa/workunits/cephtool: add trivial 'ceph osd blocked-by' test
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-08 18:12:31 -07:00
Sage Weil
6380f47868 qa/workunits/cephtool: add simple 'ceph osd perf' test
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-08 18:12:31 -07:00
Sage Weil
ea731ae142 qa/workunits/cephtool/test.sh: fix 'ceph df ...' tests
Broken by ee2dbdb0f5 and friends.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-06 13:16:49 -07:00
Dan Mick
aa9ae1f270 qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-07-30 14:52:48 -07:00
Dan Mick
22d20f39b7 qa/workunits/cephtool/test_daemon.sh: typo
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-07-30 14:52:48 -07:00
Dan Mick
97a8d5a9fd qa/workunits/cephtool/test_daemon.sh: allow local ceph command 2014-07-30 14:52:44 -07:00
John Spray
0cd0268421 qa: generalise cephtool for vstart+MDS
Previously this test assumed no pre-existing
filesystem and no MDS running.  Generalize it
to nuke any existing filesystems found before
running, so that you can use it inside a vstart
cluster that had MDS>0.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-18 16:53:58 +01:00
Sage Weil
4d6899c756 qa/workunits/cephtool/test.sh: fix erasure_code_profile get test
I broke this in ce9f12d7a2 (the pool isn't
type erasure).

Signed-off-by: Sage Weil <sage@redhat.com>
2014-07-17 10:14:35 -07:00
Sage Weil
ce9f12d7a2 qa/workunits/cephtool/test.sh: test osd pool get erasure_code_profile
Signed-off-by: Sage Weil <sage@inktank.com>
2014-07-16 17:55:36 -07:00
Joao Eduardo Luis
50e93c2138 qa/workunits: cephtool: adjust pool name where missing as it has changed
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-11 15:22:43 +01:00
Joao Eduardo Luis
6cd345732b qa/workunits: cephtool: cleanup after pool creation
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-11 01:02:04 +01:00
Joao Eduardo Luis
704b0a33f2 qa/workunits: cephtool: pool needs to be a tier to be used as such
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-11 00:17:47 +01:00
Joao Eduardo Luis
49db676715 qa/workunits: cephtool: test erroneous 'tier remove'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-11 00:17:47 +01:00
Joao Eduardo Luis
9fea033f30 qa/workunits: cephtool: test get/set on both tier and non-tier pools
Make sure gets and sets of tiering-specific variables succeed on tier
pools and fail on non-tier pools.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-11 00:17:47 +01:00
Joao Eduardo Luis
df5944955d qa/workunits: cephtool: split get/set on tier pools from get/set tests
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-11 00:17:47 +01:00
Joao Eduardo Luis
b927c0de7d qa/workunits: cephtool: test for 'osd pool {get,set}-quota'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-08 19:33:14 +01:00
Sage Weil
55e297ad9a Merge pull request #2046 from ceph/wip-8670
mon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it

Reviewed-by: Loic Dachary <loic@dachary.org>
Reviewed-by: Sage Weil <sage@redhat.com>
2014-07-02 17:44:56 -07:00
Joao Eduardo Luis
ddc04c83ff mon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it
Add support to get the values for the following variables:
 - target_max_objects
 - target_max_bytes
 - cache_target_dirty_ratio
 - cache_target_full_ratio
 - cache_min_flush_age
 - cache_min_evict_age

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-07-02 19:35:31 +01:00
John Spray
e2b151d009 mds: Update default FS name
From 'default' to 'cephfs' so that it looks
at least vaguely meaningful.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-01 18:40:26 +01:00
John Spray
f62f7f57e0 qa: update cephtool EC pools test to respect IDs
...of data and metadata pools which are no longer
constant.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-01 18:40:03 +01:00
John Spray
710561cb8d mon/MDSMonitor: EC check in 'fs new' like newfs
Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-01 18:40:03 +01:00
John Spray
44eb259341 qa: add a check for crash_replay_interval autoset
... that after a fs new on fresh pools, crash_replay_interval
is set to the default on the data pool.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-07-01 18:40:03 +01:00
Loic Dachary
522174b066 qa: support running under non privileged user
If the test is run against a cluster started with vstart.sh (which is
the case for make check), the --asok-does-not-need-root disables the use
of sudo and allows the test to run without requiring privileged user
permissions.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-07-01 08:42:58 +02:00
Gregory Farnum
d7f3c88d83 Merge pull request #1942 from ceph/wip-fs-cmds
Wip fs cmds

Reviewed-by: Greg Farnum <greg@inktank.com>
2014-06-30 20:52:46 -07:00
Sage Weil
bcc09f9376 qa/workunits/cephtool/test.sh: sudo ceph daemon
Signed-off-by: Sage Weil <sage@inktank.com>
2014-06-30 16:41:17 -07:00
John Spray
7294e8c4df test/qa: update for MDSMonitor changes
Accomodate changes:
 * data and metadata pools no longer exist by default
 * filesystem-using tests must use `fs new` to create
   the filesystem first.

Signed-off-by: John Spray <john.spray@inktank.com>
2014-06-30 10:38:57 +01:00
Joao Eduardo Luis
48e38ac632 qa/workunits: cephtool: fix 'osd bench' test
Commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595 fixed an incorrect
behavior with the OSD's 'osd bench' value hard-caps.  The test wasn't
appropriately modified unfortunately.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:36 +01:00
Joao Eduardo Luis
4b0809a13e qa/workunits: cephtool: only run heap profiler test if tcmalloc enabled
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:36 +01:00
Joao Eduardo Luis
5c4616e100 qa/workunits: cephtool: set +e for the tcmalloc tests
Avoids failing the tests when tcmalloc is not present

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:36 +01:00
Joao Eduardo Luis
6725543515 qa/workunits: cephtool: delete unnecessary function calls
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:36 +01:00
Joao Eduardo Luis
946bd0dad4 qa/workunits: cephtool: disable bash debug when not running tests
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:35 +01:00
Joao Eduardo Luis
5d26575ef2 qa/workunits: cephtool: allow running individual tests
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:35 +01:00
Joao Eduardo Luis
f4184086d0 qa/workunits: cephtool: cleanup state after erasure-code-profile test
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 01:00:35 +01:00
Joao Eduardo Luis
780424df3a qa/workunits: cephtool: add/remove comments
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 00:57:14 +01:00
Joao Eduardo Luis
3d14a96f4b qa/workunits: cephtool: split into properly indented functions
The test was a big sequence of commands being run and it has been growing
organically for a while, even though it has maintained a sense of
locality with regard to the portions being tested.

This patch intends to split the commands into functions, allowing for a
better semantic context and easier expansion.  On the other hand, this
will also allow us to implement mechanisms to run specific portions of
the test instead of always having to run the whole thing just to test a
couple of lines down at the bottom (or have to creatively edit the test).

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 00:55:46 +01:00
Joao Eduardo Luis
04658b7b2b qa/workunits: cephtool: move test line to where it's more appropriate
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 00:52:44 +01:00
Joao Eduardo Luis
db6cc133ba qa/workunits: cephtool: split into functions
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-26 00:51:05 +01:00
Samuel Just
4e68ac34ec Merge pull request #2001 from dachary/wip-tiermsg
mon: test that pools used in tiers cannot be removed

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-06-25 13:39:48 -07:00
Joao Eduardo Luis
378b5add22 qa/workunit: cephtool: test mds newfs and add_data_pool with ec pools
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-06-24 00:48:43 +01:00
Loic Dachary
39a4b78177 mon: test that pools used in tiers cannot be removed
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-06-20 09:52:31 +02:00
Sage Weil
4951244726 Merge remote-tracking branch 'gh/next' 2014-06-02 22:24:48 -07:00
Joao Eduardo Luis
38405d3554 qa/workunits/cephtool: test setting options using SI units
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-05-30 22:09:23 +01:00
Loic Dachary
c2225f874d mon: fix set cache_target_full_ratio
It was a noop because it was incorrectly using the variable n. Add a
test to protect against regression.

http://tracker.ceph.com/issues/8440 Fixes: #8440

Reported-by: Geoffrey Hartz <hartz.geoffrey@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-05-27 10:24:18 +02:00
Joao Eduardo Luis
fd970bbc95 mon: OSDMonitor: disallow nonsensical cache-mode transitions
Fixes: 8155

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2014-05-03 03:42:19 +01:00
Loic Dachary
aae16ab355 mon: add ceph osd pool set <pool> auid
When a pool is created with ceph osd pool create, the auid is not
inferred from the session auid and is set to zero. Add the

  ceph osd pool set <pool> auid <int>

command to set it after it is created, and the matching get:

  ceph osd pool get <pool> auid

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-04-23 22:20:42 +02:00
Sage Weil
2cb0bac697 qa/workunits/cephtool/test.sh: make set pg_num test non-racy
Loop while the pool is creating.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2014-04-21 14:18:21 -07:00
Greg Farnum
82edda23aa test: handle the create-pg delay when testing cache split syntax
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-04-18 13:41:00 -07:00
Sage Weil
015df934af mon/OSDMonitor: require force argument to split a cache pool
There are several perils when splitting a cache pool:

 - split invalidstes pg stats, which disables the agent
 - a scrub must be manually triggered post-split to rebuild stats
 - the pool may fill the OSDs during that period.
 - or, the pool may end up beyond the 'full' mark and once scrub does
   complete and the agent activate we may block IO for a long time while
   we catch up with flush/evict

Make it a bit harder for users to shoot themselves in the foot.

Fixes: #8043
Signed-off-by: Sage Weil <sage@inktank.com>
2014-04-15 13:57:21 -07:00
Sage Weil
e44f85ce18 qa/workunits/cephtool/test.sh: test 'osd pg-temp ...'
Signed-off-by: Sage Weil <sage@inktank.com>
2014-03-31 14:12:51 -07:00
Sage Weil
8c761c4797 mon: make 'ceph osd erasure-code-profile set ...' idempotent
Signed-off-by: Sage Weil <sage@inktank.com>
2014-03-31 10:01:43 -07:00