Commit Graph

146 Commits

Author SHA1 Message Date
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
Sage Weil
3960530b7d Revert "Move output in task/s3readwrite"
This reverts commit 26a33c3a5a.

This is tryign to create the archive dir on the remote host:

2014-12-29T12:15:30.213 INFO:teuthology.orchestra.run.plana31:Running: 'mkdir -p /var/lib/teuthworker/archive/sage-2014-12-29_11:40:52-rgw-next---basic-multi/683052'
2014-12-29T12:15:30.231 ERROR:teuthology.contextutil:Saw exception from nested tasks
Traceback (most recent call last):
  File "/home/teuthworker/src/teuthology_master/teuthology/contextutil.py", line 28, in nested
    vars.append(enter())
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/var/lib/teuthworker/src/ceph-qa-suite_next/tasks/s3readwrite.py", line 241, in run_tests
    ctx.cluster.only(client).run(args=['mkdir', '-p', archive_dir])
  File "/home/teuthworker/src/teuthology_master/teuthology/orchestra/cluster.py", line 64, in run
    return [remote.run(**kwargs) for remote in remotes]
  File "/home/teuthworker/src/teuthology_master/teuthology/orchestra/remote.py", line 128, in run
    r = self._runner(client=self.ssh, name=self.shortname, **kwargs)
  File "/home/teuthworker/src/teuthology_master/teuthology/orchestra/run.py", line 368, in run
    r.wait()
  File "/home/teuthworker/src/teuthology_master/teuthology/orchestra/run.py", line 106, in wait
    exitstatus=status, node=self.hostname)
CommandFailedError: Command failed on plana31 with status 1: 'mkdir -p /var/lib/teuthworker/archive/sage-2014-12-29_11:40:52-rgw-next---basic-multi/683052'

...but it should only be on the local host.
2014-12-29 12:39:26 -08:00
Sage Weil
0220cbb717 Revert "tasks/ceph_manager: dump raw cluster command at debug level"
This reverts commit b0ebeba79c.
2014-12-23 12:57:18 -08:00
Sage Weil
b0ebeba79c tasks/ceph_manager: dump raw cluster command at debug level
Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-23 10:35:55 -08:00
John Spray
7696afd3fa tasks: create mds_flush task
This tests:
 * The new 'flush journal' asok command
 * That the resulting on disk structures are as expected
 * That cephfs-journal-tool is happy with the result

Fixes: #9881

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-19 13:40:53 +00:00
David Zafman
8a2c32875c Merge pull request #270 from ceph/wip-cot-rename
ceph_objectstore_tool: Changes for rename of binary ceph-objectstore-too...

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2014-12-18 16:39:21 -08:00
Dan Mick
efa6c36f70 Add calamari_nosetests task.
Includes all accumulated review commentary and final 'yum clean all' fix.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2014-12-18 15:47:36 -08:00
Dan Mick
1bba98bda2 Remove obsolete tasks/calamari
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2014-12-18 15:47:36 -08:00
Loic Dachary
75287f0868 ceph_objectstore_tool: fix pep8 errors
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-12-19 00:43:48 +01:00
Loic Dachary
3c2aaa9c35 ceph_objectstore_tool: --op list now prints [pg,object]
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/10376 Fixes: #10376

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-12-19 00:43:35 +01:00
John Spray
849e259b96 tasks: add mds_full task
This is for exercising the CephFS behaviour
when the cluster becomes full.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:31 +00:00
John Spray
f9609c4688 tasks/cephfs: let get_config use non-mon services
Previously was always using the default values of things
so querying mon instead of the appropriate service
worked fine.  However, for things we might want to
update on a per-test basis we need to go ask the
correct service what the setting really is.

Needed for osd_mon_report_interval_max in the ENOSPC
testing.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
John Spray
8fa6b154e3 tasks/cephfs: enable osd epoch get from mounts
Using new hooks for #7317

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
John Spray
f94ec69fe9 tasks/mds_client_limits: fix initial rm -rf
This was previously a no-op because it was trying
to delete "*" instead of *

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
John Spray
9c55b81cc2 tasks/kclient: add 'debug' option
Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
John Spray
dedcc6483a tasks/cephfs: enable kclient for mds_* tasks
Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
David Zafman
eec179c687 ceph_objectstore_tool: Changes for rename of binary ceph-objectstore-tool
Signed-off-by: David Zafman <dzafman@redhat.com>
2014-12-17 17:10:32 -08:00
John Spray
b4214f95f4 Merge pull request #257 from ceph/wip-fs-creation
Fix PG counts and refactor FS creation during setup

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2014-12-17 11:37:09 +00:00
Yehuda Sadeh
47d56d779e radosgw-admin: wait before trimming usage
Fixes: #9892

Need to wait through the usage interval before trimming usage, otherwise we might not
remove all pending usage info.

Backport: dumpling, firefly, giant

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit dd09ecbfab8a659f3faaf879a52849caab5e8e8e)
2014-12-16 16:15:43 -05:00
Gregory Farnum
d562886f31 Merge pull request #260 from ceph/wip-mds-readonly
tasks: add test case for readonly MDS

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2014-12-10 20:39:52 -08:00
Sage Weil
0f9192f25d tasks/watch_notify_same_primary: fix test for new watch/notify
It now checks for 'notify1' and 'notify2' strings, allowing it to work
on both old and new versions of rados watch command.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-10 08:36:18 -08:00
Yan, Zheng
09b82e2bd9 tasks: add test case for readonly MDS
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2014-12-10 09:48:02 +08:00
Josh Durgin
f3b3d75542 radosgw_admin: test full sync using existing tests
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2014-12-05 21:04:08 -08:00
Zack Cerza
a45663c543 Merge pull request #212 from ceph/wip-9117-wusui
Move output in task/s3readwrite
2014-12-03 14:17:26 -07:00
John Spray
8fc3550002 tasks/ceph: move FS creation inside Filesystem
Leave the legacy handling out in cephfs_setup, move
the filesystem creation stuff into Filesystem.  I
anticipate this being the right place for it if/when
we have tests that want to do 'fs rm' 'fs new' type
cycles within themselves.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-02 13:31:57 +00:00
John Spray
89beed1b0a tasks/ceph: conservative PG count in FS pools
This was tripping over the recent commit 42c85e80
in Ceph master, which tightens the limits on
acceptable PG counts per OSD, and was making
teuthology runs fail due to never going clean.

Rather than put in a new hardcoded count, infer
it from config.  Move some code around so that
the ceph task can get at a Filesystem object
to use in FS setup (this already has conf-getting
methods).

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-02 13:30:06 +00:00
Yan, Zheng
d761831133 tasks: add mds_auto_repair
New CephFS tests for MDS's auto repair functions. (So far the only
test case is verify/repair backtrace on fetch dirfrag)

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2014-12-02 16:26:51 +08:00
Warren Usui
26a33c3a5a Move output in task/s3readwrite
The s3readwrite.py task formerly wrote too much output while excuting.
It now saves the data on the local machine in either the archive
directory or in /tmp if no archive directory is specified.
The new file contains a client name and timestamp in its name.
Once all processing has completed, that file is saved locally.

Fixes: 9117
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2014-12-01 11:01:26 -08:00
David Zafman
c59af44460 Merge pull request #244 from dachary/wip-objectstore-tool
add erasure coded pool tests to objectstore tool

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2014-11-20 15:40:54 -08:00
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
Loic Dachary
b925be13bc ceph_manager: add pool type constants
The osd dump command displays pool types using numerics instead of
symbolic names. Create constants in the CephManager class to use instead
of numbers.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-11-20 22:38:25 +01:00
Loic Dachary
fd1ec39d38 ceph_manager: fix typo in get_pgid docstring
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-11-20 22:38:25 +01:00