install test-reqs when TESTONLY packages are installed

INSTALL_TESTONLY_PACKAGES in devstack only impacts .deb/.rpm files
even though most of our test requirements are actually specified
in python. This will do an explicit install of test-requirements.txt
if pip_install is called with args that look like a directory,
and test-requirements.txt exists in that directory.

Change-Id: Id21e282ddc945c819c9c8c4d724658e28bfde785
Clean up local variable usage - Zaqar

Change-Id: Ie274ce587134d3a3a928a3825dc4452298c5c4d0
Configure enabled and disabled extensions in tempest

This patch adds support for configuring the api_extensions
option of the various feature-$service-(enabled|disabled)
sections in tempest's configuration file.

Please note that enabled extensions for the object storage
service are specified in tempest using the discoverable_apis
configuration options.

Partially-implements: Blueprint branchless-tempest-extensions

Change-Id: Ib64c0a474b153f42f3a4a427d86275c85f107997
Change httpd Keystone access log to keystone_access.log

Keystone's access log was going to httpd/access.log, which is the
common place for all access logging. This made it difficult to see
Keystone accesses apart from other access. Keystone's access log
will now be keystone_access.log

This makes the Keystone configuration similar to Horizon which uses
horizon_access.log.

Change-Id: I6e5ac121302b3d138758e6c49dffa9f05ad2fb85
Partial-Bug: #1359995
Pull dstat logic into its own function so grenade can use it

In order to use dstat on the new side of grenade, pull dstat code into
its own lib with the function start_dstat

Change-Id: I5c908d594a6f3a90ed4b3f744002bf606841cf07
Faster nova fixed key generation

Using bc 64 times in loop is too verbose and slow,
replacing the echo/bc loop with hexdump and urandom.

The hexdump approach is 75 times faster and
does not floods the debug logs.

Using the common function for generating,
this kind of string with lib/heat and by the read_password.

Change-Id: If6a86dfaf0c21e2635c6de0a7b96a8ed7ec5b507
Add oslo.utils and oslo.serialization

Install the oslo.utils and oslo.serialization libraries from source so
the gate tests run against master.

Change-Id: I2cb35c9dfd18588e4caa11134e6a34d83324e136
Remove usage of $[ for arithmetic

$[ is deprecated for the more familiar $((

Required when bash8 starts testing from tox and [1] goes in

[1] https://review.openstack.org/#/c/117430/

Change-Id: I8ba180be036836f37ebdbb6da36ff0be486c043e
Fix regression in Cinder volume type creation

The local-vars cleanup (Iedeafa15def1fa26d4ddcbc5f670129f66e38b9d)
spanned (and missed) this fix (Ib35ffc09f6582354010ac8ca35da581ea508877a)
for volume type creation.

Change-Id: I2b95cbc946727d7708283eca0c07ba1eaddf5db8
Use correct class path for token persistence backend

Keystone has moved over to using a new location for the token
persistence backends (drivers). The old values will continue to
work, but this will limit the deprecation warnings for an out
of the box devstack install.

Change-Id: I7c437788c8aee0106fa7f3c37617fbd1220291ef
bp: non-persistent-tokens
Add myself to the MAINTAINERS file for Swift

Change-Id: I9daeadabab9048234d946ea99be7f05254f5bc0c
Remove sahara-dashboard

sahara-dashboard has been removed in the commit:
  Change-Id: I1f0e93e1dee3d065c4f00d8bf2042bebc8d45a22
However, there is still sahara-dashboard in extras.d/70-sahara.sh. This
causes an error.

/opt/stack/new/devstack/extras.d/70-sahara.sh: line 7:
/opt/stack/new/devstack/lib/sahara-dashboard: No such file or directory

So this commit just removes it.

Change-Id: Iae76dc5f92a1f0a557d43d74b9b5d2c347cc23a9
Closes-Bug: #1363828
Move to epel 7-1 release

EPEL7 has updated.  AFAIK there is no better way to determine this; we
could possibly scrape [1] but this just seems to replace one problem
with another (maintaining the scraping)

[1] http://download.fedoraproject.org/pub/epel/7/x86_64/repoview/epel-release.html

Change-Id: Iadf66c92fcf31edeb0f364a5b1de5d87630e9a42
Set flavor id for Ironic's baremetal flavor

An existing trove bug prevents it from functioning when Nova flavors exist
with an id that is a UUID instead of an integer, causing Tempest failures.
This sets an integer ID when creating the baremetal flavor for Ironic's use.

Change-Id: Ic090f61a9a47421117dc86b640422f00f468112c
Related-bug: #1333852
Merge "Faster nova fixed key generation"
Merge "Add myself to the MAINTAINERS file for Swift"
Set configs for glance_store

glance_store uses a new section to keep its configs. This patch
duplicates the existing, store related, config options and sets them
under the glance_store section.

Once glance is fully migrated, the old options will be removed.

Change-Id: Ie3de87cf07a321415d111e644ccbb360c7491151
don't install boto from packages

installing boto from packages pins some other pure python libraries
(like requests) in an unexpected way. As this is pure python we should
instead let this be install from pip and thus be controlled by global
requirements.

Change-Id: If5df9de8c3e1ad8faceab4b43c86134dbbc55a51
Fix tools/xen/functions for bashate errors

Change I205d675ff231c0403dd135eacc8d57b45317859f modified the matching
for bashate and it has started running on this file, whereas before it
wasn't.  This fixes the errors it is now picking up.

Change-Id: I7876b5c94d90f15e3b0228999c0750bfbebcaa1c
Add oslo.concurrency and oslo.middleware

Install the oslo.concurrency and oslo.middleware libraries from source so
the gate tests are run against master.

Change-Id: I194fc160127ab8b4b7d0086586d8ba7f92c67076