Commit Graph

301 Commits

Author SHA1 Message Date
Loic Dachary
7924231930 tests: tiering agent and proxy read
Verify that an object promoted to a cache tier because of a proxy read
is evicted as expected.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-08-14 14:31:52 +02:00
Sage Weil
383185bfba mon/OSDMonitor: osd set/unset sortbitwise
Add monitor command to flip the switch on the OSD hobject_t sort
order.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-08-07 16:23:46 -04:00
Josh Durgin
7d11b6b9d1 Merge remote-tracking branch 'origin/next'
Conflicts:
	src/Makefile-client.am (link rbd to libglobal again)
2015-08-04 18:13:52 -07:00
John Spray
cb51b17043 mon: reject over-large values of max_mds
Fixes: #12222
Signed-off-by: John Spray <john.spray@redhat.com>
2015-07-30 07:12:50 +01:00
Sage Weil
de8a950506 qa/workunits/cephtool/test.sh: escape osd.* and mon.*
Otherwise we get filenames if the glob happens to match something in the
source dir.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-07-23 17:04:53 -04:00
Kefu Chai
017e206cf1 qa/workunits: cephtool: take EOPNOTSUPP as an alias of ENOTSUP
the proble breaks `test_mon_deprecated_commands` on ubuntu precise,
on the python shipped with ubuntu precise, errno.errorcode[95]
evalutes to `EOPNOTSUPP` but not `ENOTSUP`. but these two errnos
are equal in glibc.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-07-19 00:21:23 +08:00
Sage Weil
2746f59da4 Merge remote-tracking branch 'gh/next' 2015-07-16 12:03:58 -04:00
Joao Eduardo Luis
038452e70f mon: Monitor: use 'ceph mon metadata' instead of 'ceph mon_metadata'
'ceph mon_metadata' was added still during this dev cycle, so there is
no need to deprecate it first.

Fixes: #11545

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2015-07-16 15:54:03 +01:00
Joao Eduardo Luis
66e7510cad qa/workunits: cephtool: test deprecated commands
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2015-07-16 12:20:02 +01:00
Kefu Chai
2d471d0def Merge pull request #5143 from trociny/fix-mds_metadata
mon: fix mds metadata

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-07-16 14:41:41 +08:00
Samuel Just
4946d103de OSDMonitor: allow addition of cache pool with non-empty snaps with config
We need to be able to allow the version of ceph_test_* from earlier
versions of ceph to continue to work.  This patch also adjusts the
work unit to use a single rados snap to test the condition without
--force-nonempty to ensure that we don't need to be careful about
the config value when running that script.

Signed-off-by: Samuel Just <sjust@redhat.com>
2015-07-09 13:56:29 -07:00
Loic Dachary
d791a722a7 tests: improve shell output readability
Modify the test traces to include the file name in addition to the
function and line name. It makes it easier to locate the faulty line
without going back to the test name.

Format the trace lines to be emacs friendly (filename:lineno) so that
C-x ` or C-c C-c jumps to the right file and the right line when running
the test with M-x compile.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-07-08 16:14:01 +02:00
Mykola Golub
b53e3e275f qa: add tests for 'ceph mds metadata' command
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2015-07-07 09:59:32 +03:00
Li Wang
c1bd02c978 Merge pull request #4792 from kylinstorage/wip-writeback-throttling-for-cache-tiering
Wip writeback throttling for cache tiering

This patch is to do write back throttling for cache tiering, which is similar to what the Linux kernel does for  page cache write back.  A paramter 'cache_target_dirty_high_ratio'  (default 0.6) is introduced as the high speed flushing threshold, while leave the 'cache_target_dirty_ratio' (default 0.4) to represent the low speed  threshold. The flush speed is controlled by limiting the parallelism of flushing. The maximum parallelism under low speed is half of the parallelism under high speed. If there is at least one PG such that the dirty ratio beyond the high threshold, full speed mode is entered; If there is no PG such that dirty ratio beyond the low threshold, idle mode is entered; In other cases, slow speed mode is entered.

Signed-off-by: Mingxin Liu <mingxinliu@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
Suggested-by: Nick Fisk <nick@fisk.me.uk>
Tested-by: Kefu Chai <kchai@redhat.com>
2015-06-23 15:15:47 +08:00
Gregory Farnum
5a3da7b891 Merge pull request #4602 from ceph/wip-11504
mon: refine check_remove_tier checks

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-05 11:13:42 -07:00
liumingxin
7aba9476e6 Doc: add write back throttling stuff in document and test scripts
Signed-off-by: Mingxin Liu <mingxinliu@ubuntukylin.com>
Reviewed-by: Li Wang <liwang@ubuntukylin.com>
Suggested-by: Nick Fisk <nick@fisk.me.uk>
2015-06-03 15:57:14 +08:00
David Zafman
17f73fafc4 Merge pull request #4816 from dachary/wip-11624-cephtools-test
tests: cephtool/test.sh wait_for_clean after PG (re)mapping 

Reviewed-by: David Zafman <dzafman@redhat.com>
2015-06-02 17:28:37 -07:00
Kefu Chai
c2b06ab372 Merge pull request #4643 from tchaikov/wip-fix-11569
fix "pg ls" with states of "recovering" and/or "repair"

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2015-06-02 20:43:26 +08:00
John Spray
f9b11b0abe qa: update cephtool test for CephFS tier cases
1. Creating a filesystem using a
   readonly tier on an EC pool (should be forbidden)
2. Removing a tier from a replicated base pool (should
   be permitted)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-06-01 14:16:15 +01:00
Loic Dachary
7e2a7a8685 tests: cephtool/test.sh wait_for_clean after PG (re)mapping
A get/set command may fail with

   Error EBUSY: currently creating pgs, wait

if issued before the PGs are clean. Call wait_for_clean after the pool
is created or a pool setting is changed and remaps the PGs it
contains (size, pg_num...) to ensure the PGs are clean and the set/get
command that follow will succeed.

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

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-01 01:13:44 +02:00
Loic Dachary
f6e4000589 tests: reduce pg_num in test_mon_osd_pool_set
No need for more than one pg to test get/set on pools: it also is faster
to become clean.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-01 01:13:44 +02:00
Loic Dachary
d2cc2b184b tests: use get_pg from ceph-helpers.sh
The semantic and interface of get_pg are the same, that avoids
duplication and the ceph-helpers.sh version is tested and documented.

Make the ceph-test package dependent on xmlstarlet because it is
needed by ceph-helpers.sh.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-06-01 01:11:28 +02:00
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