Allow new quota types

On Nova commit Ib281e43eabfbd176454bde7f0622d46fb04fcb79, we are trying
a new quota type for server groups.
However, current Tempest denies unexpected quota types on its own tests,
and we cannot add the new quota without Tempest changes.
This patch changes quota tests for checking mandatory quota existence
and allowing new quota types.

Change-Id: I4409a7240dc0a3fa1e11c64c5f5a56ca656b70a4
Fix errors on import with service tags

When skips were added to service tags the CONF check was being
evaluated at import. This will cause an exception when there is
no config file. This commit fixes the issue by moving the config
eval inside the decorator wrapper so that it is only done at run
time.

Change-Id: I4127e2b837e103a8e0c24b324458bee97a2326ec
Remove test start output in pretty tracer

Sean does not want and its currently broken.

Change-Id: I7c3cf17bfd8d273823774cd162ae011161c36d3d
Allow FWaaS API test to accept more than one end state

To support distributed routers, it is useful to have this API tempest test
to accept a firewall resource to be either in ACTIVE or CREATED state. After
all, this is not a scenario test, so whether the resoure is actually wired
should be irrelevant.

Closes-bug: #1360351

Change-Id: I2367c2877ca2ebabc08095b33a85659de2b882bd
Fix tox coverage job

To run the tempest unit tests with coverage enabled the coverage
module needs to be installed. This requirement is properly listed in
test-requirements.txt, however the coverage job definition wasn't
installing coverage. This commit fixes this oversight by adding the
test-requirements file as a dependency for the job.

Change-Id: Ic443c6c4a3166e6b198cbe2af0a77ff2f0a38e83
Improve the selectability of Swift tests

Before this commit, Tempest tests of Swift were selectable only for WSGI
middleware on proxy servers. With this commit, other following Swift
functions are also selectable with Tempest's config file.

Following Swift functions are selectable now:
 - Old-style Container Sync: mirroring objects in the container to another
   container
 - Object Versioning: versioning all objects in the container
 - Discoverability: providing details about the Swift installation

Implements blueprint more-selectable-swift-tests

Change-Id: Idd4afb675c70eea6ba4f8ce59c635f32f040c61e
Refactor ways of creating anonymous test user

Some Swift tests require random user creation to test ACL features or
prepare special data by reseller admin's requests, but that occurs
code duplication. Especially, assigning role id code was too lengthy.

This commit aggregates common codes and remove unused clean-up statements.

Change-Id: I4b965fceeec7c9cd1857375053e148d85f5f5bca
Cleanup neutron default security groups on tenant deletion

This fix cleanups tenant default security groups that are
automatically created and must be deleted on tenant deletion

Change-Id: Ifcf5ec0391799110f158d113f1b6db8a55a31da9
Closes-Bug: #1283083
Adds v2 keystone service test to service v3

This submission adds missing v3 tests in test_services.py
when compared with v2 test_services.py. Also added corresponding
support functions to service_client.py.

Change-Id: I73d44af9851cbfb33b490a313b1c2808c291840a
Fix IPv6 default masks for SLAAC

IETF doesn't recommend use of IPv6 networks
with masks not "/64". Recommended subnetting is
3-1-4 - 48 for provider, 16 for subnetting and
64 for network. For example SLAAC will not
work if you use subnets different from /64.
Test with port update will not work until
bug 1364166 is fixed, added attribute to it.

Change-Id: I260c820dbde1f98b569e564c7b5e7e558e431c0d
Allow out of quota failure status code to be 413 or 403

Due to HTTP response code changes for Bug 1298131, tempest skip
some cases to have jenkins pass. As nova change is merged now,
remove these skip tags. Also need to allow both HTTP413 and
HTTP403 because branchless Tempest needs to support both master and
icehouse/stable branches.

Change-Id: Iee392859a9fd1eec767cbf6292290d5b3ad7dcca
Related-Bug: #1298131
Fix V2 hypervisor server schema attribute

Nova v2 hypervisor server API return attribute "uuid" in response's
server dict. Current response schema does not have this attribute instead
it contain "id" which is wrong.

This patch fix the above issue.

NOTE- "uuid" attribute in this API response is always a uuid.

Change-Id: I78c67834de930012b70874938f345524d69264ba
Add a NotLockingAccounts credentials provider

This credentials provider does not do any locking, so it
does not suffer from the lack of credentials cleanup which
affects the regular locking Accounts class.

Using thie credentials provider allows to keep it possible
to run tempest with no tenant isolation, and in serial mode,
as it is done today by one of periodic jobs.

Partially-implements bp:test-accounts
Change-Id: I160d183a299d2e46d269428409af680c0fdb03b5
Move response code checking to client for v3 identity tests

test_Create_update_delete_policy had  a call to get_policy where the
result was not used at all so I removed it.

Partially Implements blueprint: client-checks-success

Change-Id: I06718380aa337886908c06f8fb7312c5f0c89f6a
Move success response checking to the token client

Partially Implements blueprint: client-checks-success

Change-Id: I345421a6b6c14a5fd593fb451ee05b7c5ed209f0
Move javelin2 over to use oslo logging

javelin2 uses the tempest openstack clients which use oslo
logging, so make the logs generated directly by javelin2 and not the
tempest clients use oslo logging as well.

This way don't have to configure logging twice and can keep all javelin2
logs in the same place (as controlled by tempest.conf)

Change-Id: I09b5a13e9cd1511279163e07f780438c478d7af3
Add baremetal API tests about console

This patch set adds tests og below Ironic APIs:

* GET /v1/nodes/(node_uuid)/states/console
* PUT /v1/nodes/(node_uuid)/states/console

Partially Implements blueprint: missing-baremetal-api-test

Change-Id: I019534f970d7c7bae8ccc3799cfac48116c81510
Migrate security_groups_basic to tempest clients

Adds client argument to various helper methods, so methods would work in tenant
context. In these methods tenant_id is either an input or retrieved from
client's rest_client arguments
Argument tenant_id is kept for legacy reasons, but it's not needed. When
working with native clients, network_client used to be loaded with admin creds.
Since this is no longer the case, tenant_id is no longer required for most
cases, and can be deduced from client.

Change-Id: Iaaa6b3b8dde22e1dd4da604ab35211d75d0ae5c6
Partially-implements: bp:tempest-client-scenarios
Merge "Allow new quota types"
Migrate advanced server network to tempest clients

Server is now dict. Changes all related methods accordingly.

Also, moved precondition checks from setUpClass to the appropriate method

Partially-implements: bp:tempest-client-scenarios

Change-Id: I2ad10c3a095b5e326579edfde83d7abcfe077fba