This simply runs the rbd-mirror daemon. Nothing special is needed
since the runtime files (logs, asok, etc) go to the standard ceph
locations.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
These setup and parse logs on all hosts, so they should be run only
for the first cluster setup. This cluster will be torn down last, so
the cleanup happens after all clusters are shutdown as well.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
This is only used after the ceph task, which already createds a
manager for the cluster. Use the default 'ceph' cluster manager for
now.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Need to adjust to lookup devices by role rather than id, so might as
well add a cluster config option while we're at it. Remove the
confusing default config that is not actually used.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Just a few spots need to know to lookup only osds in this cluster, or
prefix a filename with the cluster. Use CephManager.find_remote() to
avoid a bunch of repetition and look only in the intended cluster.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Use a cluster-specific mount point, and address osds by full role,
rather than just id, in the ctx.disk_config structures.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Re-implement find_remote() using ctx.cluster.only() with a matcher
function that includes the manager's cluster, and use it instead of
miscellaneous ctx.cluster.only() calls elsewhere.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Add --cluster arguments, pass cluster to get_daemon() and
iter_daemons_of_role, replace 'ceph' with cluster in paths, and use
ctx.ceph[cluster] instead of ctx.ceph.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Thrashing must be aware of the cluster it is using, since it maintains
some invariants (e.g. enough osds up when waiting to recover).
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
ceph.healthy may be used as a standalone task, so it may not always
have the cluster name in its configuration.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Note that cephfs tests using the Filesystem abstractions will need to
be converted to understand multiple clusters later. This just updates
the ceph task portion.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Add a cluster option to the ceph task, and pass that through to
cluster(). Make sure monitors and clients don't collide by adding
their cluster to paths they use.
This assumes there is one ceph task per cluster, and osds from
multiple clusters do not share hosts (or else the block device
assignment won't work).
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Also ensure namespace_prefix and vol_prefix are set to default values
if they are not explicitly passed.
Fixes#15417
Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>