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>
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>
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>
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>
/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>
The CRUSH rule creation is busted (rules and buckets out of order), but
after I fix that it doesn't seem to run right anyway. Remove it.
We get the mon thrasher coverage from rados/monthrash already; I don't
think this is adding meaningful coverage for the amount of effort it takes
to maintain.
Signed-off-by: Sage Weil <sage@redhat.com>
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>
* remove tests for blank cap: this feature is not supported/implemented by AuthMonitor.
* remove cap for client.baz after done with it. so we don't have error
like: "entity client.baz exists but caps do not match" when trying to
re-set the cap of it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
This reverts commit f0653c0401.
--force is not implemented by AuthMonitor. so revert this change to test
it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
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>
test creating and entity with blank caps with and without '--force'
being specified. without '--force' they must fail with EINVAL as the
monitor will not be able to parse them.
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
We have variables with the same name that are being shared! We don't
hit any issues with it currently because the code just kind of works
even though that happens. Add a bit of new logic that relies on an
immutable return code (for instance) and we're in the woods.
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
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>