Add logging config values

This commit adds logging config values to Tempest. Users of Tempest can
know the config values exactly when Tempest runs.

Change-Id: I4ae50021812b7c49e26c19ef1db941e2eccec8c4
Add more information to BuildErrorException

This commit adds expected_status to BuildErrorException. This is helpful
for checking the error details.

Change-Id: I2979d39467daeb06793081b83e3a5b81b7d5623e
Closes-bug: #1265559
Adapt documentation for negative testing

With the introduction of the new negative testing framework the workflow
for new test has changed.

Partially-implements: bp negative-tests
Change-Id: I522c2be227a120a6a714349fa29b31e60b5e0bf4
Fix coverage option for run_tests.sh

This commit fixes run_tests.sh so that when the -c flag is specified
coverage will actually be collected. Previously the --coverage option
was added to testrargs, however this isn't a testr flag. It is used by
pbr to wrap testr with coverage start and coverage report. This changes
run_tests() so that when coverage is specified it runs the unit tests
using setup.py so that the coverage flag can be used.

Change-Id: Iad0d508b6a4638a67e45646148144f627588fa48
Add quota_set detail test for Nova v3 API

"get quota_set detail" API has been added since Nova v3 API, and the
returns the following body as a response:

  {"quota_set": {
     "id": "e9f3b1c3952e49369d9a02b6bc495cae",
     "instances": {"reserved": 0, "limit": 10, "in_use": 1},
     "cores": {"reserved": 0, "limit": 20, "in_use": 1},
     "ram": {"reserved": 0, "limit": 51200, "in_use": 64},
     ...
  }}

This patch adds a test for this API.

Partially implements blueprint nova-v3-api-tests

Change-Id: I5eb6f5e14065aeb7f56fb5a6a1095786773d167a
Fix containers with expired objects deletion problem

This fix adds a try/except statement around delete object function,
in order to be sure that even if one of the objects that is listed
in container is expired/is not found the containers will still
be deleted.

Change-Id: Ie49ce66304aefcb8264001b811859c8768e61fc7
Closes-Bug: #1281599
Couple of fixes to tempest/auth

Basically if you don't pass a header, the method header was None and later
when you try to assign a value to it's copy in _decorate_request method you
try to assign a value to a NoneType. Fixed the issue changing the copy to
fallback and provide an empty dict in case headers are None (The assign occours
in line 181).

The second fix is related to the base_url method in Keystone v3 provider. We
test the size of the filtered catalog matches and if equals to zero we need to
assign it to the first endpoint in the service catalog instead of the filtered
catalog itself (which has length zero, so impossible).

Related to bp unit-tests

Change-Id: I9f11ddcb6f34c0161cb338a1956cefc52e990af2
Mildly wound the interlopers

This commit removes all the references to nose in the tempest tree.
Moving forward trying to support nose which doesn't support some of the
features we rely on in tempest is increasingly difficult. Please refer
to this thread:

http://lists.openstack.org/pipermail/openstack-dev/2014-January/024673.html

for a more detailed explanation and the discussion regarding this.

Change-Id: I3dee566d33efe1fb7808817b885d1680736abe6a
Seperate negative tests for test_server_rescue

Move negative tests from test_server_rescue.py to
test_server_rescue_negative.py

Partially implements blueprint negative-test-files

Change-Id: Ia8321e9869b22c85a5a013c099fd0b6dbdbd6396
Fix misspellings in tempest

Fix misspellings detected by:
* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -

Change-Id: Ib92aabf48a18a32aa7384f7ad4b7337be78edc34
Closes-Bug: #1257295
Separate negative tests for test_multiple_create

Move negative tests from test_multiple_create.py to
test_multiple_create_negative.py.

Partially implements blueprint negative-test-files

Change-Id: I413d02356f2c3f578c01a6e2e7beb953576c4015
Separate negative tests for test_projects

Move negative tests from test_projects.py to test_projects_negative.py

Partially implements blueprint negative-test-files

Change-Id: I37d3eb8f30ec0101a2abc3f3ca71d191ea1c7fa6
Skip EC2VolumesTest if Cinder is not available

While other volume tests are skipped if Cinder is not available,
such skips are not present in the EC2 tests.

Change-Id: I9f28cf5ea094c0ae2cd6522e15318aada354a369
Closes-Bug: 1282833
fix duplicate api_extensions

[network-feature-enabled] has 3 api_extensions entries in
tempest.conf.sample. 2 of them should belong to
[compute_features_group] and [volume_feature_group].

Generator compares the opt with opts in groups to find
the group in which the opt is. These 3 opts has same
'name', 'default value', and 'help message'. And first
match is '[network-feature-enabled]', so they go to the
same group.

This patch add some unique help info in api_extensions
opts to fix it.

Change-Id: I99dacc73281b16ed430912919defe3b4d9eb8b14
Closes-Bug: #1280085
Clarify admin_delete_server_of_others test case

create_test_server() doesn't wait for server 'ACTIVE' by default now.
But this test case verifies 'Can a admin delete servers of others?'. So
we should wait until 'ACTIVE' here.

Change-Id: Ibb9e65166035c686c0b222033cb08f32a63f8b23
add cli.has_manage option

this indicates if tempest is being run in an environment where the
*-manage commands could be run. This will not be all environments,
but if you happen to be running tempest on your management node
it is nice to be able to test these things.

Change-Id: I5fcabc19afc90950ee214343789dcfc13fc370a1
Closes-Bug: #1282178
Use Python 2.6.x compatible syntax for dict comprehension

The dict comprehension syntax used here was added in 2.7.
With minimal change it can be adjusted for Python 2.6.x

Change-Id: I920c4a4181fdf5c696ba873224a2c07f09e914e4
Avoid masking an assert failure with a KeyError Exception

This patch does not address the underlying issue as to
why the key was not in the data dictionary, but it serves
the purpose of getting a better error message due to the
failure in meeting the pre-conditions to the test.

Change-Id: I507a34456e8d047728bb7c1d1e5d189e3d00e7c1
Related-bug: #1268274
Fix a typo of debug log in scenario/manager.py

This commit fixes a incorrect word grammatically.

Change-Id: Id38069cfb107a0c6a6c6de4543e3a899532d916e
Refactor Managers to a common base class

Multiversion auth part3

Refactor client managers to inherit from a common manager.Manager
class. Moves scenario base manager to clients.py.

Partially implements: bp multi-keystone-api-version-tests

Change-Id: Iddacbaa4593b7cb4d32538a5cade814751c180e0