Add V3 Test to get Spice & RDP console of server

This patch adds Nova V3 API Test to get the Spice and RDP
console of a server

Partially implements blueprint nova-v3-api-tests

Change-Id: I9560983c29398f9479e4139ef2f096902c3eae66
Add test for subnet gateway IPv4 and IPv6

Four tests were added for testing neutron subnets with and
without gateway defined as a subnet attribute (gateway_ip)

Change-Id: I7862da41e62a47c274f170d29ceeeaeb89b2c976
Implements: blueprint neutron-subnet-attributes
Verify list_addresses_by_network APIs attributes

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

The response body of server list_addresses_by_network V2 API is below:

{
    "private": [
        {
            "version": 4,
            "addr": "192.168.0.3"
        }
    ]
}

The response body of server list_addresses_by_network V3 API is below:

{
    "private": [
        {
            "version": 4,
            "addr": "192.168.0.3",
            "type": "fixed",
            "mac_addr": "aa:bb:cc:dd:ee:ff"
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I76e25523708fb9454518f215dc60f201d7483464
Inherit V2 keypair API's tests from V3 tests

There is a lot of copy&paste test code for Nova v2/v3 API tests.
In addition, we need to add many checks for API test coverage.
As the result, we should apply the same changes to v2 and v3 tests.

This patch reuse the test code between V2 and V3 Keypair APIs
Inheriting the V2 Keypair API's test from V3 tests.

Partially implements blueprint nova-api-test-inheritance

Change-Id: Ibe170a00e27619827678a1bbe104623ca24a81a3
Share Certificates API's tests between V2 & V3

There is a lot of copy&paste test code for Nova v2/v3 API tests.
In addition, we need to add many checks for API test coverage.
As the result, we should apply the same changes to v2 and v3 tests.

This patch reuse the test code of V2 and V3 Certificates APIs
Inheriting the V2 Certificates API's test from V3 tests.
Also removing the status code check which is different between
V2 & V3. Status code has been validated at client side.

Partially implements blueprint nova-api-test-inheritance

Change-Id: I98e03cecdbd36e521d007bbfb92a5f9818ff28f6
Check list servers attributes of Nova APIs

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

Response status of list servers V2 & V3 APIs is same and given below-

{
    "servers": [
        {
            "id": "22c91117-08de-4894-9aa9-6ef382400985",
            "links": [
                {
                    "href": "http://openstack.example.com/v3/servers/
                    22c91117-08de-4894-9aa9-6ef382400985",
                    "rel": "self"
                },
                {
                    "href": "http://openstack.example.com/servers/
                    22c91117-08de-4894-9aa9-6ef382400985",
                    "rel": "bookmark"
                }
            ],
            "name": "new-server-test"
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I5e3854011f00b468dc63eddafd7e76a9048b1997
Verify "list interfaces" Nova v2/v3 API response attributes

This patch adds checks whether a response of
Nova list interfaces v2/v3 API includes the attributes
to block the backward incompatibility change in the future.

The response body of v2 API is the following:
{
    "interfaceAttachments": [
        {
            "port_state": "ACTIVE",
            "fixed_ips": [
                {
                    "subnet_id": "66175fc3-1f21-49c9-84e5-f0eca1831b20",
                    "ip_address": "10.0.0.2"
                }
            ],
            "port_id": "d7a42d37-78ec-4f18-8a9c-1b37c206a733",
            "net_id": "18095bfd-0ab8-4207-99bd-dbdc373bd670",
            "mac_addr": "fa:16:3e:fc:65:ac"
        }
    ]
}

The response body of v3 API is the following:
{
    "interface_attachments": [
        {
            "port_state": "ACTIVE",
            "fixed_ips": [
                {
                    "subnet_id": "66175fc3-1f21-49c9-84e5-f0eca1831b20",
                    "ip_address": "10.0.0.2"
                }
            ],
            "port_id": "d7a42d37-78ec-4f18-8a9c-1b37c206a733",
            "net_id": "18095bfd-0ab8-4207-99bd-dbdc373bd670",
            "mac_addr": "fa:16:3e:fc:65:ac"
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I44d6ed17db563143be57564780beea8343bd170e
Fix issues introduced /w migration to Credentials

Managers and base classes were refactored to use Credentials
but this change missed an issue that slipped through the gate:

* The Baremetal scenario base was not updated, causing breakage
  in the Ironic gate.  This ensures BaremetalScenarioTest base class
  properly instantiates its baremetal_client using the correct Credentials
  object.

Change-Id: I5577edcd8da14275eb336ee8137eade2084756c9
Merge "Add test for subnet gateway IPv4 and IPv6"
Merge "Inherit V2 keypair API's tests from V3 tests"
Merge "Verify "list interfaces" Nova v2/v3 API response attributes"
Merge "Fix issues introduced /w migration to Credentials"
Merge "Add V3 Test to get Spice & RDP console of server"
Merge "Check list servers attributes of Nova APIs"
Merge "Share Certificates API's tests between V2 & V3"
Merge "Verify list_addresses_by_network APIs attributes"