Adds Ironic test_baremetal_basic_ops scenario test

Adds an Ironic scenario test that validates a full instance
boot using Ironic.  In addition to verifying the Nova instance
boots and has connectivity, it monitors power and state transitions
on the Ironic side.  It currently validates orchestration of the pxe_ssh
driver but the goal would be to support other drivers, and test them
conditionally based on the driver associated with the configured Ironic
node.

Change-Id: I7a98ab9c771fe17387dfb591df5a40d27194a5c8
Verify detail_list flavor attributes of V2/V3 APIs

This patch adds the JSON schema for Nova V2/V3 detail_list flavor APIs
response and validate the response with added JSON schema to
block the backward incompatibility change in the future.

The response body of V2 detail_list flavor API is below:

{
    "flavors": [
        {
            "name": "m1.tiny",
            "links": [
                {
                    "href": "http://openstack.example.com/
                             v2/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/
                            openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "ram": 512,
            "vcpus": 1,
            "swap": "",
            "disk": 1,
            "id": "1",
            "OS-FLV-DISABLED:disabled": false,
            "os-flavor-access:is_public": true,
            "rxtx_factor": 1.0,
            "OS-FLV-EXT-DATA:ephemeral": 0
        }
    ]
}

The response body of V3 detail_list flavor API is below:

{
    "flavors": [
        {
            "name": "m1.tiny",
            "links": [
                {
                    "href": "http://openstack.example.com/
                             v3/openstack/flavors/1",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/
                            openstack/flavors/1",
                    "rel": "bookmark"
                }
            ],
            "ram": 512,
            "vcpus": 1,
            "swap": 0,
            "disk": 1,
            "id": "1",
            "disabled": false,
            "ephemeral": 0,
            "flavor-access:is_public": true,
            "os-flavor-rxtx:rxtx_factor": 1.0
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I3a07ada712271d0d147c0019bbb4b63c4622461a
Volume size could be specified to create volume

1. Provide a "volume_size" config at VolumeGroup
2. Make size as optional prameter, modify all volumes_client to
read the size from CONf if size is None.
3. Modify the testcase: test_volume_create_get_update
_delete_from_image to call create_volume with no size
parameter specified.

Change-Id: I2897f6d6bd970f73867f56d9d23a768cafcbfd80
Closes-Bug: #1293885
 Verify the response attributes of 'aggregate-set-metadata' API

This patch verifies the response attributes of 'aggregate-set-metadata'.
The response attributes of v2 and v3 are the same:
{
    "aggregate": {
        "availability_zone": "nova",
        "created_at": "2012-11-16T06:22:22.342791",
        "deleted": false,
        "deleted_at": null,
        "hosts": [],
        "id": 1,
        "metadata": {
            "availability_zone": "nova",
            "key": "value"
        },
        "name": "name",
        "updated_at": null
    }
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I8940a18e71540aec300023e6736a3318b253d702
Merge "Adds Ironic test_baremetal_basic_ops scenario test"
Merge "Volume size could be specified to create volume"
Merge "Verify detail_list flavor attributes of V2/V3 APIs"
Merge " Verify the response attributes of 'aggregate-set-metadata' API"