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>
Test whether the CephFSVolumeClient can evict a client based on its
auth ID and the volume path it has mounted.
Fixes: http://tracker.ceph.com/issues/15045
Signed-off-by: Ramana Raja <rraja@redhat.com>
The mount points of the test clients were created based on the auth
ID they used. So two clients using the same auth ID could not create
different mount points in a straight forward way. Expose the
directory name of the mount point as a public attribute allowing
client mount points to be easily changed whenever needed.
Signed-off-by: Ramana Raja <rraja@redhat.com>