Commit Graph

869 Commits

Author SHA1 Message Date
Josh Durgin
26c7dab57e tasks: fix {testdir}/data paths
The multi-cluster branch updated these to have a '$cluster.' prefix

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-11 12:08:32 -07:00
Josh Durgin
a67a123f0c tasks/ceph.healthy: allow None as config
This is used by the pg-removal-interruption test.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-11 12:07:16 -07:00
Josh Durgin
745f7b48bd tasks/resolve_stuck_peering: fix whitespace and indentation
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-11 12:06:01 -07:00
Josh Durgin
ff942710ba tasks/resolve_stuck_peering: adjust to new ctx.manager location
This task was re-added after the multi-cluster branch merged.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-11 12:01:52 -07:00
John Spray
4ec26a9e16 Merge pull request #975 from xiaoxichen/prefix
fs/volume_client: exercise the configurable prefix and ns_prefix.

Reviewed-by: John Spray <john.spray@redhat.com>
2016-05-11 09:08:29 -05:00
John Spray
3197fe3461 Merge pull request #968 from ajarr/wip-15045
tasks/cephfs: test volume client eviction

Reviewed-by: John Spray <john.spray@redhat.com>
2016-05-11 07:23:12 -05:00
Samuel Just
a4f8dc91bc Revert "Revert "Rados: Tracker-13531-resolve stuck peering"" 2016-05-10 10:27:32 -07:00
Josh Durgin
1cb2681cd0 tasks/create_verify_lfn_objects: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:27 -07:00
Josh Durgin
a9872182d3 tasks: update ctx.ceph.conf readers to use per-cluster conf
Just use the default cluster name for now, since these tasks aren't used
for multi-cluster tests yet.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:27 -07:00
Josh Durgin
ed33f86589 tasks: add an rbd-mirror task
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>
2016-05-09 14:55:27 -07:00
Josh Durgin
bccdef6650 tasks/ceph: ignore EEXIST for the archive data dir creation
With multiple clusters this will be called multiple times.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:27 -07:00
Josh Durgin
4c2e7309db tasks/ceph: pull each mon dir only once
No need to pull all mon dirs for the host for each mon on the host.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:26 -07:00
Josh Durgin
3203b76792 tasks/ceph: only run ceph_log and valgrind_post once
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>
2016-05-09 14:55:26 -07:00
Josh Durgin
96e7724e23 tasks/ceph: make scrubbing cluster-aware
Simplify implementation by using manager and teuthology.misc methods
instead of reinventing them here.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:26 -07:00
Josh Durgin
34a58dda56 tasks/watch_notify_same_primary: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:26 -07:00
Josh Durgin
9f5b0370dd tasks/thrash_pool_snaps: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:26 -07:00
Josh Durgin
a4267dba2c tasks/repair_test: clean up manager usage, adjust to new location
Only repair_test_2 actually uses ctx, the rest of the functions only
need the manager.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 14:55:26 -07:00
Josh Durgin
6f465efa04 tasks/reg11184: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
55fe7de7be tasks/radosbench: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
39578a6a35 tasks/rados: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
563c0e99b9 tasks/populate_rbd_pool: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
691af92f67 tasks/peering_speed_test: adust for new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
645a0f5d20 tasks/osd_failsafe_enospc: adjust for new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
70db2726c5 tasks/divergent_priors*: adjust to new ctx.manager location
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
e00437ae89 tasks/ceph_objectstore_tool: use existing manager
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>
2016-05-09 11:52:00 -07:00
Josh Durgin
274d79ade3 tasks/ceph_manager: make utility_task cluster-aware
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:52:00 -07:00
Josh Durgin
3948f108a8 tasks/ceph: make restart subtask cluster-aware
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
9ad65769c7 tasks/ceph: make wait_for_mon_quorum cluster-aware
Accept a 'daemons' list like other ceph subtasks, so it can get an
optional 'cluster' setting too.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
bb76deaf57 tasks/ceph: make wait_for_osds_up cluster-aware
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
ef619062be tasks/ceph: update ctx.manager usage to ctx.managers
Not sure this function is ever used (no users in ceph-qa-suite yamls
or tasks.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
1b2087231d tasks/workunit: work with roles that include cluster
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
256ebf8a12 tasks: move find_remote to util, rename and add helper
This is a useful for any cluster-aware task.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
a3096e8600 tasks/blktrace: make cluster-aware
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>
2016-05-09 11:51:59 -07:00
Josh Durgin
bba323834b tasks/ceph_manager: make Thrasher cluster-aware
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>
2016-05-09 11:51:59 -07:00
Josh Durgin
713e717fda tasks/ceph_manager: make mount_osd_data() cluster-aware
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>
2016-05-09 11:51:59 -07:00
Josh Durgin
524e6d7a5e tasks/ceph_manager: add cluster param to write_conf()
Only used by cephfs right now, so don't bother changing callers.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:59 -07:00
Josh Durgin
ff49deb6f0 tasks/ceph_manager: simplify remote lookup, and make it cluster aware
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>
2016-05-09 11:51:59 -07:00
Josh Durgin
141c73d399 tasks/ceph_manager: parameterize CephManager with cluster
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>
2016-05-09 11:51:58 -07:00
Josh Durgin
05bddf9076 tasks/thrashosds: adjust to per-cluster managers
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:58 -07:00
Josh Durgin
b88d595571 tasks/thrashosds: add an option to specify the cluster to thrash
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>
2016-05-09 11:51:58 -07:00
Josh Durgin
0acbafe371 tasks/ceph: store cluster config in a per-cluster dict
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:58 -07:00
Josh Durgin
25ff14af74 tasks/ceph: create a CephManager per cluster
Thrashings tasks will be updated to use ctx.managers indexed by
cluster later.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:58 -07:00
Josh Durgin
d135470305 tasks/ceph: make healthy() cluster-aware
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>
2016-05-09 11:51:58 -07:00
Josh Durgin
b0dd04736e tasks/ceph: make cephfs_setup() cluster-aware
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>
2016-05-09 11:51:58 -07:00
Josh Durgin
4409710102 tasks/ceph: make crush_setup() cluster-aware
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:58 -07:00
Josh Durgin
e19e9e2fa3 tasks/ceph: adapt to cluster-aware daemon.resolve_role_list
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:57 -07:00
Josh Durgin
26b8a1f3ac tasks/ceph: make run_daemon() cluster-aware
Pass --cluster where appropriate and include the full role in file
names.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:57 -07:00
Josh Durgin
a54ff597fa tasks/ceph: convert cluster creation to work with multiple clusters
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>
2016-05-09 11:51:57 -07:00
Josh Durgin
466678b980 tasks/ceph_client: add cluster param
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-05-09 11:51:57 -07:00
Xiaoxi Chen
42f63dc6a6 fs/volume_client: exercise the configurable prefix and ns_prefix.
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>
2016-05-09 17:13:45 +08:00