Commit Graph

748 Commits

Author SHA1 Message Date
John Spray
55a04930e3 tasks/cephfs: fix vstart's LocalDaemon.proc
This class is meant to quack like a DaemonState,
so it needs to expose a .proc attribute.  This
was breaking TestDamageTable.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
5c525219c4 tasks/cephfs: fix wait in test_volume_client
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
627c33054c tasks/cephfs: add test_volume_client
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
523d84b5f0 tasks/cephfs: fix fuse killing in vstart
The "ps au" output was truncating lines which could cause
processes to get missed in some cases, like where there
is a long --client-mountpoint argument.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
cb699cccfe tasks/cephfs: write_n_mb optionally background
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
b94b35b68f tasks/cephfs: reset IDs of mounts between tests
because volumeclient test twiddles the IDs to
match the auth identities it creates.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
7a19b6dc0d tasks/cephfs: clear extra auth ids on test start
Because new volumeclient tests will be creating IDs
instead of modifying the default ones.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
John Spray
addf313c24 tasks/cephfs: add test case auth_list helper
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-14 22:55:29 +00:00
Gregory Farnum
3b37c245b3 Merge pull request #743 from ceph/wip-root-metadata
tasks/cephfs: add TestSessionMap.test_session_reject

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2016-01-14 10:37:04 -08:00
John Spray
b010b6fe35 tasks: add TestSessionMap.test_[mount|tell]_conn_close
To check that teardown is happening correctly when
sending commands to an MDS.

Fixes: #14048
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-13 09:29:08 +00:00
Jason Dillaman
608fb1f0e0 suites/rbd: avoid redundant helgrind tests
Allow rbd_fsx to accept an override for which valgrind tool to use.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2016-01-12 21:08:00 -05:00
John Spray
f566cf7713 tasks/cephfs: check status asok output while in reconnect
Mostly checking the output from the status asok is awkward
because you need to get the system stuck in a particular
state to do so.  However, we already have a test here
that sticks the system in reconnect, so here's some
very light test coverage for that asok.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 23:15:37 +00:00
John Spray
5c06511697 tasks/cephfs: add TestStrays.test_dir_deletion
test_ops_throttle was catching misbehaviour when
deleting lots of files in a directory, but
we should have a non-throttle test for that case
so that it's clearer what's gone wrong.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 20:10:07 +00:00
John Spray
028a140acf tasks/cephfs: better message from test_full_fsync
When it gives an error from the unexpected place,
say so.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 15:15:10 +00:00
John Spray
aafa06eb9d tasks/cephfs: generate mount paths on the fly
...because new tests that modify the client ID will
get confused about whether they're mounted or not, otherwise.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 14:04:05 +00:00
John Spray
acff449c04 tasks/cephfs: support mount_path in Mount subclasses
For e.g. volumeclient guests that want to mount
a subpath.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 13:26:58 +00:00
Samuel Just
7831ca1e44 Revert "pg: add test cases for pg list_missing on EC pool"
This reverts commit 6fb44db9cb.
2016-01-07 11:02:40 -08:00
Yan, Zheng
6082cb2b71 Merge pull request #785 from ceph/wip-14257
tasks/cephfs: fix wait_for_state timing
2016-01-07 22:22:32 +08:00
John Spray
58c13c1a28 tasks/cephfs: fix wait_for_state timing
Return actual elapsed wallclock time instead of
the number of times we polled.

Fixes: #14257
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-07 11:24:57 +00:00
John Spray
00f1523170 tasks/cephfs: update vstart_runner for teuthology change
Previously teuthology read test path from ctx.teuthology_config,
now it reads it from the global teuthology.config.config object.

This was breaking test_journal_migration because it uses tasks/workunit,
when run with vstart_runner.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-06 23:57:54 +00:00
Greg Farnum
eb1d4f607c Merge remote-tracking branch 'origin/jewel-14196' 2016-01-05 23:11:32 -08:00
Greg Farnum
8488a991a9 Merge remote-tracking branch 'origin/wip-13583' 2016-01-05 22:57:51 -08:00
John Spray
26423e9574 tasks/cephfs: fix wait in assert_cluster_log
I had the monc tick interval wrong.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:58:01 +00:00
John Spray
a6970271be tasks/cephfs: fixes to FuseMount
This was getting stressed in new ways by
TestSessionMap.test_session_reject, which
has a mount that fails initially.

Two changes here:
 * Raise CommandFailedError instead of RuntimeError when
   a mount fails (i.e. catch process termination instead
   of timing out on /sys/ population)
 * Generalise error handling on umount, so that we only
   raise the exception on an umount failure if the mount
   appears to really not be unmounted.  There is some
   EINVAL corner case that was getting triggered by the test.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:58:01 +00:00
John Spray
141de6e1b4 tasks/cephfs: add TestSessionMap.test_session_reject
Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:58:01 +00:00
John Spray
3b9b68b176 tasks/cephfs: add assert_cluster_log
For capturing the cluster log and asserting
that we see a particular expected message.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:58:00 +00:00
John Spray
d8106fa9e1 tasks: add run_ceph_w to CephManager
Analogous to raw_cluster_command, but instead
of calling blocking CLI command we're invoking
the -w mode.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:58:00 +00:00
John Spray
8b5edd4fe9 tasks/cephfs: new hooks for auth keys and config
Used when configuring clients with dynamically
generated auth keys, and pointing them at mount paths.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:57:33 +00:00
David Zafman
7d2bbc900d Merge pull request #775 from ceph/wip-stat-error
repair_test: Add whitelist item for new stat error message
2016-01-04 15:25:27 -08:00
Yan, Zheng
b2a304e651 tasks/cephfs: fix race in test_damage
When stray directory inodes are corrupted, MDS may go to damaged state
after becoming active. (MDCache::open_root/populate_mydir is called by
MDSRank::starting_done).

Fixes: #14196
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2016-01-04 20:42:35 +08:00
Sage Weil
926a8cbb2a tasks/osd_recovery: fewer objects in test_incomplete_pgs
Otherwise we risk filling up a (fast) disk.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-01-02 09:29:28 -05:00
Sage Weil
179ff64277 Merge pull request #755 from guangyy/wip-13441-test
pg: add test cases for pg list_missing on EC pool
2015-12-23 17:06:39 -05:00
Loic Dachary
834a38cf90 buildpackages: support CentOS 7.1 and CentOS 7.2
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-17 10:31:37 +01:00
David Zafman
a204f6f932 repair_test: Add whitelist item for new stat error message
Signed-off-by: David Zafman <dzafman@redhat.com>
2015-12-15 17:43:48 -08:00
Loic Dachary
64d8a586f7 buildpackages: no need to sudo in bootcmd
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-12 14:27:55 +01:00
Loic Dachary
0c1e7f1f6b buildpackages: log the output of make
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-12 14:03:57 +01:00
Loic Dachary
f19a519b8e Merge pull request #756 from dachary/wip-13624-workunit-git
workunits: fetch from --ceph-git-url
2015-12-11 12:27:18 +01:00
Robin H. Johnson
ebf8508c08 buildpackages: pkgrepo host also needs user-data setup.
The packages repo host fails in environments where networking setup is
needed in VMs. Use the same user-data as the buildhosts to ensure this
is the case.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 22:58:09 -08:00
Robin H. Johnson
89bde0b8fe buildpackages: copy teuthology user-data.txt changes
7b27e1db7: openstack: support /etc/network/intefaces injection
2358562cf: ensure VMs always have /etc/hosts set up
4378a505d: always allow unsigned deb packages
50b2db521: openstack: encode instance name with the full IP
6e828a33b: openstack: add 8.8.8.8 as a last resort resolver

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 22:58:04 -08:00
Robin H. Johnson
3c6954642a
buildpackages: catch instance creation failure.
Split the sleep from the server creation, so we catch 'server create'
failures (eg due to quota):
> Quota exceeded for cores: Requested 16, but already used 10 of 20 cores
> (HTTP 403) (Request-ID: req-6467934e-db50-4479-995c-4d44dedf553a)

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 11:55:53 -08:00
Robin H. Johnson
0240f57643
buildpackages: Be robust about addresses
OpenStack could tell us the VM has multiple networks, and offers no
guarantee about the order of addresses either (the old code failed if
the v4 IP was first).

For now, take the first listed network, and the first listed IPv4
address therein. Comments contain more detailed examples of possible
output from openstack tool.

Also remove the need for using jq to parse the output.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 11:55:49 -08:00
Gregory Farnum
da8a891b74 Merge pull request #744 from ceph/wip-inode-claim
tasks/cephfs: add TestJournalRepair.test_table_tool_take_inos

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-12-06 21:10:10 -08:00
Gregory Farnum
5e714c69d5 Merge pull request #703 from ceph/wip-layout-restrict
tasks/cephfs: test for auth caps pool-setting restriction

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-12-06 21:05:55 -08:00
Loic Dachary
b0a770a3e7 workunit: fetch from --ceph-git-url
The commit from which workunits are fetched must be retrieved
from --ceph-git-url via teuth_config.get_ceph_git_url() instead of
assuming it is available via git://git.ceph.com/ceph.git.

Using git://git.ceph.com/ceph.git is convenient because it supports git
archive. In the general case, some git servers such as github do not
support git archive and a full git clone must be done instead.

Although it would be possible to

    git clone --branch=master --depth=1 --single-branch

to reduce the amount of data being retrieved, it would require a

    git fetch origin SHA1

but git version >= 1.7 do not support fetching a commit.

http://tracker.ceph.com/issues/13624 Fixes: #13624

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-06 13:23:14 +01:00
Loic Dachary
28dc5c0c33 workunit: keep the path to the list of tests in a variable
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-06 13:07:13 +01:00
Loic Dachary
7de33f082e workunit: allow tag to override sha1
The sha1 for the workunit task is always set by the suite.py task. The
tag must be checked before the sha1 othewise it cannot be used to
override the sha1.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-06 12:34:59 +01:00
Guang Yang
6fb44db9cb pg: add test cases for pg list_missing on EC pool
Reviewed-by: Guang Yang <yguang@yahoo-inc.com>
2015-12-04 23:03:03 +00:00
John Spray
1280caf7c2 tasks/cephfs: avoid using bare remote.run in scrub_checks
Use the Mount.* wrappers for filesystem operations,
so that changes like making run_shell use sudo just work.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-12-02 23:30:55 +00:00
John Spray
0cd6cb10ac tasks/cephfs: update for run_shell vs. sudo
(TestStrays.test_snapshot_remove blocked on the sudo change)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-12-02 23:30:55 +00:00
John Spray
80397a5db2 tasks/cephfs: always sudo in run_shell
This was causing permissions issues when
running inside teuthology, as run_python
was using sudo and run_shell wasn't.

Would be nice to get rid of all the rootishness,
but for the moment just make it more uniform.
2015-12-02 23:30:55 +00:00
John Spray
bb924d2095 tasks/cephfs: cover snaps in test_strays
Signed-off-by: John Spray <john.spray@redhat.com>
2015-12-02 23:30:55 +00:00
John Spray
14e2cf1ef2 tasks/cephfs: add TestForwardScrub
This tests the forward scrub's ability to traverse
some metadata and tag it, and the corresponding
functionality in cephfs-data-scan to filter based
on tag and inject orphaned items.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-12-02 23:28:28 +00:00
Loic Dachary
ea6360ac26 teuthology-integration: run teuthology integration tests
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-02 13:14:35 +01:00
Loic Dachary
ab9a3d5a88 buildpackages: create the image if it does not exist
Since buildpackages runs before target provisioning, it is possible that
the desired image does not yet exist on a newly provisionned tenant (or
region).

http://tracker.ceph.com/issues/13910 Fixes: #13910

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-30 16:55:38 +01:00
Loic Dachary
ca64229481 Merge pull request #679 from ceph/wip-ceph-whitespace
tasks/ceph: fix up whitespace

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-11-27 18:58:10 +01:00
John Spray
b3da9d7e7c tasks/cephfs: add TestJournalRepair.test_table_tool_take_inos
Signed-off-by: John Spray <john.spray@redhat.com>
2015-11-27 17:43:28 +00:00
Loic Dachary
9ea3b26b91 Merge pull request #740 from dachary/wip-13899-rbd-fio
task/rbd_fio: allow for unsigned packages

Reviewed-by: Abhishek Varshney <abhishek.varshney@flipkart.com>
2015-11-27 17:21:13 +01:00
Loic Dachary
d14f2da437 task/rbd_fio: allow for unsigned packages
Similar to what the teuthology install.py task does, add --force-yes to
the apt-get install so that unsigned packages are successfully
installed. It is needed when the buildpackages task is used to create
packages on the fly.

There is no need to do the same for rpm packages because the
verification is controlled from the ceph-release package instead of from
the command line.

http://tracker.ceph.com/issues/13899 Fixes: #13899

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-27 14:20:07 +01:00
Loic Dachary
8088d60524 buildpackages: wait for the build machine deletion
When the quotas are low, it matters to block until the build machine is
actually deleted. Otherwise target provisionning may fail because the
they exceed the quota. For instance the default on OVH is to have 32
cores and the build machine uses 16. The packages-repository machine
uses two, the teuthology cluster uses one and that leaves only 13 cores
for the targets which may be too low when running jobs that require
large instances.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-26 13:13:36 +01:00
Yan, Zheng
375c53bb76 cephfs/test_client_recovery: check fsync waits for unsafe requests
make sure fsync wait for unsafe requests that created/modified the
file.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-11-26 15:10:30 +08:00
Gregory Farnum
bb5aaac923 Merge pull request #729 from ceph/wip-scrub-tidy
tasks/cephfs: tidy test_scrub_checks

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-11-25 17:13:52 -05:00
Gregory Farnum
3ba38a4c29 Merge pull request #674 from ceph/wip-13698
tasks/cephfs: fix race in test_sessionmap

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-11-25 17:12:36 -05:00
Gregory Farnum
e774886a3c Merge pull request #663 from ceph/wip-client-mark-down
tasks/cephfs: quick test for `tell`...

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-11-25 17:08:58 -05:00
Gregory Farnum
079ba9ef52 Merge pull request #647 from ceph/wip-repair-dir
tasks/cephfs: include an empty dir in journal repair

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-11-25 17:04:59 -05:00
Gregory Farnum
d5934fc96d Merge pull request #633 from ceph/wip-test-failover
tasks/cephfs/test_failover

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-11-25 17:00:29 -05:00
Loic Dachary
5c8f349919 Merge pull request #718 from ceph/wip-fast-read
rados: add test for ec fast_read

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-11-24 00:38:22 +01:00
Loic Dachary
af95065c9b Merge pull request #730 from ceph/wip-repair
ceph_manager: do_pg_scrub: keep scrubbing until it's done

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-11-24 00:37:31 +01:00
John Spray
69560a8d65 tasks/cephfs: tidy test_scrub_checks
Use named error codes instead of numbers, and
use the helper fn for getting inode number
instead of doing it by hand.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-11-23 17:47:02 +00:00
Loic Dachary
f398b71e33 buildpackages: do not -jX on dumpling
http://tracker.ceph.com/issues/13845 Refs: #13845

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-20 13:46:28 +01:00
Samuel Just
89dcc0daf3 ceph_manager: do_pg_scrub: keep scrubbing until it's done
The ceph pg scrub ... command isn't really guarranteed to
start a scrub, keep reissuing it until the scrub actually
happens.

Related: #12746
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-11-19 15:07:38 -08:00
Samuel Just
5f90c35f70 rados: add test for ec fast_read
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-11-19 14:44:45 -08:00
Loic Dachary
87e50d394a buildpackages: avoid duplicate packages-repository
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-19 09:08:35 +01:00
Loic Dachary
13fb23ed69 buildpackages: implement get_pkg_type
It can be deprectated when it is implemented in teuthology.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-19 00:36:18 +01:00
Loic Dachary
69e9b22e4b buildpackages: refactor to not require remote
Most of the flavor, sha1, tag etc. selection logic as implemented in the
packaging module of teuthology relies on remote hosts. This is complex
to tests and inconvenient because hosts must be provisionned even before
trying to figure out which packages need to be installed.

Using remote hosts is necessary when bare metal targets are used because
teuthology must adapt to the operating system already installed. The
selection logic in the context of dynamically provisionned targets is
simpler because it is defined by the job being run.

The buildpackages is refactored to use only the job configuration to
figure out which packages must be built. It makes it specific to targets
that are dynamically provisionned. It would have to be modified to query
the remote host in the case of bare metal targets.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-18 22:49:59 +01:00
Loic Dachary
1877b818f6 Merge pull request #704 from dachary/wip-buildpackages-packaging
buildpackages: protect packages-repository
2015-11-14 10:27:03 +01:00
Loic Dachary
4825f64a7c buildpackages: protect packages-repository
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-14 09:31:41 +01:00
John Spray
95538f2c06 tasks/cephfs: test for auth caps pool-setting restriction
Signed-off-by: John Spray <john.spray@redhat.com>
2015-11-13 14:16:38 +00:00
Loic Dachary
8d798c4eec buildpackages: do not fails for unpackaged files
Older versions of Ceph have that problem failing would break all upgrade suites.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-12 20:17:53 +01:00
Loic Dachary
9287493851 buildpackages: giant has some unpackaged files
And there really is nothing we can do about it expect ignore them.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-12 16:11:39 +01:00
Loic Dachary
118e919d35 Merge pull request #695 from dachary/wip-buildpackages-flavor
buildpackages: 10GB is too small most of the time
2015-11-12 15:11:10 +01:00
Loic Dachary
129c5db6c9 buildpackages: 10GB is too small most of the time
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-12 15:09:26 +01:00
Vasu Kulkarni
5ba70c8e30 Update fio version from 2.2.9 to 2.2.11
Also removes fio-version option from yaml since its redundant and if required can be specified in
overrides

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
2015-11-10 14:48:59 -05:00
Jason Dillaman
accb287302 rbd_fio: removed deprecated command-line option to rbd CLI
Fixes: #13745
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-11-10 08:50:54 -05:00
John Spray
f05d977628 tasks/ceph: fix up whitespace
...because otherwise it lights up like a christmas
tree in pycharm.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-11-09 13:20:49 +00:00
John Spray
c713423bd1 tasks/cephfs: fix race in test_sessionmap
Fixes: #13698
Signed-off-by: John Spray <john.spray@redhat.com>
2015-11-05 01:15:57 +00:00
Loic Dachary
7b8f205952 buildpackages: silently ignore IPv6 addresses
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-11-04 11:52:24 +01:00
Josh Durgin
fec80cd519 Merge pull request #652 from ceph/wip-13559
suites/rbd/qemu: excercise CoW support during QEMU testing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2015-11-03 14:12:05 -08:00
John Spray
54e53a0006 tasks/cephfs: simplify test_backtrace_repair
This was previously using a bunch of files and a small
MDCache limit to force things out of cache.  It is much
simpler to just drop the journal.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-11-03 11:56:06 +00:00
Greg Farnum
2e47e03745 filesystem: fix get_daemon_names
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2015-10-29 15:35:43 -07:00
John Spray
b51a929c6f tasks/cephfs: quick test for tell...
...specifically that we don't have lingering
MDS sessions after running it.  This is testing
that Client::shutdown is doing the right thing
and closing sessions.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-28 14:28:42 +09:00
Loic Dachary
970a37226f buildpackages: fetch tags from the official Ceph repository
A clone of Ceph is not automagically updated with the tags from the
official Ceph repository. For a pull request based on master, git
describe will use whatever tags existed at the time the clone was made,
unless the author pull them from the official Ceph repository and later
git push --tags them.

The output of git describe is used to name the packages and if the
official tags are not present, the packages will be incorrectly
named. For instance instead of 9.0.3-34 the packages could be named
0.87-8433 because the v0.87 tag is the most recent tag in the
repository. That confuses the install task that will fail with:

   'ceph version 0.87 was not installed, found 9.0.3.'

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-10-28 00:06:46 +09:00
Jason Dillaman
59e768bb29 suites/rbd/qemu: excercise CoW support during QEMU testing
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2015-10-22 08:28:32 -04:00
Loic Dachary
8f9de175e0 ceph: log which ceph.conf file is written
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-10-21 15:49:48 +02:00
John Spray
4a83c56604 tasks/cephfs: include an empty dir in journal repair
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-19 17:57:53 +01:00
Zack Cerza
da22f74ad1 Merge pull request #632 from ceph/wip-rbd-dir-fix
use cephtest as base dir during testing
2015-10-14 17:28:14 -06:00
Vasu Kulkarni
bdf79881df Use cephtest as base dir for testing and let nuke cleanup in case of abrupt failures
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
2015-10-14 17:27:00 -04:00
John Spray
176e9ef267 tasks/cephfs: add test_failover
A quick check that clients refuse to mount
when daemons are laggy, and while we're at it,
that the basics of failover work.  It's a trivial
test, but it's nice to have this kind of thing
so that we don't have to wait for weird thrasher
failures if something breaks.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-14 02:20:00 +01:00
John Spray
043049f6c3 tasks/cephfs: add a wait_for_daemons
...to avoid trying to mount a client
before the daemons are ready

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-14 02:16:13 +01:00
John Spray
267ef8bad7 Merge pull request #624 from ceph/wip-13437
Wip 13437 (tasks/cephfs: fix TestClientLimits.test_client_oldest_tid …)

Reviewed-by: John Spray <john.spray@redhat.com>
2015-10-13 22:50:52 +01:00
Loic Dachary
baa8ea327e buildpackages: implement notcmalloc flavor
http://tracker.ceph.com/issues/13454 Fixes: #13454

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-13 14:56:10 +02:00
Kefu Chai
8d1c15e9a5 Merge pull request #621 from dachary/wip-13449-admin-socket
tasks/admin_socket.py: wait 120 seconds instead of 60

Reviewed-by: Kefu Chai <kchai@redhat.com>
2015-10-13 17:04:55 +08:00
Loic Dachary
ccd1bc2c03 Merge pull request #619 from dachary/wip-buildpackages-submodules
buildpackages: get ceph submodules
2015-10-13 10:55:55 +02:00
Yan, Zheng
b03ac07980 tasks/cephfs: fix TestClientLimits.test_client_oldest_tid
To get the health warning, first we need to make sure requests are
added to session's completed request list. Then we need to send an
extra request to MDS to trigger the code that generates the warning.

Fixes: #13437
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-10-13 16:53:39 +08:00
Loic Dachary
c0828cae19 tasks/admin_socket.py: wait 120 seconds instead of 60
When running on virtual machines, it may take more than one minute for a
daemon to create the admin socket.

http://tracker.ceph.com/issues/13449 Fixes: #13449

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-13 10:25:18 +02:00
Sage Weil
2545265f17 Merge remote-tracking branch 'gh/infernalis' 2015-10-12 13:04:19 -04:00
Loic Dachary
81f5c3ad03 buildpackages: get ceph submodules
Prior to v0.80.9, autogen.sh did not get submodules. Copy/paste the
submodule initialization from newer autogen.sh in common.sh so that
v0.80.8 and below can be rebuilt from sources. It does not hurt to
update the submodules twice.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-12 18:46:38 +02:00
Yehuda Sadeh
d1ada2e8dd radosgw_admin: skip log objects that start with obj_delete_at_hint
when testing radosgw-admin log show --object, don't use these objects

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
2015-10-12 09:13:25 -07:00
Loic Dachary
56a6e0c356 buildpackages: use _get_version instead of os_version
os_version is from the remote and will be 7.1.23 for CentOS 7
instead of the expected 7.0 for all 7.* CentOS.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-10 12:51:15 +02:00
Samuel Just
174a74105f radosbench: use pool config even if create_pool is false
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-10-09 14:06:04 -07:00
Samuel Just
c0b0ec2831 divergent_priors2: give divergent time to come up
Fixes: #13322
Signed-off-by: Samuel Just <sjust@redhat.com>
2015-10-09 14:05:42 -07:00
Loic Dachary
0446645de8 Merge pull request #609 from dachary/wip-13376-buildpackages-upgrade
buildpackages: honour install priorities tags, branch, sha1
2015-10-09 16:37:40 +02:00
Loic Dachary
0045dfc8a5 buildpackages: enforce ceph-object-corpus canonical URL
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 11:57:40 +02:00
Loic Dachary
4d89c9e4de buildpackages: walk the whole config tree to find sha1 to build
It is not enough to look for the first install task. In upgrade tests,
the install.upgrade task requires more packages to be built. In more
complicated tests using sequential and parallel tasks, the actual
install or install.upgrade task may be deeper in the config tree.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 10:05:58 +02:00
Loic Dachary
c103579a55 buildpackages: honour install priorities tags, branch, sha1
The install config may have contradicting tag/branch and sha1.  When
suite.py prepares the jobs, it always overrides the sha1 with whatever
default is provided on the command line with --distro and what is found
in the gitbuilder. If it turns out that the tag or the branch in the
install config task is about another sha1, it will override anyway.

Instead of obtaining the tag, branch and sha1 directly from the
packaging.GitbuilderProject object, compute them from the returned
uri_reference data member. The uri_reference is used by the install task
to fetch packages in the gitbuilders and this is what buildpackages
needs to build.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 10:03:35 +02:00
Loic Dachary
810caaf55f buildpackages: branches are found in refs/remotes/origin
Note in refs/heads which is populated for local branches only and not
after a fresh clone.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 10:01:34 +02:00
Loic Dachary
e54c916891 buildpackages: do not override the sha1
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 10:01:05 +02:00
Loic Dachary
a630da7220 buildpackages: allow for concurrent build if != sha1
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-08 12:16:30 +02:00
Loic Dachary
9db757b811 buildpackages: prefer GitbuilderProject.os_{type,version} over config.
The config['os_type'] and config['os_version'] are not always set for a given
job (for instance, in the rbd suite). When a suite runs, it relies on
default values, depending on the target Operating System and internal,
hard coded values associating ubuntu to 14.04 etc.

Instead of using config['os_{type,version}'] use the GitbuilderProject
equivalent which is set with the appropriate defaults.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-08 12:16:30 +02:00
Greg Farnum
94d54f7510 Merge remote-tracking branch 'origin/wip-vstart-runner' into infernalis
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-10-07 10:55:36 -07:00
Loic Dachary
a5f260ee92 Merge pull request #596 from ceph/wip-radosbench
tasks/radosbench: wait just a bit longer

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2015-10-05 01:57:04 +02:00
vasukulkarni
5f201625b1 Merge pull request #549 from ceph/wip-krbd-fio
Add rbd fio test to exercise block IO on all format/features
2015-10-02 11:54:26 -07:00
Vasu Kulkarni
971c5fc29c rbd io tests using fio, various fio options can be specified in yaml
test rbd or krbd using fio, can also run io on rbd clones if option is specified in yaml
various options like image-size, rbd format/features, fio io size, readwrite options can be provided in yaml.
check the docstring for exact usage.

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
2015-10-02 13:41:42 -04:00
John Spray
62247f2009 tasks/cephfs: fix FuseMount bin path in vstart
FuseMount only uses the prefix for finding the 'ceph'
executable, which is in ./ for either cmake or
authtools, not ./src for cmake like other binaries.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:18 +01:00
John Spray
0584b9c8dc tasks/cephfs: fix test_journal_migration
It was trying to get the output file from
a different remote than the one used to
run the journal tool.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:18 +01:00
John Spray
9eb65dd1be tasks/cephfs: move mds_scrub_checks
...into a CephFSTestCase.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:18 +01:00
John Spray
03ea0971cc tasks/cephfs: move journal migration test
...into a CephFSTestCase.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
176123caea tasks/cephfs: extend vstart_runner's ctx&run
Sufficiently to enable using workunits.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
99e3a400e1 tasks/cephfs: add --interactive for vstart runner
Just like interactive-on-error in teuthology.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
904fd76813 tasks/cephfs: fix FuseMount._asok_path
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
20e7d2af24 tasks/cephfs: remove a redundant sudo
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
4f8adf155b tasks/cephfs: raise error on non-string stdins
Shouldn't be any from the fs tests that get run

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
80a9efb73d tasks/cephfs: warn if vstart_runner can't import mods
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
06891416da tasks/cephfs: stop if needed binaries are absent
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
23ae9815a5 tasks/cephfs: add instructions to vstart_runner
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
cbb85720f3 tasks/cephfs: updates for cmake environ
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
8b846b9f2c tasks/cephfs: add vstart runner script
This is to allow running CephFSTestCase tests
against a vstart cluster, for much faster turnaround
during development than running teuthology against
built ceph packages.

Not everything will be runnable this way, but for
certain things like filesystem repair scenarios we
have everything we need within a vstart environment.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
efb62ae1e7 tasks/cephfs: mark some tests as @needs_trimming
So that we can drop these tests when not running
client as root.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
f8a4b08702 tasks/cephfs: add needs_trimming decorator
For tests to advertise that they need the client
to be able to trim its cache (i.e. currently that
means requiring run as root)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
c0e90aa5a7 tasks/cephfs: make FuseMount.teardown safer
(don't assume fuse_daemon exists)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
1ed6272d93 tasks/cephfs: mark some tests as @long_running
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
d4ecee82e4 tasks/cephfs: add @long_running decorator
A means for test cases to mark particular methods
as long running, so that the vstart runner can skip
them when running for developers.

This is not a scientific thing, anything that takes
more than about 2 minutes due to lots of iteration
or sleeps.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
9a1ca94edc tasks/cephfs: cluster_down before fs rm
In teuthology this isn't needed because we join the
mds child processes after killing them.  In vstart
we're killing them asynchronously, so be a bit more
careful to ensure they can't re-insert themselves
to the mdsmap between our calling fail and our calling
fs rm.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
684e0deb6f tasks/cephfs: split up TestClientRecovery
...into the part that requires a network-isolated
client and the part that doesn't.

This happens to also be the part that won't work with
vstart vs. the part that will.  teuthology yaml will
still pick up and run both parts.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
6f8a35bb42 tasks/cephfs: make memstore dependency declarative
...instead of checking for it procedurally during
TestClusterFull.setUp

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
98da1e0d84 tasks/cephfs: refine TestClientLimits.test_client_oldest_tid
* Instead of creating files in background, create
  them in foreground (simpler).
* Instead of creating max_request*2 files, just create
  max_requests plus a litle bit.
* Set max_requests to 1000 instead of 5000 to run a bit
  faster.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
37d55663f0 tasks/cephfs: fix race in TestStrays
We weren't waiting for export dir to complete (the asok
just starts the process).  This wasn't noticeable when running
remotely due to latency between the test runner and the MDS,
but it shows up when running against a local vstart cluster.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
be749f8fde tasks/cephfs: work around fuse weirdness
I am seeing a strange thing where it seems like sometimes
a ls of /sys/fs/fuse/connections is returning empty when
connections do exist.  It is pretty easy to make this
a non-issue by waiting for "more conns than we started with"
instead of "list of conns is different", so do that.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
e51cd6bee3 tasks/cephfs: prefix override in FuseMount
For asok and invokation of ceph CLI.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
7e6f8d4905 tasks/cephfs: use stdin/stdout in Filesystem._read_data_xattr
...so that it doesn't rely on a temp local file and using
run.Raw(">") in commands.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
48cf533f0a tasks/cephfs: handle endpoint not connected
Previously failure to stat mnt dir was interpreted
as being unmounted.  For "transport endpoint no connected"
error we do want to recognise that it is mounted, albeit
with no ceph-fuse process.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00