Commit Graph

201 Commits

Author SHA1 Message Date
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
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