Commit Graph

538 Commits

Author SHA1 Message Date
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
John Spray
120f9d882e tasks/cephfs: use Filesystem.rados instead of direct CLI
Because it's slicker and because I can wrap it for vstart.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
bab4c7aa71 tasks/cephfs: add Filesystem.exists
Use this during test setup to check whether
a filesystem is configured at all, before
trying to tear it down.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
e2f8b48d94 tasks/cephfs: add Filesystem._prefix
So that my vstart subclass can put ./ before
all the commands.

One could set $PATH, but I like to unambiguously point
it at the local built binaries in case someone also
has some systemwide packages.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:15 +01:00
John Spray
f58c119d90 tasks/cephfs: use raw_cluster_cmd instead of manual "ceph"
It's less repetitive, and I can override it for use with
vstart.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:15 +01:00
John Spray
99a8a123da tasks/cephfs: add Filesystem.delete_all
So that we can clear down filesysteems created by
someone other than ourselves (like vstart.sh)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:15 +01:00
John Spray
ad562f4b79 tasks/cephfs: make Filesystem rados command overridable
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:15 +01:00
John Spray
7884d5b555 tasks/cephfs: use raw_cluster_cmd in Filesystem
...instead of manually invoking 'ceph' -- so that
it's easier to override this for vstart.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:15 +01:00
Sage Weil
3e30d5dfdf tasks/radosbench: wait just a bit longer
A run failed due to thrashing.. missed by about 30s (the osd
eventually sent the last reply but we'd already timed out).

Signed-off-by: Sage Weil <sage@redhat.com>
2015-10-02 08:44:33 -04:00
Gregory Farnum
6add6ba2df Merge pull request #461 from ceph/wip-client-oldest-tid
cephfs/test_client_limits.py: update test_client_oldest_tid

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-10-01 22:37:15 -07:00
Loic Dachary
487ccb964a Merge pull request #592 from ceph/wip-13000-centos-activate
ceph-deploy: always zap disk before creating an osd
2015-10-01 08:49:20 +02:00