Add unit tests for configurable network resources

This commit adds additional tenant isolation unit tests that cover
configuring which network resources are required for an isolated
tenant. In addition to testing network resource creation for the admin
and alt tenants.

Partially implements bp unit-tests

Change-Id: I8cbe836f9a2357f53bbbaeefd2b4ec74553089fb
Add Cinder quota negatives

This set of tests ensures we are denied from creating new volumes,
or snapshots when hitting one of the quota enforcements.

Change-Id: I2eded016f522b1e1c1b5ac961af1546db70de236
Add Keystone role and service test cases

Add two test cases about Keystone role and service:
test_get_role_by_id
test_create_service_without_description

Change-Id: I5c09e82bb9afbb6d1d8a81dfd6e7408b4ffdd58f
factor out templates to yaml files

factor out the heat templates into proper yaml files, and provide
a loader for yaml and json files to make it easier to manage and
review templates vs. code in heat tests.

Change-Id: Iabe8abe113cc48da54cad6fb1ba4e4b48fb17cf5
Removing unnecessary pieces of code from network client

In the file "json/network_client.py" methods "update_vpnservice" and
"update_ikepolicy" does not have any significant meaning here.
All these cases are covered in the "network_client_base.py" file.
This patch implements this requirement.

Change-Id: I2fc3bbd8e1bdde9d4548d0ffba1a60c1742f7895
Move xml common code into the common dir

This commit moves tempest.services.compute.xml.common to the proper
location in tempest.common and renames the file to xml_utils.py. This
module was used in every client not just compute so the appropriate
place for this is in the common dir.

Change-Id: I42a8338fd507c1224fa9fd2cdc5c1b0700f7a26a
ceilometer-collector now has errors

need to add this to the dirty list to make forward progress.

In order to make the results more readable we also need a line
break before the log file stanza.

Change-Id: I863a8a30384edf27a4ba761c707b5cf673c1f86e
Verify list_hypervisors_detail Nova V2/V3 API

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

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

{
    "hypervisors": [
        {
            "cpu_info": "?",
            "current_workload": 0,
            "disk_available_least": null,
            "host_ip": "%(ip)s",
            "free_disk_gb": 1028,
            "free_ram_mb": 7680,
            "hypervisor_hostname": "fake-mini",
            "hypervisor_type": "fake",
            "hypervisor_version": 1,
            "id": 1,
            "local_gb": 1028,
            "local_gb_used": 0,
            "memory_mb": 8192,
            "memory_mb_used": 512,
            "running_vms": 0,
            "service": {
                "host": "%(host_name)s",
                "id": 2
            },
            "vcpus": 1,
            "vcpus_used": 0
        }
    ]
}

The response body of V3 list hypervisor detail API is below:

{
    "hypervisors": [
        {
            "cpu_info": "?",
            "current_workload": 0,
            "disk_available_least": 0,
            "host_ip": "%(ip)s",
            "free_disk_gb": 1028,
            "free_ram_mb": 7680,
            "hypervisor_hostname": "fake-mini",
            "hypervisor_type": "fake",
            "hypervisor_version": 1,
            "id": %(hypervisor_id)s,
            "local_gb": 1028,
            "local_gb_used": 0,
            "memory_mb": 8192,
            "memory_mb_used": 512,
            "running_vms": 0,
            "service": {
                "host": "%(host_name)s",
                "id": 2
            },
            "vcpus": 1,
            "vcpus_used": 0,
            "os-pci:pci_stats": []
        }
    ]
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I0815ecf1dc985ba404f636a68dccbbf6be4188d5
Merge "Move xml common code into the common dir"
Merge "ceilometer-collector now has errors"
Merge "factor out templates to yaml files"
Merge "Add Keystone role and service test cases"
Merge "Verify list_hypervisors_detail Nova V2/V3 API"
Check show_hypervisor attributes of Nova V2/V3 API

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

The response body of V2 show hypervisor detail API is below:

{
    "hypervisor": {
        "cpu_info": "?",
        "current_workload": 0,
        "disk_available_least": 0,
        "host_ip": "%(ip)s",
        "free_disk_gb": 1028,
        "free_ram_mb": 7680,
        "hypervisor_hostname": "fake-mini",
        "hypervisor_type": "fake",
        "hypervisor_version": 1,
        "id": %(hypervisor_id)s,
        "local_gb": 1028,
        "local_gb_used": 0,
        "memory_mb": 8192,
        "memory_mb_used": 512,
        "running_vms": 0,
        "service": {
            "host": "%(host_name)s",
            "id": 2
        },
        "vcpus": 1,
        "vcpus_used": 0
    }
}

The response body of V3 show hypervisor detail API is below:

{
    "hypervisor": {
        "cpu_info": "?",
        "current_workload": 0,
        "disk_available_least": 0,
        "host_ip": "%(ip)s",
        "free_disk_gb": 1028,
        "free_ram_mb": 7680,
        "hypervisor_hostname": "fake-mini",
        "hypervisor_type": "fake",
        "hypervisor_version": 1,
        "id": %(hypervisor_id)s,
        "local_gb": 1028,
        "local_gb_used": 0,
        "memory_mb": 8192,
        "memory_mb_used": 512,
        "running_vms": 0,
        "service": {
            "host": "%(host_name)s",
            "id": 2
        },
        "vcpus": 1,
        "vcpus_used": 0,
        "os-pci:pci_stats": []
    }
}

Partially implements blueprint nova-api-attribute-test

Change-Id: I68735a50c2d54893862838fd651794e1184eb53a
Merge "Removing unnecessary pieces of code from network client"
Merge "Check show_hypervisor attributes of Nova V2/V3 API"
Merge "Add unit tests for configurable network resources"
Merge "Add Cinder quota negatives"
Merge branch 'master' of https://github.com/openstack/tempest