add is_keystone_enabled

This is missing, and makes logic much harder for the grenade use
case.

Change-Id: Ib6670096d190e69273256b87e6a67e2b46945a0d
(cherry picked from commit 4f3b66f538937cf0c7f9fdc97e5472f4c77bbe69)
Make sure tox is installed when setting up tempest

Partial backport of I8008837d2fae6cebeeeb051b63066279ca477e01

In order to make grenade easier to run outside of the gate make sure tox
is installed when tempest is set up. Currently one has to install tox
manually to get grenade to work.

Change-Id: Ie20de0c523cf1c31683fe69fa88f73705bed06b9
Add conntrack-tools to nova dependencies

'Error deleting conntrack entries' appears in all
n-net. Adding conntrack-tools/conntrack as nova dependency,
in order to eliminate this issue.

This is needed to fix this issue in the grenade case.

Change-Id: Ief9deeb3349a07e22fb365e58f3368c847f845ef
(cherry picked from commit 40f4438f9baa945e451f8a9fc682efe3fdf9b8f7)
Merge "Make sure tox is installed when setting up tempest" into stable/icehouse
Merge "add is_keystone_enabled" into stable/icehouse
Fix Swift config for Ceilometer usage

Ceilometer filter was previously removed from the Swift
configuration to avoid useless Ceilometer logs in the Swift
ones. This was fixed by setting only warning log level for
this Ceilometer part of the pipeline to keep only important
ones.

that is needed in stable/icehouse to allow swift+ceilometer
in devstack and devstack gate (otherwise grenade job, that is
using stable/icehouse devstack, won't pass the gate)

Change-Id: I8c41355bb98dbf3bb59ec792221b05ea936086b7
Partial-Bug: #1294789
(cherry picked from commit eedfdee060b17d38b14628b7e706967cb15a35af)
Adds support for Hyper-V image formats

Adds support for VHD and VHDX image formats, including gz compression.

Note: variables naming case changed to match the target branch

(cherry picked from ca8239449fbdbc3a73f691683be2ec9d4a941ff6)

Change-Id: I9b143c9883b947397b435a671f13703f78019d23
Closes-bug: #1353726
Merge "Adds support for Hyper-V image formats" into stable/icehouse
Don't set tunnel_types on VLAN network type

The current code sets tunnel types for the neutron agent
even when the network type is 'vlan'. This results in the
agent not starting because 'vlan' is not a valid tunnel type.
This patch changes it so tunnel_types is not populated when
vlans are used.

This bug just now surfaced because of commit
8feaf6c9516094df58df84479d73779e87a79264 requiring Q_ML2_TENANT_NETWORK_TYPE
to be set to avoid being set to the 'local' type.

Conflicts:
	lib/neutron_plugins/ml2

Change-Id: If2bc57b36dad2bfb34df573581acce176604812e
(cherry picked from commit e3cfbf1580d4e0b77191a2f4bcb61bde9f8d9815)
Merge "Fix Swift config for Ceilometer usage" into stable/icehouse
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.

(cherry picked from commit 62cae13d7e7e13102a02aa385ae63b8e2afb7c83)

(We need to squash these 2 patches together to pass tests)

Use tox for bashate testing

Create a tox.ini file to install bashate into a virtualenv for running
tests. It can be run with a command such as "tox -v -ebashate". The find
command being used is equivalent to the default list of files discovered
by bashate plus the exclusion of the .tox/ directory. Also add the .tox/
directory to the .gitignore file.

Conflicts:
	.gitignore

Change-Id: I7876b5c94d90f15e3b0228999c0750bfbebcaa1c
(cherry picked from commit 0c256abd766265b8fdb11d354be7115c05bcaeb5)
Add docs environment to tox.ini

As per the governance resolution https://review.openstack.org/119875,
projects should have a docs environment in their tox.ini testing
interface. Add one.

Change-Id: Ib3548bc23713e120089ae29b5c4e851de48cf8d3
(cherry picked from commit 81fa6c7b4bd5a1d57cc095395b9d2ba3eeb6c20f)
Run processes without screen

This introduces new run_process() and screen_service() functions and sets the
groundwork to change how DevStack starts services.  screen_service() is simply a
direct call to the screen portion of the old screen_it() function and is intended
to run commands that only need to run under screen, such as log file watchers.

run_process() is a replacement for screen_it() (which remains until all of the
services are updated).  The usage is similar but requires updates to every current
screen_it() call to remove everything that requires the command to be interpreted
by a shell.

The old run_process() and _run_process() functions are still present as
old_run_process() and _old_run_process() to support the deprecated screen_it()
function.  These will all go away in the future once all services have been
confirmed to have been changed over.

There is a similar new set of stop process functions stop_process() and
screen_stop_service().  The old screen_stop() will also remain for the deprecation
period.

As an initial test/demostration this review also includes the changes for
lib/cinder to demonstrate what is required for every service.

I included the scripts I used to test this; tests/fake-service.sh and
tests/run-process.sh are quite rough around the edges and may bite.  They should
mature into productive members of the testing ecosystem someday.

Conflicts:
	functions-common
	lib/cinder

Change-Id: I03322bf0208353ebd267811735c66f13a516637b
(cherry picked from commit 3159a821c2e0662278746c5311e187bcfd4d8b75)
Replace screen_it() with run_process() throughout

run_process will use screen if USE_SCREEN=True (the default),
otherwise it will simply start the requested service. Therefore
wherever screen_it used, run_process can be instead.

Where stop_screen was found it has been replaced with stop_process.

A tail_log function has been added which will tail a logfile in a
screen if USE_SCREEN is True.

lib/template has been updated to reflect the use of the new
functions.

When using sg the quoting in run_process gets very complicated.
To get around this run_process and the functions it calls accepts
an optional third argument. If set it is a group to be used with sg.

Conflicts:
	functions-common
	lib/ceilometer
	lib/keystone
	lib/neutron
	lib/sahara
	lib/zaqar
	stack.sh

Change-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca
(cherry picked from commit 2f27a0ed3c609bfcd6344a55c121e56d5569afc9)
Merge "Run processes without screen" into stable/icehouse
Merge "Replace screen_it() with run_process() throughout" into stable/icehouse