Commit Graph

1527 Commits

Author SHA1 Message Date
Sage Weil
36cb4629dc Merge pull request #15533 from liewegas/wip-crush-version
mon,osd: add crush_version to OSDMap, and allow crush map updates to gate on crush_version

Reviewed-by: Loic Dachary <loic@dachary.org>
2017-06-19 18:06:07 -05:00
Sage Weil
74087cf5ab qa/workunits/cephtool/test.sh: silence dev warnings
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-19 14:11:57 -04:00
xie xingguo
f53559f95b mon/OSDMonitor: batch noup/noin osds support
This is a follow-up change of https://github.com/ceph/ceph/pull/15381.
This patch also simplifies the original code logic a bit.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-18 08:39:50 +08:00
Sage Weil
078e910eff Merge pull request #15675 from gregsfortytwo/wip-bad-command
mon,mgr: fix "ceph osd df", add some tools to find untested commands

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-15 16:34:10 -05:00
Sage Weil
307026a468 mon/OSDMonitor: add prior_version arg to 'osd crush set', 'osd setcrushmap'
If the prior_version doesn't match, reject the update.

Note that we also allow the crush_version-1 iff the proposed map is
identical to the current map in order to make the command idempotent.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-15 13:41:30 -04:00
Kefu Chai
8a44b680dd qa/workunits/rest/test_mgr_rest_api.py: set headers for requests
i think it's a bug in httplib shipped in old distro.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-15 10:13:14 +08:00
Greg Farnum
010e45d7d0 qa: test 'osd df' in cephtool/test.sh
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2017-06-14 17:02:50 -07:00
Yuri Weinstein
3ace41f8d2 Merge pull request #15381 from xiexingguo/wip-noout-osdlist
mon/OSDMonitor: batch OSDs nodown/noout support

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
2017-06-14 13:11:58 -07:00
Sage Weil
b98fad9b1c Merge pull request #15604 from liewegas/wip-rest-test-qa
qa/suites/rados/rest: test restful mgr module

Reviewed-by: Boris Ranto <branto@redhat.com>
2017-06-12 12:47:32 -05:00
Sage Weil
7df54f2f24 qa/workunits/rest/test_mgr_rest_api.py: tolerate old distros
Work with older requests and/or missing urllib3.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-12 11:56:16 -04:00
Kefu Chai
63840ffaba qa: timeout if flush_pg_stats() takes too long
a "timeout" which defaults to 300 seconds is added to flush_pg_stats()

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-12 19:32:11 +08:00
Kefu Chai
419ff0b90e qa: remove duplicated flush_pg_stats() helper
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-12 18:32:50 +08:00
xie xingguo
905ad73c33 mon/OSDMonitor: add "ceph osd ls-tree" command
E.g.:
~# ceph osd tree
ID WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRIMARY-AFFINITY
-5 3.00000 root foo
-4 2.00000     rack foo-rack-1
-3 1.00000         host foo-host-192-8-8-91
 1 1.00000             osd.1                                     up  1.00000          1.00000
-6 1.00000         host foo-host-192-8-8-92
 2 1.00000             osd.2                                     up  1.00000          1.00000
-8 1.00000     rack foo-rack-2
-7 1.00000         host foo-host-192-8-8-93
 0 1.00000             osd.0                                     up  1.00000          1.00000
-1       0 root default
-2       0     host gitbuilder-ceph-rpm-centos7-amd64-basic

~# ceph osd ls-tree foo
0
1
2

~# ceph osd ls-tree foo-rack-1
1
2

~# ceph osd ls-tree foo-rack-2
0

~# ceph osd ls-tree foo-host-192-8-8-92
2

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-12 10:08:33 +08:00
xie xingguo
4fec5b85f1 mon/OSDMonitor: batch OSDs nodown/noout support
This patch allow us to add batch OSDs(e.g., from a specific host which is currently in maintenance)
into a specific nodown/noout list, which can not be automatically marked down/out
and hence can be eliminated from data migration.

This has the same effect with the global nodown/noout flag but is more fine-grained.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-12 10:08:33 +08:00
Jason Dillaman
3ae72a001b Merge pull request #15594 from idryomov/wip-krbd-rados-ls
qa: update krbd_data_pool.sh to match the new rados ls behavior

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-06-09 10:50:20 -04:00
Sage Weil
b6a5b946f8 Merge pull request #15180 from theanalyst/doc/rgw-dev-s3tests
doc: dev improve the s3tests doc to reflect current scripts
2017-06-09 08:32:10 -05:00
Sage Weil
1bf53c1fc8 qa/workunits/rest/test_mgr_rest_api.py: improvements
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-08 14:29:37 -04:00
Ilya Dryomov
a3e23a7c3c qa: update krbd_data_pool.sh to match the new rados ls behavior
See commit e9973adf1f ("PendingReleaseNotes: notes on whiteouts vs
pgnls").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-06-08 20:01:13 +02:00
Yuri Weinstein
17376dbff6 Merge pull request #15436 from liewegas/wip-versions
mon: {mon,osd,mds} {versions,count-metadata}

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-07 09:36:59 -07:00
Sage Weil
fca1721247 Merge pull request #15437 from dachary/wip-bluestore
ceph-disk: add --filestore argument, default to --bluestore

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-07 09:02:29 -05:00
Kefu Chai
a88896ac51 Merge pull request #15530 from tchaikov/wip-jq-without-first
qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3

Reviewed-by: David Zafman <dzafman@redhat.com>
2017-06-07 16:44:54 +08:00
Kefu Chai
b55b464f39 Merge pull request #15497 from liewegas/wip-log-last
mon/LogMonitor: 'log last' command

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-07 12:30:06 +08:00
Kefu Chai
a52445e3c8 qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3
trusty still ships jq 1.3 which does not offer "first". see
https://stedolan.github.io/jq/manual/v1.3/ .

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-07 09:32:21 +08:00
Sage Weil
189b17b784 qa/workunits/cephtool/test.sh: test 'log last [n]'
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-06 14:52:26 -04:00
Sage Weil
5cfe4cfa13 ceph-disk: add --filestore argument, default to --bluestore
Signed-off-by: Sage Weil <sage@redhat.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2017-06-06 19:45:24 +02:00
Sage Weil
daa5126ed9 Merge pull request #14074 from jecluis/wip-mon-osd-replacement
mon: replace osds with `osd destroy` and `osd new`

Reviewed-by: Sage Weil <sage@redhat.com>
2017-06-06 08:25:15 -05:00
Sage Weil
162440c700 Merge pull request #15494 from liewegas/wip-20187
qa/workunits/cephtool/test.sh: fix osd full health detail grep

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-06 08:24:08 -05:00
Mykola Golub
7ce058fb12 Merge pull request #15415 from dillaman/wip-rbd-valgrind
librbd: fix valgrind errors and ensure tests detect future leaks

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-06-06 10:38:34 +03:00
Sage Weil
3f32f34082 qa/workunits/cephtool/test.sh: fix osd full health detail grep
This changed with the switch to OSDMonitor doing the fullness
and pgmonitor getting disabled.

Fixes: http://tracker.ceph.com/issues/20187
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-05 14:23:12 -04:00
Joao Eduardo Luis
8ab3a1dbf5 qa/workunits: add cephtool test for new commands
Tests `ceph osd new`, `ceph osd destroy` and `ceph osd purge`.

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2017-06-05 15:31:41 +01:00
Joao Eduardo Luis
9e0d3de6b2 qa/workunits: adjust expected return on cephtool
We changed the behavior of `osd create` to return EEXIST instead of
EINVAL if an uuid exists with a different `id` than the one the user
provides.

Signed-off-by: Joao Eduardo Luis <joao@suse.de>
2017-06-05 15:31:41 +01:00
Kefu Chai
69bb53b06f qa/workunits/rados/test_health_warning: misc fixes
* do not let osd shutdown itself by enlarge osd_max_markdown_count and
  shorten osd_max_markdown_period
* do not shutdown all osds in the last test. if all osds are shutdown at
  the same time. none of them will get updated osdmap after noup is
  unset. we should leave at least one of them, so the gossip protocol
  can kick in, and populate the news to all osds.

Fixes: http://tracker.ceph.com/issues/20174
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-04 14:35:15 -04:00
Sage Weil
c38221d266 mon: implement '{mon,osd,mds} versions' and '{mon,osd,mds} count-metadata <field>'
Summarize running versions of mon, osd, and mds daemons, or similarly
tabulate daemons by any other metadata property.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-02 14:46:12 -04:00
Kefu Chai
46bf019cbe test: switch from xmlstartlet to jq
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-02 13:02:52 -04:00
Kefu Chai
30f0ae0496 qa/workunites/ceph-helpers.sh: move flush_pg_stats() here
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-02 13:02:47 -04:00
Kefu Chai
3c12465f96 qa/workunits/cephtool/test.sh: use jq instead of awk to select the require element
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-02 13:02:46 -04:00
Kefu Chai
44708d8365 qa/workunits/cephtool/test.sh: use flush_pg_stats to sync mon with osd
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-02 13:02:46 -04:00
Kefu Chai
74752505bf mgr: add a command "mgr report"
* extract send_report() out of tick() so it can be reused.
* add a commmand "mgr report-mon" for mgr, so we are able to flush the
  the mgr stats to mon actively without waiting for the tick. this
  could help with the tests.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-02 13:02:46 -04:00
Sage Weil
cd00aae1c3 qa/workunits/cephtool/test.sh: fix flush_pg_stats usage
Use a helper.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-02 13:02:45 -04:00
Kefu Chai
62d1960cb9 test: pass mon_pg_warn_min_per_osd=3 to mgr also
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-06-02 13:02:43 -04:00
Sage Weil
07ddeb24c7 qa/workunites/ceph-helpers.sh: do not bail when num_pg==0
Right after the cluster is created when the first mgr report hasn't come
in yet we will report 0 pgs.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-02 13:02:11 -04:00
Sage Weil
6bedb4c35a Merge pull request #15395 from liewegas/wip-log-entity
common/LogEntry: include EntityName in log entries

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-02 10:19:58 -05:00
Jason Dillaman
9035349037 qa: rbd valgrind tests should use failure exit code
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-06-02 08:55:08 -04:00
Sage Weil
ea5b054e65 qa/workunits/cephtool/test.sh: adjust watch test
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-01 22:22:24 -04:00
Sage Weil
2984e5a120 Merge pull request #14457 from ceph/wip-rest-flask
ceph-mgr: Implement new pecan-based rest api
2017-05-31 17:48:43 -05:00
Jason Dillaman
aa94770219 Merge pull request #15388 from idryomov/wip-krbd-fallocate-tests
qa: krbd discard/zeroout tests

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-05-31 12:38:15 -04:00
Ilya Dryomov
156cf45214 qa: krbd discard/zeroout tests
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-05-31 14:39:08 +02:00
Sage Weil
99d96c3c09 Merge pull request #15294 from liewegas/wip-osd-tree
osd: 'osd tree in|out|up|down' to filter tree results

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-05-30 08:22:35 -05:00
Sage Weil
0027a3b9be mon: add up|down|in|out filters to 'osd tree'
For example, 'ceph osd tree down' will show *just* down OSDs and their
ancestors.  \o/

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-30 08:21:16 -04:00
Sage Weil
3118d9a154 osd: replace require_*_osds flags with require_osd_release field
- OSDMap encode and decode translate between the flags and int
representations.
- OSDMap::Incremental only does decode; we do not expect to ever encode
an incremental osdmap for an old osd that sets any of these flags.
- the 'osd set' command still lets you set the jewel and kraken flags,
but not luminous.
- OSDMap::apply_incremental handles the conversion of legacy require flags
to the new field if the jewel or kraken flags have to be set before
starting the osd upgrade.
- clear out the legacy flags when we make the luminous transition only;
until then we keep using the old flag in the encoded and decoded version
(although the require_osd_release field will be accurate in memory in all
cases).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-29 21:33:17 -04:00