Backport some v3 aggregate API unittest to v2 API

This patch add some v3 aggregate API unittest into V2 API to improve
V2 API unittesting.

Change-Id: Id4d533e74b462b55b155b4e4ad7d94e018d35726
Convert console_output v3 plugin to v2.1

Changes required to have v3 plugin natively support
the v2 API

The get_console_output action is reverted to os-getConsoleOutput

Partially implements blueprint v2-on-v3-api
Change-Id: I71b0d5fd1a098052f8e11f60a19113b6d647ef2d
Fix wrong disk type limitation for disk IO throttling

The disk I/O limits feature in QEMU block layer allows I/O throttling
to be used across all underlying storage types.

Change-Id: If99107955fc976b00ee101d4c6a685c29e655f82
Closes-Bug: #1362129
Change v3 aggregate API to v2.1

This patch changes v3 aggregate API to v2.1 and makes v2
unit tests share between v2 and v2.1.

The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3.

Partially implements blueprint v2-on-v3-api

Change-Id: I95372d49ffacd12bdc8e2f6b60628c17f70d0eba
Change v3 admin_actions to v2.1

This patch changes v3 admin_actions API to v2.1 and make v2
unit tests share between v2 and v2.1, move v3 testcase to v2.1.
The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .

Partially implements blueprint v2-on-v3-api
Change-Id: I6fa4a8bd45d0f32f2a61bc6d8ff7e0fbb5fa7f26
Add API schema for v2.1/v3 availability_zone extension

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint v3-api-schema

Change-Id: I4a7bd2ef4df322eb072730bbf7da2766f02cb398
Add API schema for v2.1/v3 multiple_create extension

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint v3-api-schema

Change-Id: Ibf0b6a5024f834ac9252933568d4416a8a5ba1fc
Port used_limits & used_limits_for_admin into v2.1

The used_limits & used_limits_for_admin is removed from v3 API.
For now, we need porting it back. And also try to share unittests
between v2 and v2.1.

Partially implements blueprint v2-on-v3-api

Change-Id: I57199273dcaf20b0b6618dfb436a92f04b139f52
Merge "Backport some v3 aggregate API unittest to v2 API"
Merge "Change v3 aggregate API to v2.1"
Merge "Add API schema for v2.1/v3 availability_zone extension"
Merge "Add API schema for v2.1/v3 multiple_create extension"
Merge "Fix wrong disk type limitation for disk IO throttling"
Merge "Change v3 admin_actions to v2.1"
Merge "Convert console_output v3 plugin to v2.1"
Merge "Port used_limits & used_limits_for_admin into v2.1"