Commit Graph

12 Commits

Author SHA1 Message Date
David Zafman
6923e68dac ceph_objectstore_tool: minor fixes
Remove development comment
nullfd isn't used anymore
s/log.errors/log.error/

Signed-off-by: David Zafman <dzafman@redhat.com>
2014-11-20 22:38:26 +01:00
David Zafman
a09d3a389d ceph_objectstore_tool: fix flake8 issues
Signed-off-by: David Zafman <dzafman@redhat.com>
2014-11-20 22:38:26 +01:00
David Zafman
f10edda4bc ceph_objectstore_tool: add assert so that teuthology knows when this test fails
Signed-off-by: David Zafman <dzafman@redhat.com>
2014-11-20 22:38:25 +01:00
Loic Dachary
9a089ef369 ceph_objectstore_tool: skip unused osds
When the number of objects is low, some OSDs may not be used at all.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-11-20 22:38:25 +01:00
Loic Dachary
be39bd5d84 ceph_objectstore_tool: run tests on erasure coded pools
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>
2014-11-20 22:38:25 +01:00
Loic Dachary
fbb33f3577 ceph_objectstore_tool: only run get/set bytes for replicated pools
It needs to be adapted to run with erasure coded pools.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-11-20 22:38:25 +01:00
Loic Dachary
2b57f4c59c ceph_objectstore_tool: use CephManager::get_pool_dump
Instead of custom made get_pool_id function.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-11-20 22:38:25 +01:00
Loic Dachary
d0caf5cdff ceph_objectstore_tool: add pgnum option
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>
2014-11-20 22:38:25 +01:00
Loic Dachary
c9e6edebd9 ceph_objectstore_tool: encapsulate into a function
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>
2014-11-20 22:38:25 +01:00
Loic Dachary
d591226373 ceph_objectstore_tool: add hinfo_key tests for erasure coded objects
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>
2014-11-20 22:38:25 +01:00
Loic Dachary
9ef8887a3b ceph_objectstore_tool: keep all json object representation
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>
2014-11-20 22:38:25 +01:00
David Zafman
9ade22dd34 ceph_objectstore_tool: Add task for testing of tool of the same name
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>
2014-08-30 16:20:22 -07:00