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 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
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
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
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
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
Add tests for Swift in orchestration

Change-Id: I5102768103a1d2f772afba9c94316ba44b32f198
Fix InvalidInstanceID.NotFound handling

The matcher used with boto tests is returing with None,
 when it matches. The incorrect condition handling may lead to
longer deletion time or failure.

Change-Id: I7d03528ab6183dd9a49169c0a6ec2a4a95fb7d52
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
Implement pluggability for tempest (exceptions)

First patch of three patches:
->1. exceptions
  2. config (+ module_utils.py)
  3. clients

The main intend is in moving currently existed single 'exceptions' module in
exceptions tree.
It allows separate exceptions by differencies:
- base
- main/common
- project-specific

It also allows to simplify search and using of exceptions, merge changes into
Tempest with minimized amount of merge conflicts.

Partially-implements: bp make-tempest-pluggable

Change-Id: I5c50affba0fce721583a6d56216e56c94ec3b188
Stress runner friendly logging.conf.sample

tempest.common.log.TestsFormatter formatter was removed from the tempest
repository. It makes the current sample config file useless.
We will use the same ContextFormatter in the sample config as we use in the
normal runs.

The tempest.log file will be appended, instead of replacing.
The summary of the stress runs will be printed to the stdout.

The syslog handler preserved in the sample config, but it is not in use
anymore. If someone want to use, he can enable it by little change.

NOTE:
You need change tempest.conf [DEFAULT]/log_config_append to point a valid
logging config, if you would like to use special log related
configuration.

Change-Id: Ic6ede3943e309a102d4af6dec505f0d4cbd3bc2b
Scenario : Start instances using fixed network when possible

Uses the fixed_network_name option to select which network
to boot test instances on.  This allows Tempest to be run
in environments where there are multiple networks available.

Change-Id: I64ad6ce6bee3fe33537ac4f8d8d913856fe46554
Partial-Bug: #1250866
Test creating router setting tenant_id

This test creates a router from an admin user
setting the tenant_id.

Change-Id: I7a7ce90f04f928fb63092d761589e27e6b66dfd9
Fix the usage error for config

Can't use 'self.config' to read the tempest.conf, change to use 'CONF'

Change-Id: I911a35ce90a9b65aa7bf1341e9f927e95049e074
Closes-bug: 1284500