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 Missed parenthesis.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
List IP address in orchestra.run output.

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>
Use ceph.com mirror instea of github for ceph-qa-chef on VPS.

Github.com is unreliable so use the ceph mirror instead.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Add description option to lock.lock()

For some reason lock_many() has a description but lock()
does not. This was useful in my testing of unlocking and
re-locking VPS machines to destroy.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Re-create guest if it doesn't come up right.

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>
Don't install kernels on non-ubuntu VPS


Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Workaround repopriority of yum local repo.

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>
Allow Overrides for ceph-deploy task

This is needed so we can set the ceph branch for ceph-deploy
to use via the main yaml which is created via the suite
scheduler.


Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Remove btrfs-tools and xfsprogs install step.

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.
thrashosds: add delay option after recovery

Signed-off-by: Samuel Just <sam.just@inktank.com>
sequential, parallel: allow entries to be references to top-level config

Often we want to build a test collection that substitutes different
sequences of tasks into a parallel/sequential construction.  However, the
yaml combination that happens when generating jobs is not smart enough to
substitute some fragment into a deeply-nested piece of yaml.

Instead, make these sequences top-level entries in the config dict, and
reference them.  For example:

tasks:
- install:
- ceph:
- parallel:
  - workload
  - upgrade-sequence
workload:
  workunit:
    - something
upgrade-sequence:
  install.restart: [osd.0, osd.1]

Signed-off-by: Sage Weil <sage@inktank.com>
ceph: add wait_for_mon_quorum command

tasks:
...
- ceph.wait_for_mon_quorum: [a, b]
...

will block until the mon quorum consists of exactly [a, b].  This is
compared directly to the relevant field from 'ceph quorum_status'
which has the alphanumeric names only.

Signed-off-by: Sage Weil <sage@inktank.com>
Use os_type instead of vm_type. Add os_version

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>
Wait a little longer before recreating VMs

Just to allow for the create to still work incase the os
volume is fairly large (takes a while to resize) and in
case the host machine is bogged down due to disk I/O.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Add distro type to schedule_suite.sh

Also added machinetype to the name.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Re-create guest if it already exists

In some cases tests fail or nuke fails and the guest is
not properly destroyed. This will look to see if it gets
an error due to the guest already existing or its disks
existing and will re-create the guest.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
remove Makefile that attempted to do linting

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
removing todo org file from the root of the project

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
fix RST formatting issues in README file

Signed-off-by: Alfredo Deza <alfredo@deza.pe>