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>
The format of the output of --op list was changed to include the PG to
which the object belong. It simplifies the loop in
ceph_objectstore_tool.py.
http://tracker.ceph.com/issues/10376Fixes: #10376
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Create an erasure coded pool and run tests on it. The list of PGs is
adapted to contain the shard id.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Instead of hardcoding 12 use a configuration option that defaults to
12. It is handy during development to lower the number to 4 and speed up
the test cycle.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Move code out of the task into function. Also remove the "REP" specifics
from helper functions that could also be used for erasure coded pools.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
When an hinfo_key attribute is found, assume an erasure coded object and
verify set-attr/get-attr works as expected by removing its content and
restoring it.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
For erasure coded pools to be tested, the json object representation
must be preserved for all PG because they are all different. The
internal representation is changed from
db[name]["pgid"] = pg
db[name]["json"] = objjson
to a per pg map:
db[name].setdefault("pg2json", {})[pg] = objjson
and the rest of the code is modified to adapt accordingly.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Based on ceph/src/test/ceph_objectstore_tool.py but only does
replicated pool testing and doesn't test argument validation.
Signed-off-by: David Zafman <david.zafman@inktank.com>