Add Ironic hardware deployment support

Currently devstack create VMs and then deploy Ironic on these VMs.
Sometimes developer may want to deploy on real platform.

A separated file is required to provide the baremetal compute node
information, which includes four fields for each hardware platform,
the ipmi address, the mac address, the ipmi user name and the
password.

Change-Id: I422b43eae6edc95f15b8c40383d0ba7fbcd9b1ff
Remove rackspace/centos7 work-around

The current centos 7 images from rackspace do not have cloud-init
installed via pip, so this is no longer needed.  This work around is
actually a little wrong too, see the bug.

Change-Id: I6642593ca2248d9e01f653cc8e70c70ba8372e50
Partial-bug: #1393073
Remove nose things

We don't use nose anywhere in anything related to devstack. The only
legitimate OpenStack things that are still nose are horizon and swift
unittests, and it turns out we don't really run those in devstack.

Change-Id: I215e0f3664f269e0e1b8f5d5f9c70553dededddd
Add TEMPEST_ENABLE_NOVA_XML_API option

XML support of Nova API has been deprecated with the following
message:
  XML support has been deprecated and may be removed as early
  as the Juno release.
Now Kilo development cycle started, so we should disable Nova
API XML tests on Tempest.

This patch adds TEMPEST_ENABLE_NOVA_XML_API option for setting
Tempest test by devstack-gate. The default value is True because
of keeping the test coverage. After merging a devstack-gate patch
which specifes True for stable/icehouse and stable/juno, we will
set False for the master blanch.

I4acc15ce5f487738bb34a95c2261a5d05d827d8d is a Nova patch which
removes XML API support.

Change-Id: I2ab8f5c3d15b496e0b639c99bb8592533a69a265
Remove hardcoded protocol from backup_swift_url

Use SWIFT_SERVICE_PROTOCOL when configuring backup_swift_url for
cinder configuration.

Change-Id: I09de62e8deca86b473cee969ba2c5919d4f9892d
Closes-Bug: #1393554
Log early boot of Ironic VMs to serial with sgabios

This adds sgabios to the list of packages for Ironic and configures
the libvirt domain to redirect BIOS messages to serial via sgabios,
when console logging is enabled.  The sgabios package in Ubuntu
currently has an apparmor bug, so that is worked around here.

This allows visibility into early boot of Ironic nodes and should
help get to the bottom of a frequent failure we're seeing in the gate.

Change-Id: Ifd18851e2d23d198d36e67883a81afc6a92d2a58
Related-Bug: #1393099
Add oslo.context

Treat the new oslo.context library just like the other Oslo
libraries. i.e. make it possible to either test with upstream
released library, or with git versions of oslo.context.

Change-Id: I2dc498324d6c405655a8e2e249465c5b351ca960
lib/dstat: Fix a comment

Apparently this file was copied from lib/apache.

Change-Id: Ie89d423ca225c697122820a1d9e859769aea9f86
lib/dstat: Include page stats

Add -g option for dstat.

From the man page:

       -g, --page
              enable page stats (page in, page out)

Change-Id: I865304483af0a529ea8722ed0a9f35ab350670d2
Moving horizon compression offline

Making the horizon scss compilation and compression happen offline.
Potentially fixing an issue with parallel compression in devstack.

Related-Bug: #1345955
Change-Id: I066c80e06a92302a3f8dc5fd45d127fbde6cf99c
Use mysql in Ubuntu 12.04 (precise)

After commit 6d20f090, devstack does not work on Ubuntu 12.04
because Ubuntu 12.04 does not provide mariadb but devstack expects it.

Change-Id: Iae9a7a1c09f1fc83573c3926b3470955c244c401
fixes cleaning up of ironic directory from /etc

Closes-Bug: 1391083

Change-Id: Ic47161ab375716cc39ee1a7dd57034782717e323
Merge "lib/dstat: Fix a comment"
Fixed conditions to determine if current distribution is a Fedora based distribution

stack.sh line 223:
if [[ is_fedora && $DISTRO == "rhel6" ]]; then

stack.sh line 234:
if [[ is_fedora && ( $DISTRO == "rhel6" || $DISTRO == "rhel7" ) ]]; then

stack.sh line 358:
if [[ is_fedora && $DISTRO == "rhel6" ]]; then

Condition [[ is_fedora && $DISTRO == "rhel6" ]] return wrong result.
This condition is equivalent to the
[[ -n is_fedora && $DISTRO == "rhel6" ]]. First expression -n is_fedora
always not null, therefore this condition the same is
[[ $DISTRO = "rhel6" ]].

Change-Id: Ida9eaa7950554bcd2f183dede7ad19522f9ca558
Closes-Bug: #1393684
Merge "Moving horizon compression offline"
make run_tests.sh run devstack unit tests

run_tests.sh was created as an entry point for bashate. We stopped
using it now that we know how to run bashate directly in the gate. 
We lost running an unrelated bashate test when that happened.

Devstack does have unit tests. We don't run them. We should. 
Especially when working on things like the LIBS_FROM_GIT which is
sufficiently tricky that we really need to add unit tests to ensure
that we don't break it.

Change-Id: Ife067855569e2eae4c085471d326e8086de37332
add LIBS_FROM_GIT to docs

Also reformat common configuration variables to have an additional
header level which makes it easy to direct link to specific
configuration vars when directing someone.

Reformat header markup to us a more standard == = - for h1, h2, h3

Change-Id: I10bac5a93529cdfbcde0a05f9ebdbc1799d403cd
apparently the upstream naming is tempest-lib

tempest_lib was how this was generally referred to, however that meant
that the job naming wasn't specifying the correctly src
library. Change to tempest-lib to actually test these things before
release.

Change-Id: I4c0712156d7ff71ee43747f30ab940e249d12ebc
Merge "Log early boot of Ironic VMs to serial with sgabios"
Merge "Add TEMPEST_ENABLE_NOVA_XML_API option"