Commit Graph

36 Commits

Author SHA1 Message Date
Sage Weil
e715533feb qa/workunits/*: require-osd-release mimic, not luminous
Signed-off-by: Sage Weil <sage@redhat.com>
2017-09-07 09:18:56 -04:00
Sage Weil
1ae70df392 Merge pull request #17329 from xiexingguo/wip-21162
mon/OSDMonitor: make 'osd crush rule rename' idempotent

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-29 15:58:21 -05:00
Yuri Weinstein
f4c4a9d90c Merge pull request #17125 from xiexingguo/wip-add-bucket-with-loc
mon/OSDMonitor: add location option for "crush add-bucket" command

Reviewed-by: Sage Weil <sage@redhat.com>
2017-08-29 09:12:43 -07:00
xie xingguo
cd2191c3f1 mon/OSDMonitor: make 'osd crush rule rename' idempotent
Fixes: http://tracker.ceph.com/issues/21162
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-08-29 08:29:13 +08:00
Kefu Chai
30b5b4627c Merge pull request #16494 from asomers/bin_bash
misc: Fix bash path in shebangs

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-08-27 10:14:14 +08:00
xie xingguo
ac36b471a3 mon/OSDMonitor: add location option for "crush add-bucket" command
So we can combine "crush add-bucket" with "crush move" command,
and hence avoid making two separate changes to the osdmap,
and hence slow down map-epoch generation.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-08-22 10:39:03 +08:00
xie xingguo
7c67f95201 crush, mon: "ceph osd crush rule ls-by-class" support
This command returns all crush rules that are currently
referencing the device class specified by user.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-08-17 13:34:36 +08:00
xie xingguo
a5075ed253 mon: "ceph osd crush rule rename" support
User may specify a rule with the same name of the pool that it serves.
Since a pool can be renamed, so does the rule.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-08-15 17:01:26 +08:00
Sage Weil
9c42597f09 qa/workunits/mon/crush_ops.sh: test weight sets vs device classes
Signed-off-by: Sage Weil <sage@redhat.com>
2017-08-11 09:40:11 -04:00
Kefu Chai
007095b7ae qa/workunits/mon/crush_ops.sh: remove existing dev class before setting it
we cannot overwrite existing dev class, and "osd_class_update_on_start"
is true by default (see 0c885d6). so we should remove all device classes before
setting them.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-08-03 17:26:26 -04:00
Alan Somers
3aae5ca6fd scripts: fix bash path in shebangs
/bin/bash is a Linuxism.  Other operating systems install bash to
different paths.  Use /usr/bin/env in shebangs to find bash.

Signed-off-by: Alan Somers <asomers@gmail.com>
2017-07-27 13:24:26 -06: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
Sage Weil
09b89ace82 qa/workunits/mon/crush_ops.sh: fix in-use rule removal test
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-21 13:50:57 -04:00
Sage Weil
fac1de8259 qa/workunits/mon/crush_ops: require luminous clients for test
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-21 13:50:57 -04:00
Sage Weil
70263dae67 mon: 'osd crush weight-set {ls,dump,create[-compat],rm[-compat],reweight[-compat]}' commands
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-21 13:50:52 -04:00
Sage Weil
95c07fbe96 Merge pull request #16014 from xiexingguo/wip-autoclass
osd/OSD: auto class on osd start up

Reviewed-by: Sage Weil <sage@redhat.com>
2017-07-13 10:50:45 -05:00
xie xingguo
7d07356383 crush: fix potential weight overflow
E.g.:
./bin/ceph osd crush reweight osd.0 32768

ID WEIGHT      TYPE NAME                                            UP/DOWN REWEIGHT PRIMARY-AFFINITY
-4 32770.00000 root default~hdd
-3           -     host gitbuilder-ceph-rpm-centos7-amd64-basic~hdd
 0           -         osd.0                                             up  1.00000          1.00000
 1     1.00000         osd.1                                             up  1.00000          1.00000
 2     1.00000         osd.2                                             up  1.00000          1.00000
-1 32770.00000 root default
-2           -     host gitbuilder-ceph-rpm-centos7-amd64-basic
 0           -         osd.0                                             up  1.00000          1.00000
 1     1.00000         osd.1                                             up  1.00000          1.00000
 2     1.00000         osd.2                                             up  1.00000          1.00000

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-10 11:23:36 +08:00
xie xingguo
c5b99afa73 test: fix ut and release-notes
To keep pace with the newly merged https://github.com/ceph/ceph/pull/16027

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-10 08:55:15 +08:00
Sage Weil
7f18184f63 qa/workunits/mon/crush_ops.sh: require luminous before using device classes
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-06 15:01:03 -04:00
Sage Weil
8fb2517057 erasure-code: implement 'crush-device-class' ec profile property
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-06 15:01:03 -04:00
Sage Weil
5a4ba443c4 mon,crush: 'osd crush rule create-replicated ...'
New command to create crush rule that specifies a class of device.  Plus
all of the fallout in other callers to the CrushWrapper helpers, the
crushtool cli change, and cli test.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-06 15:00:37 -04:00
Sage Weil
abad4772e0 osd: replicated_ruleset -> replicated_rule
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-20 17:45:59 -04:00
Sage Weil
47956475de mon/OSDMonitor: make 'osd crush move ...' work on osds
Currently it only allows you to move buckets, which is annoying and much
less useful.  To move an OSD you need to use create-or-move, which is
harder to use.

Fixes: http://tracker.ceph.com/issues/18587
Signed-off-by: Sage Weil <sage@redhat.com>
2017-01-19 06:54:54 -06:00
Sage Weil
3d591afef9 mon: prevent bucket deletion when referenced by a rule
If a rule references a bucket with 'take', prevent deletion.

Fixes: #11602
Signed-off-by: Sage Weil <sage@redhat.com>
2015-05-12 16:37:56 -07:00
Sage Weil
576315ac15 mon/OSDMonitor: add 'osd crush reweight-subtree ...'
Reweight all items within a subtree.  For example, you might reweigh tall
OSDs within a rack to a new value.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-05-27 15:42:08 -07:00
Sage Weil
772968e60b mon/OSDMonitor: disallow crush buckets of type 0
Prevent creation of buckets of type 0 ('osd', 'device', etc.), as they
will confusing the mapping algorithm.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-03-05 13:15:58 -08:00
Sage Weil
ca12e0d92e qa/workunits/mon/crush_ops: use expect_false
Signed-off-by: Sage Weil <sage@inktank.com>
2014-03-05 12:52:08 -08:00
Sage Weil
250ecf6655 qa/workunits/mon/crush_ops.sh: fix in-use rule rm test
Signed-off-by: Sage Weil <sage@inktank.com>
2013-12-28 10:22:18 -08:00
Sage Weil
c8cae87e9e qa/workunits/mon/crush_ops.sh: fix test
Fix root.

Fixes: #6392
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-25 10:10:21 -07:00
Sage Weil
3de32562b5 mon/OSDMonitor: fix 'ceph osd crush reweight ...'
The adjust method returns a count of adjusted items.

Add a test.

Fixes: #6382
Backport: dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-09-24 15:26:03 -07:00
Joao Eduardo Luis
3bc618b7b4 qa: workunits: mon: crush_ops: test 'ceph osd crush move'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-09-10 00:29:19 +01:00
Sage Weil
9a7ed0b3f8 mon: fix idempotency of 'osd crush add'
If we add an item that already exists in particular position, we should
update instead of inserting it; the CrushWrapper methods are not
idempotent.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-06-13 14:42:05 -07:00
Sage Weil
29f9db1980 mon: fix crush unit tests for idempotency
Signed-off-by: Sage Weil <sage@inktank.com>
2013-04-03 15:45:34 -07:00
Sage Weil
3f2e71169a mon: fix crush_ops.sh tests
Make it work.  Also, make note that these aren't handled idempotently by
the mon currently.  Doh!

Signed-off-by: Sage Weil <sage@inktank.com>
2013-03-26 22:47:37 -07:00
Sage Weil
eae1532ca1 mon, crush: add some tests to build a DAG via the cli
Signed-off-by: Sage Weil <sage@inktank.com>
2013-03-22 15:15:38 -07:00
Sage Weil
b79067a863 qa: add workunits/mon/crush_ops.sh
Test creating, listing, removing crush rules via the mon.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-02-05 14:31:13 -08:00