Commit Graph

187 Commits

Author SHA1 Message Date
David Zafman
b239dadc02 ceph_manager: Fix Thrasher kill_osd() to ignore pool going away
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-21 09:08:44 -08:00
David Zafman
4eda2967a4 ceph_manager: Thrasher fixes to run() calls to set check_status = False
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-21 09:08:44 -08:00
David Zafman
e0b0d41e4c ceph_manager: Re-enable Thrasher ceph-objectstore-tool testing
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-21 09:08:44 -08:00
David Zafman
4a195c78c1 ceph_manager: In Thrasher randomly remove past intervals
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-21 09:08:44 -08:00
David Zafman
f9e088fcbc ceph_manager: In Thrasher disable ceph_objectstore_tool tests if old release missing command
Require ceph-objectstore-tool to be available on all OSD nodes
Log a message when tool is not available

Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-21 09:08:44 -08:00
John Spray
2c1cef6b5d tasks/mds_journal_repair: add test_table_tool
Explicit test of the tool's various modes, to
complement the places it's used in other tests.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-19 19:36:34 +00:00
John Spray
bf13a4e062 tasks/mds_journal_repair: create new test
This tests the new #9883 repair functionality
where we selectively scrape dentries out of
the journal while the MDS is offline.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-19 19:36:34 +00:00
Andrew Schoen
b1d9f602c4 Merge pull request #288 from dmick/master
Tweaks to calamari-setup
2015-01-15 16:01:30 -06:00
Loic Dachary
74bef7f488 Merge pull request #291 from dachary/wip-10018-scrub
add erasure code repair / scrub tests (take 2)

Reviewed-by: David Zafman <dzafman@redhat.com>
2015-01-14 09:29:19 +01:00
Loic Dachary
e580eca3e3 repair_test: hinfo_key error injection
Add a function dedicated to erasure coded pools tests, similar to
repair_test_1. Add a corrupter that removes the hinfo_key from the object.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 12:31:15 -08:00
Loic Dachary
ae68658339 ceph_manager: add ceph-objectstore-tool wrapper
Add the CephManager.objectstore_tool method to encapsulate a call to
ceph-objectstore-tool. The wrapper can convert an object name into the
PG id and figure out the primary OSD. The designated OSD is stopped
before running the command and restarted afterwards.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 12:31:15 -08:00
Loic Dachary
0465c0c53f ceph_manager: add object helpers
Add CephManager.methods to get information regarding the pools and PGs
used to store a given object.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 12:31:15 -08:00
Loic Dachary
f3bd336dbe repair_test: rework indentation to make it pep8 clean
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 12:31:15 -08:00
Loic Dachary
f08d95a5ea repair_test: rework to remove levels of indirection
The commit is large but does not introduce any semantic change and
consists primarily in code moving around, re-indented and removed.

Replace functions generating functions by functions and sequentially
iterating over a list of functions with a sequential call to the
functions.

Replace the setup/teardown with an equivalent using a with
statement and the ceph_manager.pool method.

Replace inline code with a call to ceph_manager.wait_for_all_up

It makes it easier to modify the tests, for instance to create erasure
coded pools and tests specific to them.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 12:31:15 -08:00
Loic Dachary
bd4926c4ac ceph_manager: rework indentation to make it pep8 clean
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 20:22:33 +01:00
Loic Dachary
50e7e6df2b ceph_manager: fix docstring typo
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 20:18:25 +01:00
Loic Dachary
7234481bae ceph_manager: define pool context
To create a pool before running a code bloc and remove it after.

   with manager.pool("mypool"):
        mytest..

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 20:18:25 +01:00
David Zafman
7029dba08a Revert "add erasure code repair / scrub tests" 2015-01-13 11:12:25 -08:00
Warren Usui
f36b171816 Merge pull request #286 from ceph/wip-10261-wusui
Calamari_setup now allows > 1 mon.
2015-01-13 10:57:31 -08:00
Loic Dachary
01174518b8 repair_test: hinfo_key error injection
Add a function dedicated to erasure coded pools tests, similar to
repair_test_1. Add a corrupter that removes the hinfo_key from the object.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 15:07:47 +01:00
Loic Dachary
236049b27d ceph_manager: add ceph-objectstore-tool wrapper
Add the CephManager.objectstore_tool method to encapsulate a call to
ceph-objectstore-tool. The wrapper can convert an object name into the
PG id and figure out the primary OSD. The designated OSD is stopped
before running the command and restarted afterwards.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 15:07:43 +01:00
Loic Dachary
372665d1ec ceph_manager: add object helpers
Add CephManager.methods to get information regarding the pools and PGs
used to store a given object.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 14:42:19 +01:00
Loic Dachary
f3a91d2ecd repair_test: rework indentation to make it pep8 clean
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 14:42:15 +01:00
Loic Dachary
9203259ec3 repair_test: rework to remove levels of indirection
The commit is large but does not introduce any semantic change and
consists primarily in code moving around, re-indented and removed.

Replace functions generating functions by functions and sequentially
iterating over a list of functions with a sequential call to the
functions.

Replace the setup/teardown with an equivalent using a with
statement and the ceph_manager.pool method.

Replace inline code with a call to ceph_manager.wait_for_all_up

It makes it easier to modify the tests, for instance to create erasure
coded pools and tests specific to them.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 14:37:35 +01:00
Loic Dachary
764f6159ba ceph_manager: rework indentation to make it pep8 clean
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 14:37:35 +01:00
Loic Dachary
1f14626b04 ceph_manager: fix docstring typo
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 14:37:35 +01:00
Loic Dachary
666aecc121 ceph_manager: define pool context
To create a pool before running a code bloc and remove it after.

   with manager.pool("mypool"):
        mytest..

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-01-13 14:37:35 +01:00
David Zafman
e2494c5050 Fix objectstore name changed to keyvaluestore
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-13 14:37:35 +01:00
David Zafman
7d4bb5529c ceph_manager: Fix Thrasher kill_osd() to ignore pool going away
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-13 14:37:35 +01:00
David Zafman
cf8bc063d5 ceph_manager: Thrasher fixes to run() calls to set check_status = False
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-13 14:37:35 +01:00
David Zafman
1903b7bee0 ceph_manager: Re-enable Thrasher ceph-objectstore-tool testing
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-13 14:37:35 +01:00
David Zafman
b6f7b17b5c ceph_manager: In Thrasher randomly remove past intervals
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-13 14:37:35 +01:00
David Zafman
0df5e84b69 ceph_manager: In Thrasher disable ceph_objectstore_tool tests if old release missing command
Require ceph-objectstore-tool to be available on all OSD nodes
Log a message when tool is not available

Signed-off-by: David Zafman <dzafman@redhat.com>
2015-01-13 14:37:35 +01:00
Dan Mick
4c27048b12 tasks/calamari_setup: build ice-tools virtualenv if building iceball
ice-tools needs a virtualenv populated to properly run to build
an iceball; add the commands to do that.  Also remove the built
iceball when the task exits.

Fixes: #10523
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2015-01-12 19:56:58 -08:00
Dan Mick
bbe22d2fde tasks/calamari_setup: remove HTTP-downloaded iceball, if any
Fixes: #10522
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2015-01-12 19:56:58 -08:00
Dan Mick
4377f00bac tasks/calamari_setup: use ice_version to completely specify iceball
Previously, the task would search for the lexicographically-greatest
filename matching ICE-*.tar.gz; now it builds a specific name
ICE-{ice_version}-{ice_distro}.tar.gz

Fixes: #10521
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2015-01-12 19:56:58 -08:00
Warren Usui
1f557c566c Calamari_setup now allows > 1 mon.
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Fixes: #10261
2015-01-09 16:10:11 -08:00
John Spray
b1e35a4237 tasks/mds_auto_repair: remove unneeded log settings
The small segments and small segment limit
were used when doing a hacky flush by doing
IO and waiting: now that we have the explicit
'flush journal' asok in use, we can just use
a normal journal configuration.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:53 +00:00
John Spray
997c0c3d62 tasks/cephfs: remove config from Filesystem cons
This was only used in get_first_mon, which doesn't actually
need the parameter itself.  Makes it easier to casually
use Filesystem from any place with a ctx to hand.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:53 +00:00
John Spray
4ff4819573 tasks/cephfs: umount unused clients before running
When unused clients were mounted during an fs new,
they would end up in a state where they stalled
on subsequent attempts to umount them (ceph-fuse
stalls on exit if it can't terminate its mds_session)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:52 +00:00
John Spray
8630c4ab3b tasks/cephfs: move ROOT_INO into filesystem module
...so that other tests can get at it.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:52 +00:00
John Spray
5e3f5766d0 tasks/cephfs: be more precise in set_clients_block
Instead of blocking the whole port range (which
might make OSDs running on that node collateral
damage), read the MDS's port out of the MDS map
and just block that.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:52 +00:00
John Spray
951d6c297d tasks/cephfs: use set_conf() from test case class
...because this is the one that will store up
changes to roll back during teardown.

Doing this makes it easy to run lots of test cases
togeher in a single teuthology run, raher than
setting up/tearing down the ceph cluster for each
on.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:52 +00:00
John Spray
cfbc277c1f tasks/cephfs: move common setUp/tearDown to parent
Now that we have more of these cases, there was lots
of duplication in setup and teardown.  For some tests
the "reset everything" setup/teardown is overkill,
but it's harmless.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:09:51 +00:00
John Spray
6d79e3918b tasks/cephfs: move wait_until helpers to testcase
...so that other test cases can use them

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:08:09 +00:00
John Spray
213641f315 tasks/ceph: update mds auth caps to 'allow *'
Since the new 'tell' for the MDS was introduced,
caps have to have the '*' to permit running remote
administrative commands.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-09 10:07:34 +00:00
Andrew Schoen
5644a320a5 Use qemu-kvm in the qemu task for rpm based systems.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2015-01-08 14:31:26 -06:00
Gregory Farnum
574be5ba55 Merge pull request #280 from ceph/wip-10387-cleanup
tasks/mds_flush: remove #10387 workaround

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-01-07 20:05:07 -08:00
Zack Cerza
31ff241f5a Inherit teuthology's log level
Signed-off-by: Zack Cerza <zack@redhat.com>
2015-01-07 09:53:38 -07:00
John Spray
f6bcbe3701 tasks/mds_flush: remove #10387 workaround
Now that #10387 is fixed in master, we can tighten
up this test to ensure that the expected deletions
are happening.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-01-07 14:31:47 +00:00