Fixed argument parsing in run script

Replaced += with = when adding arguments to the testrargs string
to prevent the script from doubling in length with each additional
argument.

Change-Id: If0ab41d6062c83cee50f830ffd9428c1302fd997
Closes-Bug: #1325405
Exclude volume tags while listing instance tags

When a volume is attached to an instance and then detached, a metadata
gets associated with the volume: 'readonly' = 'False', even if the volume
didn't have this entry before. The patch
https://review.openstack.org/#/c/70085/ against Nova adds support for
volume tags, and as a result, it breaks a test case where we are
asserting that no tags are left after deletion of them.
So this patch makes sure that we assert only for 'instance' tags, and
not volume tags.

Change-Id: Icdd8c3a2e6c9d3264afc141ad516ee06c6127336
Skip baremetal tests if driver not supported

Adds a list of supported Ironic drivers that can be used for its API tests and
skips if the configured driver is not supported..  The list of supported
drivers will be extended/removed as we support API testing against clouds with
real drivers enabled.

Change-Id: I0b975548ff3656e8a052c79c7b9ffa1d8d721024
Partial-bug: #1334423.
Correct misspelled words

Correct some misspelled words:
responCe => responSe,
unkown => unkNown
infomation => infoRmation.

Change-Id: If0f8c2b71381be087694654969d7ea1483da7b17
Skip hypervisor uptime test for baremetal

Baremetal and ironic drivers have no concept of a hypervisor, thus
they do not implement the get_host_uptime() virt driver API call.
We would have to modify the underlying Tempest class that does the REST
calls to consider HTTP 501 (Not Implemented) successful, which would
affect the entire test suite. Instead, we just skip this test if
the baremetal/ironic driver is enabled.

Change-Id: I00c4146148063f6b20396dcbd0c911a386e488b1
Closes-Bug: #1338711
Added Heat Software Config-Deploy API tests

Added functions to the JSON client to support the new software
configuration API.
Software configurations and deployments are tiered and dependant on each
other so splitting the API calls to smaller tests is impossible.
Each test verifies different things, this is how I tried to prevent the
tests from being too bloated.

Co-Authored-By: Steven Hardy <shardy@redhat.com>
Change-Id: Ied896fcaf3cf4a80385b28235eb5f4af9cd182c8
Verify get_instance_action attributes of Nova API

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

The response body of get_instance_actions V2 API is below:
{
    "instanceAction": {
        "action": "reboot",
        "instance_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
        "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8",
        "user_id": "789",
        "project_id": "147",
        "start_time": "2012-12-05 00:00:00.000000",
        "message": "",
        "events": [
            {
                "event": "schedule",
                "start_time": "2012-12-05 01:00:02.000000",
                "finish_time": "2012-12-05 01:02:00.000000",
                "result": "Success",
                "traceback": ""
            },
            {
                "event": "compute_create",
                "start_time": "2012-12-05 01:03:00.000000",
                "finish_time": "2012-12-05 01:04:00.000000",
                "result": "Success",
                "traceback": ""
            }
        ]
    }
}

The response body of get_instance_actions V3 API is below:
{
    "server_action": {
        "action": "reboot",
        "server_uuid": "b48316c5-71e8-45e4-9884-6c78055b9b13",
        "request_id": "req-3293a3f1-b44c-4609-b8d2-d81b105636b8",
        "user_id": "789",
        "project_id": "147",
        "start_time": "2012-12-05T00:00:00.000000",
        "message": "",
        "events": [
            {
                "event": "schedule",
                "start_time": "2012-12-05T01:00:02.000000",
                "finish_time": "2012-12-05T01:02:00.000000",
                "result": "Success",
                "traceback": ""
            },
            {
                "event": "compute_create",
                "start_time": "2012-12-05T01:03:00.000000",
                "finish_time": "2012-12-05T01:04:00.000000",
                "result": "Success",
                "traceback": ""
            }
        ]
    }
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I7b0d64b1db19359e5ff81b7cbbebef0b11946a1b
Merge "Exclude volume tags while listing instance tags"
Merge "Skip hypervisor uptime test for baremetal"
Merge "Correct misspelled words"
Merge "Fixed argument parsing in run script"
Merge "Added Heat Software Config-Deploy API tests"
Merge "Skip baremetal tests if driver not supported"
Merge "Verify get_instance_action attributes of Nova API"
Merge branch 'master' of https://github.com/openstack/tempest