Add tempest test for heat resource OS::Nova::KeyPair

The template will create two OS::Nova::KeyPair and will test that:
   [*] The key with save_private_key flag set to true outputs both
       public and private keys.
   [*] The key with save_private_key flag set to false outputs
       only the public key.

Testing other cases will require to recreate the stack and
include a negative test case.

Change-Id: I751a85e0efd997a1238c53d8802ebdd8b551e7aa
Partial-Bug: #1271995
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
Replace assertEqual(None, *) with assertIsNone in tests

Replace assertEqual(None, *) with assertIsNone in tests to have
more clear messages in case of failure.

Change-Id: I2732b3e747bd9394f9add7f1b077b366864fddd7
Closes-Bug:#1280522
Add api tests for neutron router

Add tests for:
- Update router administrative state
- Add several interfaces (to different subnets) to a router
Add improvements for:
- When removing an interface, assert correct subnet id from the response
- When removing an interface, assert correct port id from the response

according to https://etherpad.openstack.org/p/icehouse-summit-qa-neutron

Change-Id: I538e8bed2f5c726ebd610d406702d4ef9de88723
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
add TRACE level to the items that are being flagged

Change-Id: I7f13829abe2f5c7a5f0b9173acf43b3c709b1a5e
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
Improve ServerCfnInitTestJSON asserts and debugging

This change asserts that every heat resource goes into the
CREATE_COMPLETE state, and if the WaitCondition times
out then the server console log is logged.

To make the template more readable and maintainable, usages of
Fn::Join have been replaced with Fn::Replace.

Change-Id: I59fb54a292e77c7acf3c3ba2e1b02bdf06e998de
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
Add tests for Swift in orchestration

Change-Id: I5102768103a1d2f772afba9c94316ba44b32f198