Set the image_meta for the instance booted from a volume

If the VM is booted from a volume, image_meta should be retrieved from the field
volume_image_metadata in volume.

Fixed Bug 1191069.

Change-Id: I4df185ab5eeb819327606163565501c845411a7e
Personality files can be injected during server rebuild

Injected files are ignored during a server rebuild, this patch fixes
this issue.

Fixes: bug #1187629

Change-Id: I5e7776de07c8513e36c2926b1fc58c66b382a5ec
Handle NeutronClientException in secgroup create

When networking is provided by Neutron and a security group or a security group
rules quota is exceeded, we get a NeutronClientException with status_code 409
and message "NeutronClientException: Quota exceeded for resources"

This patch updates the neutron security group driver to handle this exception
and translate it to nova's SecurityGroupLimitExceeded

test_neutron_driver is also updated to provide unit tests for this patch

Change-Id: I0fa57b02694221507885ab4bfdb5805e936450e2
Fixes: bug #1209446
Port disk_config API to v3 Part 2

This patch contains the changes required to adapt the agent
extension and the corresponding unittest to the v3 framework.
Moves the commented out tests from the v3 version of test_servers
to the user data extension unittests.

Partially implements: bp v3-api-extension-versioning
Partially implements blueprint nova-v3-api

Change-Id: I7eef3ba18d7cc36c1ef78d093f50fd9122ac26c7
Demote personalities from core of API v3 as extensions os-personality

This patch move 'personality' from core into extensions.
* demote personality the attribute of server from servers
* add corresponding tests
* move some tests about personality from test_servers to test_personality

Partially implements blueprint nova-v3-api

Change-Id: I62254a94476271b1d8bcc206dfda1236f155960b
Offer a paginated version of flavor_get_all

Implements nova.compute.flavors.get_all_flavors_sorted_list to
optimise get_all_flavors.

Fixes: bug #1028494
Change-Id: Ie0406c1d4b47a51473979910c0908b153497d503
Don't pass RPC connection to pre_start_hook

In review I5bf7795fca21627566ef4f688d45dc83bb953d1b (commit 3349417) we
passed an rpc_connection argument to pre_start_hook() so that we could
create additional queues.

See review Idf12c418a8ce1bc873e7ad6f702351e95d31aca3 for how this was
intended to be used. With oslo.messaging, we'd support doing something
like this by adding support for multiple targets to RPCServer since the
concept of a messaging connection isn't really exposed by the API in
quite the same way.

In any case, this rpc_connection parameter has never been used since it
was introduced, so let's remove it. Let's also move the invocation of
this hook back to where it originally was.

blueprint: oslo-messaging
Change-Id: I9181a3567a1b5a8a6077e78c85f4d28660f275a6
Add Migration object

This adds a migration object implementation and tests.

Related to blueprint compute-api-objects

Change-Id: Iec0e45f4768cf3fc2f31c1c23c1aadfdefefa797
Merge "Handle NeutronClientException in secgroup create"
Merge "Personality files can be injected during server rebuild"
Merge "Add Migration object"
Merge "Don't pass RPC connection to pre_start_hook"
Merge "Set the image_meta for the instance booted from a volume"
Merge "Offer a paginated version of flavor_get_all"
Merge "Port disk_config API to v3 Part 2"
Merge "Demote personalities from core of API v3 as extensions os-personality"
vm_state and task_state not updated during instance delete

Fixes: bug #1212496
Change-Id: I4f4e45160008d3eb57f4f0935f13e22b6a561430