Switch to using testr as the test runner for everything non-gating.

This commit switches the test runner in tempest to testr from nose for all
jobs that aren't gating. This will allow the usage of parallel testing with
the use of a group_regex in testr. Group_regex will ensure that the classes
get scheduled together and the run times are tracked together. Than the
tools/run_test_classes.py script will filter the test_ids and pass only the
classes to subunit.run to ensure we are only running setupClass once.

This commit also adds a new option to run_tests.sh. -t/--with-testr can be
used to optionally run tempest in parallel with testr. Once running with
testr gets stable enough this will become the default for run_tests.

It also adds a testr-full tox job so we can have a tracking non-voting job
that runs the same tests as the gate but with testr.

Implements: blueprint speed-up-tempest

Change-Id: Iedc9bd92b8f8471c60c614c7d7c05046d7b32743
Fix stress-tox-job.json action file.

Change I39b8a1d38f70ddda4867126b58bb7053b45654d6 changed how the
actions are called, but stress-tox-job.json was merged at the same
time. This commit updates the json definition to use the new paths
so that the tox job will work again.

Part of: blueprint stress-tests

Change-Id: Idadf08e0cc3f01650e72ca078a223781a0f1669a
Merge "Switch to using testr as the test runner for everything non-gating."
Remove duplicate flaky test.

Remove two flaky tests:
- test_create_image_when_server_is_terminating
- test_create_image_when_server_is_rebooting

Fixes: bug #1191590
Change-Id: I7cd1d0a9b3b87ce15cbfd4b28805e43a691aedd3
run_stress.py -h doesn't work without a connection

run_stress.py tries to connect to openstack even though it's just a
--help / -h call. Just moved the import to the corresponding function.

Implements: blueprint stress-tests

Change-Id: Id0f9784a64f3bf53ea91a67452a78d17389d7f51
Merge "run_stress.py -h doesn't work without a connection"
Use subunit colorizer from nova for run_tests.sh

This commit copies the colorizer.py script over from nova and enables
it for testr with run_tests.sh. This enables real time output from
testr about which tests ran and the result with colors.

Change-Id: Idd1b820d103bf4d71f2645e98e86e5fadbd6cb0c
Add unittest like output for testr-full in tox

This commit adds real time output similar to that when running with
nose so that it's possible to watch the status of the job when using
testr with tempest.

Change-Id: I7a65be714627692ad80b3640af0ee617fd4697a9
Document E125 as a won't fix.

As per the discussion in https://review.openstack.org/#/c/36788/ the
tempest team does not want to use E125 until
https://github.com/jcrocholl/pep8/issues/126 is  resolved.

Change-Id: I124e6f14db81d030a470ef3e73a33b15e9dea9ef
Remove unneeded class filter from .testr.conf

This commit removes the unnecessary class filter run_test_classes.py
and reverts the .testr.conf to the standard format. The class filter
is not needed when using test grouping.

Change-Id: I460c48121c26d07eb29f355c07a2059f5e6b24b0
Skip test that is not relevant to Neutron

Neutron does not support DNS domain feature,
thus this test must be skipped in Neutron environment.
Fixes: bug #1202991

Change-Id: I78f4608cce488cd515d72df2178d7a5b45bf2b85
Merge "Remove duplicate flaky test."
fix use of locals() in strings

hacking 0.6 brings in H501, don't use locals() in strings, as it
has the ability to hide errors. This fixes it in preparation of
landing hacking 0.6.

Change-Id: I7972befbb945a27ed8aa601975205736038eefa2
add missing apache2 license headers

hacking 0.6 introduces H102 - missing apache license header on the
file, which was written because I found these three files missing
the headers. Fix them in prepartion for landing hacking 0.6

Change-Id: I90252fcbb90faec60eae59bcb9669f87e8fd50fa
Adds tests for tags in boto (EC2 API)

The EC2 API now supports tagging instances. This adds a simple
test for creation, retrieval, and updating tags.

Fixes bug #1201051

Change-Id: Icca21ea29f95683403004a0a7b079a10446d9317
Add cinder_available config option.

This commit adds a new config group service_available that will be
used to specify whether a particular OpenStack project is expected to
be running or not. This group is added with one member cinder which is
used to specify whether cinder is running or not. This replaces the
check in the volume api tests for a cinder endpoint.

Change-Id: Id894fc29ce2635f1f058290d93726e789c909a86
Merge "Adds tests for tags in boto (EC2 API)"
Add global statistic for stress tests

Adds shared memory between all stress action processes and the driver in order
to generate a global statistic. A new command line option is introduced
with this it is possbile to terminate an action if the
specifited number of execution is reached.

Implements: blueprint stress-tests

Conflicts:
tempest/stress/actions/create_destroy_server.py
tempest/stress/actions/volume_create_delete.py
tempest/stress/driver.py
tempest/stress/run_stress.py

Change-Id: I34765932ba93cd6d7f0df23ab97d9483eb459978
update hacking to 0.6

allow hacking 0.6 to enforce new rules in tempest, especially the
missing license header one.

Change-Id: I787cbc942989b50c57cbc22e4bf1e4956aa64df6
Merge "Skip test that is not relevant to Neutron"