Add Nova v2.1 API endpoint

In Juno cycle, we started to implement Nova v2.1 API and most part
has been implemented now.
For using/testing the API, this patch adds the endpoint setting to
devstack.

Change-Id: I25557cb2b0a1384ee11d3e1ae7d424828e766e50
Relocate SERVICE_TIMEOUT to stackrc

cinder_driver_cert.sh restarts volume services
and needs the SERVICE_TIMEOUT variable set, but
that was being declared in stack.sh.

Rather than create another duplicate variable in
the cert script, just move the SERVICE_TIMEOUT
variable to stackrc so it can be shared like other
common variables.

Change-Id: I650697df015fed8f400101a13b6165ac39626877
Closes-Bug: 1350221
Use service role for neutron instead of admin

When creating the account for neutron to use in keystone,
give it a service role instead of an admin role so it isn't
overprivileged with the ability to create and delete tenants.
Also set the Neutron policy.json file to allow the Neutron
account to administer Neutron.

Closes-Bug: #1344463
Change-Id: I86b15cfcffe549654c28f425c2bcf99403ac10bc
Install dib from pip

diskimage-builder makes releases to PyPI and is not part of the
integrated release. Since it's not, we don't need to consume its
master branch - rather, we can consume its releases.

Change-Id: If9297a28604612140c39dfe44e77107d1372f0bb
don't set nova.conf auth_strategy

keystone is the default value, so no need to override it.

Change-Id: I8e00071612d79959531feffc7e7993fa8c536359
use released library versions by default

This patch provides a new path for installing libraries in devstack so
that it's possible to either test with upstream released libraries, or
with git versions of individual libraries.

Libraries are added by name to 3 associative arrays GITREPO,
GITBRANCH, GITDIR. When we get to the library install phase we inspect
LIBS_FROM_GIT and look for libraries by name (i.e. "oslo.config") and
if they exist we'll clone and install those libraries from
git. Otherwise we won't, and just let pip pull them as dependencies
when it needs them.

This patch provides the conversion of the oslo libraries, including
pbr.

Devstack-gate jobs for these libraries will need to change to support
actually forward testing their content.

Change-Id: I6161fa3194dbe8fbc25b6ee0e2fe3cc722a1cea4
Drop workaround for pip < 1.4

Now that we are on pip 1.5.6 lets drop the workaround to make pip 1.4
work. As this is a development/testing tool requiring a newer pip
shouldn't be an issue. Also stack.sh installs pip by default.

Work around introduced in https://github.com/pypa/pip/issues/709

Change-Id: I0e7aad1d21f4fce4c020ce36685bb56893c66bdc
Specialize Zaqar's cleanup function

Instead of having mongodb specific cleanup logic in `cleanup_zaqar`,
specialize it to perform clean ups based on the driver that has been
enabled.

Change-Id: I5807a83443b87b2c8d184e0cd2d5563a649c6273
Add support for redis to Zaqar's lib

A new redis driver has landed in Zaqar. This patch adds support for that
driver to Zaqar's lib.

Change-Id: I97629a303c55ee098e3bfbc534bfb05ccab94649
Adds qemu packages to ironic's apts

Nodepool images have recently migrated to being built with DIB, resulting
in strange changes in how the package dependency chain works out.  This
explicitly adds required qemu packages to Ironic's apts to avoid some
not being pulled in by package dependencies alone.

Change-Id: I60373ee5ad7445cd54c8c013085b28d82bb0d085
Closes-bug: #1376863
Merge "Specialize Zaqar's cleanup function"
Merge "Install dib from pip"
Fix docs build errors

Fix shocco errors during docs generation

Closes-Bug: 1362691
Change-Id: I2b7fb008c89f0b4e7280b2d0a054320765e83e47
Merge "don't set nova.conf auth_strategy"
Merge "use released library versions by default"
Merge "Adds qemu packages to ironic's apts"
Added libvirt-dev[el] as a required system package

Added libvirt-dev as a system package to install with apt-get and
libvirt-devel as a system package to install with rpm.

Early drafts qualified with "testonly" (meaning to install only if
INSTALL_TESTONLY_PACKAGES is true).  This is needed because installing
libvirt-python version 1.2.5 on Ubuntu 14.04 was observed to fail in
the building step if libvirt-dev is missing.  Later drafts removed
that qualification, because Sean Dague said he thinks libvirt-dev[el]
is always required.

Change-Id: Ie6a272f60059a1f363630f307416b32c450a1ebb
Closes-Bug: 1362948
fix olso != oslo typos

Apparently oslo is the hardest word in the world for me to understand
that I didn't spell correctly.

Change-Id: Id1b52529001319eaf41321118ab560711c752003
restructure stackrc into groupings

in order to support installing from stable libraries we first need to
actually sort out all the categories our giant list of git repos fit
into. This will make it much easier to not lose one in the process.

Change-Id: I708c65428fdc7442e1661037f425e466048166d3
Source functions from stackrc

stackrc now requires GITREPO, GITBRANCH, GITDIR and has been
dependent on functions for a while (is_package_installed).  Ensure
we source the required functions file when stackrc is loaded.  Avoids
unexpected issues in grenade where they may or may not have been loaded
depending on the configuration.

Closes-bug: #1377274

Change-Id: I5027cfad07af0de7ff39f424601d6f7ec5dcadae