Add tests for availability-zone-list CINDER V1 API

This patch adds the JSON/XML clients and tests for CINDER
availability-zone-list V1 API

Change-Id: I4fc24e92def95d4a39d43877b120875b45bde9f9
add test for command bash-completion

Change-Id: Ic9f02e05f8f99a30adf40266417ee4288765d7dc
Closes-bug: #1319294
Remove time.time mock from test_ssh

The function time.time is used in many places and especially in logging.
Mocking this function causes issues if the log level changes due to the
fact that every log message will cause a time.time call.

Splitting the test cases into 3 pieces since the time.sleep mock is
only usable for the good case. All tests with retries can't use it
and need to assert the result by measuring the time.

This fix is needed to use oslotest for tempest unit tests.

Change-Id: I800690f8ee1ee580cfcd71500b86782ff571ac0d
Closes-bug: bug 1320482
Sahara: add API tests for data sources

* create/list/get/delete API tests for data sources in Swift were added
* create/list/get/delete API tests for data sources in local HDFS
  were added
* create/list/get/delete API tests for data sources in external HDFS
  were added

Partially implements: blueprint savanna-api-tests

Change-Id: I78fe5c53d3af84c04402966891c096c8cbd1253a
Start using oslotest for tempest unit tests

This commit starts using the oslotest library. The fixture
oslo-incubator library is still left in the tree because I didn't
see the Config fixture in the library tree yet.

Also, it's probably worth noting that if the lock fixture is moved
from incubator to the library that oslotest will become a runtime
requirement on tempest. (which probably means we'll want to install
it from git in the gate)

Change-Id: I638f28975dff4cde2e4eaa6c154a41e66a0746e4
Sahara: preparations for job binary internal tests

* create/list/get/delete methods to Sahara API client
  for job binary internals were added
* Method "create_job_binary_internal" was added
* tearDownClass method was expanded

Partially implements: blueprint savanna-api-tests

Change-Id: I1013ce8d93ec44d5d5961bcd887812bdd1c6fcfb
Cleanup docstring in test_l3_agent_scheduler

The docstring was incomplete in saying it required the
l3_agent_scheduler extension to be enabled.  I think it probably meant
to say that l3_agent_scheduler was listed in
network_feature_enabled.api_extensions, but that defaults to 'all' so
rather than explain how that config option works in the docstring, just
say that the l3_agent_scheduler extension is required and assume the
user understands how to configure Tempest.

Change-Id: If504bd6374b83dea24fa92f9ef6c852d76308ad1
Add Marconi Smoke Tests

Add smoke tests that check the existence of queues.
Add test that checks list queues.
Add test that gets queue statistics.
Add test that sets and gets queue metadata.

Tests for List Queues and Queue Stats use JSON Schema
validation.

Change-Id: I084d1ae0de4a729a913a7084f14c0d3172af29d3
Implements: blueprint add-basic-marconi-tests
Add quota delete test to cinder

This submission is to validate delete quota set in
volumes quota set test case. Hence added delete quota
set method in both XMl and JSON interfaces.

Change-Id: I217355bfc7696b93bc1f1388635cbb9bf8850199
validate server action 'console_output' attributes

This patch adds the JSON schema for Nova V2 & V3 get_console_output
server action APIs response and validate the response with added
JSON schema to block the backward incompatibility change in the future.

The response body of get_console_output V2 & V3 APIs is same and given
below:

{
        "output": "FAKE CONSOLE OUTPUT\nANOTHER\nLAST LINE"
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I22e61d1fed926aa9a310a46b12748db401dec045
remove skip attributes for fixed bug

1. remove skip attributes for test_run_terminate_instance

2. add forgotten changes for commit
   55c597db0f59fc7a3eaa7bec8bc7509f5a87c884
   (Fix InvalidInstanceID.NotFound handling)

Change-Id: I616a90f98e3874a09274d961345476d47d266db0
set all build_intervals to 1s

10s build interval is really long, and not very sensible. Setting
to 1s should speed things up a lot.

Change-Id: If8332d4be8515ac574cbbf4e00cbe0a75b6ebc5d
Fix sudo_cmd_call in tempest.common.commands

The check that proc.returncode is non-zero was never executed
because it was located after the return statement.

Moreover, subprocess.CalledProcessError may only be raised by
a process run by check_call() or check_output()
but not by communicate().

Change-Id: I5fdcdcdda85552e5855241ada34054cfda8464d5
Remove dependency on keyring

I don't see this used anywhere, so lets drop the
dependency.

Change-Id: Icf14648ad7e82a05d942f53fe38e9757aece691c
Remove default from image_ref options

This commit removes the weird default values for the image_ref option.
The IMAGE_ID defaults were probably a hold away from when they were
set in env from an early version of tempest. This sets no default and
lists them as required opts in the help field.

Change-Id: Iaeff5ff2278b0076306ed2cbfe592c06cfbbe316
Verify delete security group response of V2 API

This patch adds the JSON schema for response status of Nova security group
delete API to block the backward incompatibility change in the future.

delete security group does not return the response body.
Response status of this API is 202.

Partially implements blueprint nova-api-attribute-test

Change-Id: I8ce635dfdb41cacaf433b7e14f0fe3b798ef839a
Merge "remove skip attributes for fixed bug"
log request start when tracing classes

When tracing rest calls for debugging purposes, logging the start
of the request is also extremely helpful, as it makes it possible
to discover that the key issue is glance is in a hung state and
not responding to any requests.

Prereq for blueprint:javelin2

Change-Id: I9aca99119fc1569c78788b11a8a32d72eaecd0a1
Merge "Verify delete security group response of V2 API"
allow 'main' as valid name for find_test_caller

find_test_caller assumed that the rest clients were only ever run
under testr. With the introduction of javelin into the tempest
tree this will not be true. 'main' is a completely valid name
for well formed programs, so make that an option as well.

Prereq for blueprint:javelin2

Change-Id: I9a591eaa1cf4dabba58f06a64814611a05a51365