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
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
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
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
Add oslo.log

Install the oslo.log library from source so the gate tests
are run against master.

Change-Id: Id2925ce733773d8189ecc0d24b0384c44fad7b72
Keystone access log in key-access screen

When Keystone was run in Apache Httpd the access log wasn't in a
screen. A new screen called key-access is now started with
Keystone's access log.

Change-Id: Ie1f4d4b679e1b9c87f0cea37deb25f7b6636fe01
Closes-Bug: #1359995
Allow devstack to build ironic agent ramdisk

This provides a way to test Ironic-python-agent code that is
not yet merged.

Change-Id: I85084c383263173a33250592a95a17f46827b347
Merge "Use correct class path for token persistence backend"