simplify rest_client logging

this takes the rest client req/resp down to a single short info
line per call. This eliminates the issue where the multiline output
is interleaved between many testr process, thus confusing. It
should be a pretty concise view of the rest calls being made from
tempest.

It removes parameters that were previously used for debug. We'll
incrementally add these back if this was too much removal.

Change-Id: I342483e2a3c1396537df1fab825ebef8a7e75101
add _find_caller to the request log

inspect the call stack to find the part of the test class that
called this rest request. This makes it easier to start from
the tempest log and figure out what rest calls were being made
over the various services, and how the succeeded or not.

Change-Id: Icfd08d5b35a4fd3fdde93042e158ee42424899bf
add request timing

Time every request that we make from the base rest client so we
can see the API call time as part of normal tempest runs. This is
much more useful than this being done inside the servers, as this
will account for the entire call time from the outside.

Change-Id: I9c367a8fd05ae7996e5491a525d92c75d0275b2b
Move to the python-saharaclient

Now we can call sahara cli command instead savanna old one.

Change-Id: I063c02eb2dac300140eed4f1ccff7eb58621bcaa
Verify Nova create & get Floating IP attributes

This patch adds the JSON schema for Nova create & get Floating IP
APIs response and validate the response with added JSON schema
to block the backward incompatibility change in the future.

The response body of create & get Floating IP APIs is below:

{
    "floating_ip": {
        "id": 1,
        "pool": "nova",
        "instance_id": null,
        "ip": "10.10.10.1",
        "fixed_ip": null,
    }
}

Partially implements blueprint nova-api-attribute-test

Change-Id: Ia1c2f856511e62d7a0da01ac78bd37383596198f
Verify list Image attributes through Nova V2 API

This patch adds the JSON Schema for response of Nova V2 list Image API
and validate the response with added JSON Schema to block the backward
incompatibility change in the future.

The response body of V2 list Image API is below:

{
    "images": [
        {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/
                            images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/openstack/
                            images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/openstack/
                            images/70a599e0-31e7-49b7-b260-868f441e862b",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage7"
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I2afaa884e7bc5b9a8efe748f1ccfc031f301616e
Stop volume leaking

Resources created would not be cleanup if exception raised
in setUpClass. This patch use decorator 'safe_setup' to
cleanup those resources in volumes tests.

Partially Implements: blueprint stop-leaking

Change-Id: I668f8d4a0fb1833d6e3aa5be7c304d03f19a7288
Merge "Stop volume leaking"
Merge "Verify Nova create & get Floating IP attributes"
Merge "Move to the python-saharaclient"
Merge "simplify rest_client logging"
Merge "add _find_caller to the request log"
Merge "add request timing"
Merge branch 'master' of https://github.com/openstack/tempest