John Spray [Thu, 3 Dec 2015 00:17:32 +0000 (00:17 +0000)]
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.
Sage Weil [Thu, 24 Dec 2015 14:57:52 +0000 (09:57 -0500)]
rados/singleton/all/pg-removal-interruption: ensure osd.0 is marked down
We were waiting for teh dameon to fail, not for the mons to notice,
which meant that after we restart the daemon the next tell could
try to talk to the old osd.
Robin H. Johnson [Thu, 10 Dec 2015 19:56:05 +0000 (11:56 -0800)]
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>
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>
Robin H. Johnson [Thu, 10 Dec 2015 19:55:53 +0000 (11:55 -0800)]
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>
Robin H. Johnson [Thu, 10 Dec 2015 19:55:49 +0000 (11:55 -0800)]
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>
Loic Dachary [Sun, 6 Dec 2015 12:08:20 +0000 (13:08 +0100)]
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.
Loic Dachary [Sun, 6 Dec 2015 11:30:13 +0000 (12:30 +0100)]
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.
John Spray [Mon, 20 Jul 2015 10:03:32 +0000 (11:03 +0100)]
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.
Loic Dachary [Mon, 30 Nov 2015 15:55:38 +0000 (16:55 +0100)]
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).
Loic Dachary [Fri, 27 Nov 2015 13:17:37 +0000 (14:17 +0100)]
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.
Loic Dachary [Thu, 26 Nov 2015 12:10:34 +0000 (13:10 +0100)]
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.
Loic Dachary [Sat, 21 Nov 2015 11:12:49 +0000 (12:12 +0100)]
openstack: rbd/{thrash,qemu}: allocate three disks, always
The thrasher and qemu need disk attached to run against xfs or btrfs,
otherwise it will use the local file system which is always ext4. It
will succeed but this is a kind of false positive since no xfs or btrfs
related tests were run.
Loic Dachary [Sat, 14 Nov 2015 12:26:00 +0000 (13:26 +0100)]
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.