Use os_type instead of vm_type for more generic naming
for when we start re-imaging bare metal. Also added a
os_version dictionary for default versions of distros
that we want over-riding what downburst defaults are.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
We already install btrfs-tools and xfsprogs with ceph-qa-chef
Doing it here was just causing problems on non-ubuntu
distros and I really see no point for it to have it now.
Because of issues with package name differences vps are
setup to use repopriority and our local repo (which has
some ceph/librados stuff in it) gets high priority so
the ceph.repo that is created on the machine from
ceph-release basically gets ignored. This change makes
it so ceph.repo is the same priority level as our local
repo.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
In some rare cases (mainly centos/rhel after creating the
guest with downburst it does not come up right. It
gets a kernel panic at boot. Usually just turning it off
and then back on again is enough but to be on the safe
side I figured it should be re-created instead. This
insures you don't get hung jobs from a guest that didn't
come up correctly.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Figuring out which machines output is coming from when things
are being executed on multiple machines can be a huge pain.
This prints the IP in the logs so you can easily see where one
machine stops and another begins.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
VM: Use mac addresses from DB instead of randomizing.
In order to make IP addresses less likely to change and to allow
a smaller DHCP pool to be used I generated static MAC addresses
for all the vpm entries in the DB. I also put the correct entries
for all the other types of machines as well for their primary
(eth0) mac address as well in order to keep things standardized
and so there is another location where we have this information.
Without this fix going through a few tests would exhaust the DHCP
pool which at the time was around 460 IP addresses for virtual
machines and has since been upped to ~690 IP addresses.
Signed-off-by: Sandon Van Ness <sandon@inktank.com> Reviewed-by: Warren Usui <warren.usui@inktank.com>
Fix of #5494 although bad description. Instead of adding a wait
the code used to detect if the guest was back up is fixed. The
previous code appeared to assume only one machine and broke
when it was waiting for multiple machines if the guests did not
come up within 10 seconds of each other
Make nuke not do the normal stuff if the machine is a VPS as we
just destroy them when they get unlocked.
Instead of getting downburst options from ~/.teuthology.yaml get
it from the yaml given to teuthology for the test/task instead.
Fixed an error that would make all the default downburst values
not take effect if any of them were set via a yaml.
Signed-off-by: Sandon Van Ness <sandon@inktank.com> Reviewed-by: Warren Usui <warren.usui@inktank.com>
Sandon Van Ness [Fri, 21 Jun 2013 01:36:58 +0000 (18:36 -0700)]
Wipe out existing id_rsa.pub and id_rsa before pushing ssh keys
A very simple change. Just touch a file first (to create it if it
doesn't yet exist so the delete doesn't error out) and then delete
it before pushing the keys to the file. This should avoid the
id_rsa.pub and id_rsa files from getting messed up due to previous
runs which were interrupted or failed (or if those files exist for
some reason). This appears to be what was causing breaking in the
ceph-deploy nightlies.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Samuel Just [Tue, 4 Jun 2013 21:11:29 +0000 (14:11 -0700)]
task/: add args.py
The usage doc string for a task is tedious to write and
hard to keep reconciled with the code as defaults are changed.
args.py includes a helper to put it all in one place.
Sandon Van Ness [Mon, 17 Jun 2013 23:24:37 +0000 (16:24 -0700)]
Use authorized_keys2 instead of authorized_keys
Instead of going through the trouble of adding/removing lines
from authorized_keys which has all our normal keys in it, instead
push keys to the unused authorized_keys2 file which makes the key
management significantly simpler as that file can just be wiped
out each time instead of worrying about preserving contents.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Sandon Van Ness [Mon, 17 Jun 2013 23:24:37 +0000 (16:24 -0700)]
Use authorized_keys2 instead of authorized_keys
Instead of going through the trouble of adding/removing lines
from authorized_keys which has all our normal keys in it, instead
push keys to the unused authorized_keys2 file which makes the key
management significantly simpler as that file can just be wiped
out each time instead of worrying about preserving contents.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Warren Usui [Fri, 7 Jun 2013 01:43:43 +0000 (18:43 -0700)]
Support added for running scheduled tasks on virtual machines.
This included:
A). changes made so that full path names on some files were used
(scheduled tasks started in different home directories).
B.) Changes to insure tasks come up on the beanstalkc queue properly,
C.) Finding and inserting the libvirt eqivalent code for vm machines
in order to simulate ipmi actions,
D.) Fix host key code, report valgrind issue more clearly.
E.) Some message and downburst call changes.
Sage Weil [Mon, 3 Jun 2013 16:57:17 +0000 (09:57 -0700)]
ceph: debug valgrind error
File "/var/lib/teuthworker/teuthology-master/teuthology/task/ceph.py", line 215, in valgrind_post
(file, kind) = line.split(':')
ValueError: need more than 1 value to unpack
Sage Weil [Sat, 18 May 2013 01:53:02 +0000 (18:53 -0700)]
install: make overrides grouped by project
This lets us set different overrides for e.g. ceph vs samba, and makes it
so the schedule_teuthology.sh overrides don't specify a ceph sha1 for
samba installs.
Sage Weil [Sat, 11 May 2013 06:01:04 +0000 (23:01 -0700)]
localdir: create/cleanup mnt.foo dir on local fs
This creates and cleans up a local mnt dir that can be consumed
by other tasks (like workunit, samba, etc), just like any
other client (ceph-fuse, kclient), except it is just a dir on
the local fs.
Sam Lang [Wed, 1 May 2013 15:56:04 +0000 (10:56 -0500)]
task/cifs-mount.py: Task for mounting cifs
The cifs-mount task mounts a smb endpoint from the
first available smbd server (the samba.0 role). This
task is similar to the ceph-fuse task, file system
tests can be run on the resulting mount point.
Sam Lang [Wed, 1 May 2013 15:55:53 +0000 (10:55 -0500)]
task/samba.py: Samba task to setup/start smbd
The samba task sets up samba on all 'samba' roles
with ceph as the backend storage module. The task
creates a smb.conf file that points to ceph, and
starts smbd.
Sam Lang [Thu, 2 May 2013 15:49:50 +0000 (10:49 -0500)]
task/daemon-helper: Add nostdin option
Some daemons (smbd) will try to read from stdin and check if its a
socket, using that for sending/receiving messages. If /dev/null is
used for stdin, the daemon aborts. This patch adds a 'nostdin' option
to the daemon-helper so that the daemon can be started without /dev/null
as stdin.
Sam Lang [Wed, 1 May 2013 15:55:38 +0000 (10:55 -0500)]
task/install.py: Allow installation of non-ceph
Generalizes the install task to specify a "project" which defaults to
'ceph', but can be configured to install different project packages,
for example:
install:
project: samba
extra_packages: samba
The default install task uses 'ceph' as the project, and relies on an
existing set of defined packages to install. For other projects, the
packages to be installed must be specified with the extra_packages
field. Multiple install tasks can be specified:
Warren Usui [Wed, 1 May 2013 03:40:22 +0000 (20:40 -0700)]
Fix teuthology installations on physical Centos machines.
Yum installs of packages specify a pacakge number. Initial
install of yum source changed to not fail if already done.
Added yum cleans where necessary.