Add check that service tag isn't in path name

This commit adds a new hacking check to ensure that a service tag
isn't added on a test whose path includes the service tag being added.
Having a service tag added where the path already contains the service
name is redundant.

Partially implements bp add-service-tags

Change-Id: I88b3005d05e17751045d766efb1e965822a3c50e
Fix url parsing for api version check

This commit fixes a couple of oversights in the common api version
check function. The previous version of the method would never work
because the url wasn't passed to urlparse, and the resulting endpoint
url would be missing a ':' even if it were.

Change-Id: I4b6bb47f0601063aa8164ded386ca71adc6ccc80
Fix service list in verify_tempest_config

This commit updates the service list for verify_tempest_config. The
list was not updated to include new options for marconi and trove. It
also wasn't updated for the sahara rename.

Partially implements bp config-verification

Change-Id: I00500e104dda34098cf445f4bbd522ea843fcabf
Add cinder api version detection to verify_tempest_config

This commit adds a check for the cinder api versions that are
supported and checks that with what is set in the config file.

Partially implements bp config-verification

Change-Id: Ifce002a6f42c1565992299965bcc490f20aa5887
Fix test_verify_created_server_ephemeral_disk

The test_verify_created_server_ephemeral_disk tried to:
- handled  sub functions as object method
- Tried to get the fixed IP address from the first (BUILD) server response.
- Handled the partition number incorrectly
- Created an additional server without a need
- Expected incorrect status codes on the v3 test
- v3 version created more disk (+swap)

Change-Id: Iad55c4c7e247f1b3534ff41400feea2faf939863
Implements: blueprint ssh-auth-strategy
fix dict reference error

network item in the return of _list_networks() is dictionary. Its
keys can not be referenced like object's property. This patch fix
that problem.

Change-Id: I01d8e69b4e2a3350cb7afc3fc076992ef9ab9783
Make large-ops test boot a group of instances 3 times

large-ops previously just booted large_ops_number of instances
concurrently. In this case we are testing an 'empty' cloud, we also want
to see if things work with a bunch of servers already running.

Change-Id: I646398bb3d3ba9b81b0f6bf24644c7cd435a7b4c
Check detail list Images attributes of Nova V2 API

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

The response body of V2 detail list Images API is below:

{
    "images": [
        {
            "id": "70a599e0-31e7-49b7-b260-868f441e862b",
            "status": "ACTIVE",
            "updated": "2011-01-01T01:02:03Z",
            "links": [
                {
                    "href": "http://openstack.example.com/v2/openstack/
                            images/70a599e0-31e7-49b7-b260-868f1e862b",
                    "rel": "self"
                },
                {
                   "href": "http://openstack.example.com/openstack/
                           images/70a599e0-31e7-49b7-b260-868f1e862b",
                    "rel": "bookmark"
                },
                {
                    "href": "http://glance.openstack.example.com/
                            openstack/images/
                            70a599e0-31e7-49b7-b260-868f1e862b",
                    "rel": "alternate",
                    "type": "application/vnd.openstack.image"
                }
            ],
            "name": "fakeimage7",
            "created": "2011-01-01T01:02:03Z",
            "minDisk": 0,
            "minRam": 0,
            "progress": 100,
            "metadata": {
                "architecture": "x86_64",
                "auto_disk_config": "True",
                "kernel_id": "nokernel",
                "ramdisk_id": "nokernel"
            },
            "server": {
                "id": "65802d04-c684-4900-b645-a6a15f78add4",
                "links": [
                    {
                        "href": "http://10.21.43.120:8774/v3/
                                f0468e49de7b4f74ba6dd3a72481/servers/
                                65802d04-c684-4900-b645-a6a15f78add4",
                        "rel": "self"
                    }
                ]
            },
            "OS-EXT-IMG-SIZE:size": 25165824
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: Iee859f35c029254e5f2d74446ed40acaa90410c2
Verify list agents attributes of V2/V3 APIs

This patch adds the JSON schema for Nova V2/V3 list agents APIs
includes the attributes to block the backward incompatibility change
in the future.

The response body of v2 and v3 API is the below:

{
    "agents": [
        {
            "agent_id": 1,
            "hypervisor": "xen",
            "os": "linux",
            "architecture": "x86",
            "version": "7.0",
            "url": "xxx://xxx/xxx/xxx1",
            "md5hash": "add6bb58e139be103324d04d82d8f546"
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I59fc1a54b32554d7c9827ce912d3197f78c4cd12
Remove Nova v3 XML test skip

Now all of the Nova v3 XML tests have been removed completely, so
this skip is unnecessary.

Change-Id: I7765880f6d0164a3b2310706273b9a330dc36dec
Verify the attributes of 'set-server-metadata' API

This patch verifies the response attributes of 'set-server-metadata'.
The response attributes of v2 and v3 are the same:
{
    "metadata": {
        "foo": "Foo Value"
    }
}
Partially implements blueprint nova-api-attribute-test

Change-Id: Ifffa537a228819326f00fd0c98271882fb42f8c3
Verify 'list-server-metadata' APIs attributes

This patch verifies the response attributes of 'list-server-metadata'.

The response attributes of v2 and v3 are the same:
{
    "metadata": {
        "foo": "Foo Value"
    }
}

Partially implements blueprint nova-api-attribute-test

Change-Id: Iab1cb1efc0293e8e0aa5124752ec95048b8608bf
Updated from global requirements

Change-Id: Iec7c8b546f0c3bbd495fa667ee282930101e8d67
Merge "Make large-ops test boot a group of instances 3 times"
Merge "fix dict reference error"
Merge "Updated from global requirements"
Merge "Add check that service tag isn't in path name"
Merge "Fix url parsing for api version check"
Merge "Fix service list in verify_tempest_config"
Merge "Add cinder api version detection to verify_tempest_config"