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.
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>
Fix priority so it only is added once.

Needed for baremetal so the sed doesn't keep adding
the priority line in the repos file.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Added get_distro() to misc.py

Since getting the ostype is used multiple places I made a
function for it and modified the existing code to use
said function. I also added tests for the function.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Added --os-type argument to run.py

Because for some reason it was never there before?

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Merge remote-tracking branch 'origin/wip-sandon-vm' into next

Conflicts:
	teuthology/lock.py
	teuthology/misc.py
	teuthology/task/install.py