Commit Graph

76291 Commits

Author SHA1 Message Date
Kefu Chai
8a3876049d Merge pull request #16528 from tchaikov/wip-ceph-release-notes
tools: ceph-release-notes: escape _ for unintended links

Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
2017-07-26 23:03:01 +08:00
David Zafman
c9a5e47067 Merge pull request #16404 from dzafman/wip-20041
osd: scrub_to specifies clone ver, but transaction include head write…

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-07-26 07:59:43 -07:00
xie xingguo
15085fcf72 doc/rados/operations/crush-map: s/die/dice/
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:43:04 +08:00
xie xingguo
1fb05559e8 mon/OSDMonitor: be more helpful for new weight-set CLI users
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:42:58 +08:00
xie xingguo
23f30ec752 doc/release-notes: update device-class cli family
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:42:23 +08:00
xie xingguo
1ed72c3e86 test/crush: fix memory leak
use unique_ptr<> instead, otherwise static analyzer will complain.
as ASSERT_EQ will bail out without executing delete c

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:41:33 +08:00
xie xingguo
e75465fdac test/crush: kill dead class_is_in_use test
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:41:17 +08:00
xie xingguo
076a6abd80 crush: kill 'class rename'
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:40:50 +08:00
xie xingguo
a27fd9d25c crush: kill "class create" command
The device class is now self and automatically managed.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:40:17 +08:00
xie xingguo
edd8930346 crush: allow "crush class rm" to automatically recycle shadow tree(s)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:39:41 +08:00
xie xingguo
9d908c14f6 crush: rm-device-class support
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:39:08 +08:00
xie xingguo
983fa20c5a crush: tidy up class_map on remove_root()
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:38:11 +08:00
xie xingguo
397a2987a7 crush: implement find_shadow_roots
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:36:25 +08:00
xie xingguo
4b898951c1 crush: use is_shadow_item() wrapper if possible
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:35:15 +08:00
xie xingguo
1b87784f49 crush: reuse find_roots to implement find_nonshadow_roots
to reduce code redundance...

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:34:51 +08:00
xie xingguo
32fb548797 crush: guard set-device-class
If a device has already been bounded to a class,
do not allow to change its class silently.
Require user call rm-device-class first.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:34:08 +08:00
xie xingguo
e4e83a0dd7 crush: fix class_is_in_use()
A class can be considered as in-use only if it is referenced by
any of the existing crush rules.

The patch also makes the output more human readable. For example:

./bin/ceph osd crush rule create-replicated myrule default host ssd
./bin/ceph osd crush class rm ssd
Error EBUSY: class 'ssd' still referenced by crush_rule 'myrule'

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:31:39 +08:00
xie xingguo
f3a3180cca crush: rebuild shadow tree on "crush create-or-move/move"
This patch solves the problem below:

./bin/ceph osd crush move osd.0 root=foo rack=foo-rack host=foo-host
moved item id 0 name 'osd.0' to location {host=foo-host,rack=foo-rack,root=foo} in crush map

 ./bin/ceph osd crush rule create-replicated foo-rule foo host ssd
Error EINVAL: root foo has no devices with class ssd

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:30:59 +08:00
xie xingguo
10bf2a633f crush: fix "crush create-or-move/move" would drop osd's class
Was:
     ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -1       3.00000 root default
    -2       3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     0   ssd 1.00000         osd.0                                         up  1.00000 1.00000
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

    ./bin/ceph osd crush move osd.0 root=foo rack=foo-rack  host=foo-host
    moved item id 0 name 'osd.0' to location {host=foo-host,rack=foo-rack,root=foo} in crush map

     ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -7       1.00000 root foo
    -6       1.00000     rack foo-rack
    -5       1.00000         host foo-host
     0       1.00000             osd.0                                     up  1.00000 1.00000
    -1       2.00000 root default
    -2       2.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

    Now:
    ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -1       3.00000 root default
    -2       3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     0   ssd 1.00000         osd.0                                         up  1.00000 1.00000
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

    ./bin/ceph osd crush move osd.0 root=foo rack=foo-rack  host=foo-host
    moved item id 0 name 'osd.0' to location {host=foo-host,rack=foo-rack,root=foo} in crush map

    ./bin/ceph osd tree
    ID CLASS WEIGHT  TYPE NAME                                        UP/DOWN REWEIGHT PRI-AFF
    -7       1.00000 root foo
    -6       1.00000     rack foo-rack
    -5       1.00000         host foo-host
     0   ssd 1.00000             osd.0                                     up  1.00000 1.00000
    -1       2.00000 root default
    -2       2.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
     1   ssd 1.00000         osd.1                                         up  1.00000 1.00000
     2   ssd 1.00000         osd.2                                         up  1.00000 1.00000

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:30:26 +08:00
xie xingguo
6af733464a mon/OSDMonitor: optional show-shadow for "crush tree" command
./bin/ceph osd crush tree --show-shadow
ID WEIGHT  TYPE NAME
-4 3.00000 root default~ssd
-3 3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic~ssd
 0 1.00000         osd.0
 1 1.00000         osd.1
 2 1.00000         osd.2
-1 3.00000 root default
-2 3.00000     host gitbuilder-ceph-rpm-centos7-amd64-basic
 0 1.00000         osd.0
 1 1.00000         osd.1
 2 1.00000         osd.2

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-26 22:30:04 +08:00
Sage Weil
742005bd75 Merge pull request #16579 from liewegas/wip-fix-nonregression
qa/suites/rados/singleton/all/erasure-code-nonregression: fix typo

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Amik Kumar <amitkuma@redhat.com>
2017-07-26 08:46:43 -05:00
Abhishek Lekshmanan
4a3c8278e1 doc: update the rados namespace docs
Since last update was as of firefly and we use namespaces in RGW

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
2017-07-26 15:43:09 +02:00
Sage Weil
c1bdd36d8f qa/workunits/erasure-code/encode-decode-nonregression: do not require git checkout
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-26 09:35:46 -04:00
Radoslaw Zarzynski
e9a7871630 rgw: fix the UTF8 check on bucket entry name in rgw_log_op().
Fixes: http://tracker.ceph.com/issues/20779
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-07-26 09:27:45 -04:00
Sage Weil
35f096ed19 Merge pull request #16580 from liewegas/wip-20767
pybind/mgr/zabbix: fix health in non-compat mode

Reviewed-by: Wido den Hollander <wido@widodh.nl>
2017-07-26 08:24:00 -05:00
Alfredo Deza
1ef25e9d58 Merge pull request #16573 from liewegas/wip-osd-manual
doc/install/manual-deployment: update osd creation steps

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2017-07-26 09:19:17 -04:00
Jason Dillaman
fb638155df rbd-mirror: initialize timer context pointer to null
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:52:24 -04:00
dingdangzhang
d092784098 bluestore/BlueFS: pass string as const ref
Signed-off-by: dingdangzhang <boqian.zy@alibaba-inc.com>
2017-07-26 20:44:44 +08:00
David Zafman
20fee153ca test: Fixes for test_pidfile
Add a short delay for one test
Fix test that had unreliable log output

Fixes: http://tracker.ceph.com/issues/20770

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-07-26 05:36:38 -07:00
Liyan
f2e98210a2 test: tride_size must be more than min_stride_size
Fixes: http://tracker.ceph.com/issues/20775
Signed-off-by: Lianne Wang <liyan.wang@xtaotech.com>
2017-07-26 08:27:32 -04:00
Radoslaw Zarzynski
06f18c163e rgw: rgw_website.h doesn't assume inclusion of the std namespace anymore.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-07-26 08:23:58 -04:00
Radoslaw Zarzynski
6318b4990f rgw: never let http_redirect_code of RGWRedirectInfo to stay uninitialized.
Fixes: http://tracker.ceph.com/issues/20774
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2017-07-26 08:23:58 -04:00
Sage Weil
841f3bdf92 qa/workunits: adjust path to ceph-helpers.sh
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-26 08:08:01 -04:00
Jason Dillaman
5d6eebcf26 Merge pull request #14868 from wangzhengyong/librbd
librbd: add compare and write API

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:00:57 -04:00
Jason Dillaman
d36cb4ec7e test/librbd: fixed compiler warnings
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:00:06 -04:00
Jason Dillaman
5837977006 test/librbd: improved compare_and_write testing
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
c8698edd54 test/librbd: add compare_and_write test for fsx
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
52e3abd8b7 test/librbd: add compare_and_write testcase
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
ad10d615e6 test/librbd: add Mock Image cache for compare_and_write
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
da6bbe5ce6 test/librbd: handle compare_and_write op in test_mock_Replay
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
971ff26ed2 librbd/journal: handle compare_and_write event
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
5891b57a6f test/librbd: handle cmpext request in LibradosTestStub
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
e70d48933c librbd: add compare_and_write/aio_compare_and_write API
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
789c05336e librbd: add compare_and_write perfcounter
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:06 -04:00
wangzhengyong
ead121bf9e librbd: handle compare_and_write imagerequest in ImageRequestWQ
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:05 -04:00
wangzhengyong
d201c850de librbd: add compare_and_write ImageRequest
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:05 -04:00
wangzhengyong
cd61316857 librbd: add CompareAndWrite ObjectRequest
Signed-off-by: Zhengyong Wang <wangzhengyong@cmss.chinamobile.com>
2017-07-26 08:00:05 -04:00
Sage Weil
fa1b19d9a5 Merge pull request #16595 from wjwithagen/wip-wjw-freebsd-run-standalone
qa: make run-standalone work on FreeBSD

Reviewed-by: Sage Weil <sage@redhat.com>
2017-07-26 06:58:37 -05:00
Kefu Chai
a16ca787a8 mon/MonClient: do not send_log if conn is not active anymore
the log message to be sent will be appended to waiting_for_session
instead. but we will send the logs anyway when the MonClient is
authorized with the new connection. so, avoid doing this as it's not
necessary.

also refactor the schedule_tick() call into a scope_guard, so it is
always called upon the return of the tick() method.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-07-26 07:53:40 -04:00
Sage Weil
d466bc6e66 mon/MonClient: un-backoff on tick when we have a authenticated session
This means that if we do some backoff, then authenticate, and are healthy
for an extended period of time, a subsequent failure won't leave us
starting our hunting sequence with a large backoff.

Fixes: http://tracker.ceph.com/issues/20371
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-26 07:53:31 -04:00