Work toward Python 3.4 support and testing

Change-Id: If36e1a5e51cf63e499acb374d4aeace608c13512
Make SwiftScenarioTest methods public

An earlier refactoring (commit
0d49411dbb7d6818bb6ca82ba5b769eeffd8f305) extracted the test manager
to a new class. In order to limit the surface area of the change
existing methods name were left unchanged.

This change updates those method names to make them explicitly
public so future test developers recognize their availability.

Change-Id: I3f3492dbe122797d9683e84373830e820cd8c038
Add a test for deleting multiple objects by POST method

From swift Icehouse version, bulk deletion supports POST method as well as
DELETE.

Extra fixes:
 - Bulk is an optional function with WSGI middleware, therefore each test
   is annotated with @test.requires_ext
 - Refactor test_account_bulk.py by separating common codes to one method
 - Simplify delete_account method of the Swift's account service client

Partially implements blueprint add-icehouse-swift-tests

Change-Id: I3b63bc730f993cdb626c5a77c18ae917d98e911b
Unskip test_create_and_get_delete_bucket()

test_create_and_get_delete_bucket() was skipped because of bug 1076965
which is now in a state which should allow us to unskip it.

Change-Id: I56bc2bfb5a3019cf4a2979b40c7d7cbe3c8cf71a
Related-Bug: #1076965
Unskip test_update_port_with_second_ip()

test_update_port_with_second_ip() was skipped because of bug 1364166
which is now in a state which should allow us to unskip it.

Change-Id: I263bd4ef45ea02b18c6d00b6e27f0b12442be9ee
Related-Bug: #1364166
Add response schema for V2 sec grp default rule

This patch adds response schema for nova V2
'os-security-group-default-rules' APIs.

Response body of create/show 'os-security-group-default-rules' -
{
    "security_group_default_rule": {
        "from_port": 80,
        "id": 1,
        "ip_protocol": "TCP",
        "ip_range":{
            "cidr": "10.10.10.0/24"
        },
        "to_port": 80
    }
}

Response body of list 'os-security-group-default-rules' -
{
    "security_group_default_rules": [
        {
            "from_port": 80,
            "id": 1,
            "ip_protocol": "TCP",
            "ip_range": {
                "cidr": "10.10.10.0/24"
            },
            "to_port": 80
        }
    ]
}

Delete API only returns 204 status code.

Change-Id: Id24857ee95445570d45aac3e1a25e607d8df78d1
Migrate TestStampPattern to tempest client

Migrate TestStampPattern to tempest client. The test is currently
disabled in the gate, so this will be tested by adding a temp
patch on top removing the skip.

Partially-implements: bp:tempest-client-scenarios

Change-Id: I42524372ae64121f2e3b58f37b960f8d1bbc8b6a
Migrate database API tests to resource_* fixtures

Partially-implements bp resource-cleanup

Change-Id: Iadb0a985e9ea3567c276a4659948037d39d7b845
Migrate data_processing API tests to resource_* fixtures

Partially-implements bp resource-cleanup

Change-Id: Ife28fc82dfab4262147bc118ed90cb162f462510
Migrate image API tests to resource_* fixtures

Partially-implements bp resource-cleanup

Change-Id: I46bf457bf3ed1cfedc40b77c82fdfbbd4f4ee1e6
Migrate object_storage API tests to resource_* fixtures

Partially-implements bp resource-cleanup

Change-Id: If8398052f2bf50694deeb3ac9edf677a51c6fd6c
Restoring dashboard tests

With the fix for bugs 1370137 and 1345955 committed to Horizon,
the need for skipping the dashboard tests should be resolved.

Change-Id: I24b6d55f3537d9e055806daab0135b1c42a8aafd
Updates Tempest to match Zaqar's API name change

Zaqar is a messaging service which provides support for different
messaging patterns and messaging related semantics.
This fix changes the old API name -queuing- to a more accurate name, -messaging-.

Change-Id: I63321e8b9f277be040d0f75d5ed9f4461da0defc
Drop autoscaling scenario test

Drop autoscaling scenario test. It has always been skipped, so there
is no loss of test coverage. It takes a very long time to run since
it uses real alarms to perform 4 scaling operations.

See https://review.openstack.org/#/c/122320/.

Change-Id: If37f63565a235c6128566f8f2cd993ed247f0912
Partially-implements: bp/tempest-client-scenarios
Add a test documentation section to the docs

This commit adds a new section the HACKING and REVIEWING docs. It
explains the guidelines around inline documentation when
contributing new tests.

Change-Id: Ib56723d0c748baf41439975102d1363f81085f50
Lock test_resize_server_using_overlimit_* tests on 'compute_quotas'

The test_resize_server_using_overlimit_* negative tests are getting the
default quotas and creating a flavor that bumps one of the quota values
just over the limit, expecting an OverLimit failure when trying to
resize an instance to that temporary new flavor.

This can race with the os-quota-class-set admin test which changes the
default quotas, so lock the server negative tests using the same lock
fixture used in the quota class set tests.

Closes-Bug: #1372093

Change-Id: I380a7f057a6b6df94cc029f65f357de7368dc2f7
Properly preserve trace on error during wait

This commit starts using save_and_rereraise_exception from oslo
excutils when handling an server ERROR state during a wait loop.
Previously, if the wait loop in the common api create_server method
caught a BuildErrorException it attempts to do some final processing
and cleanup around that server. However, doing this interferes with
the trace output from the failure and only would show the subsequent
re-raise as the stack trace. This commit avoids that but using the
oslo method to get around this.

Change-Id: I62193af963020311d5ed90a847c9764faff3e4c2
Migrate test_load_balancer_basic to tempest client

This patch migrates the load balancer basic ops scenario test from official
client to tempest clients.

It also removes the NeutronRetriever class from the test script

Partially-implements: bp:tempest-client-scenarios

Change-Id: I4f3da202646821671d0e98707031a49973c256b2
Log deletion errors in  clean servers

Although we don't want to cause tempest to fail on error while deleting
a server in tearDownClass as these types of issues are hard to debug. We
should at least log the issues instead of hiding them completely.

Change-Id: Id0c172e247ecfcd4eec85bafd4787e33944cee1a
Related-Bug: #1372696
Remove duplicate _ping_ip_address() methods

This patch removes the duplicated _ping_ip_address methods.

Change-Id: Ia94c1f7f483ad455f9363b54d655db3818bbed56
Closes-bug: 1373025