Make compute only auto-confirm its own instances

Fixes bug 1030226

Change-Id: I0e0cf0c9950f34b1bdab856b2e1c6872b29fdedc
Add a link from HACKING to wiki GitCommitMessages page

The HACKING file contains a short example of an effective
commit message. For reasons for space, it cannot describe
the rationale behind this example. It also does not have
space to describe how to split up a patch into a series
of commits. Add a link from the HACKING file to the wiki

   http://wiki.openstack.org/GitCommitMessages

where further information can be found

Change-Id: I34d44485486b623b11743106f09d5ef631d35888
Avoid error during snapshot of ISO booted instance

Fixes bug #1023492

If you boot an instance from an image with disk_format=iso and then
attempt to snapshot (i.e. nova image-create) you currently get a
traceback because we do:

  qemu-img convert -f qcow2 -O iso -s $snap $disk $out

and 'iso' is not a format that qemu-img knows anything about.

When booting the image, we use qemu-img to detect that the file is
a raw image so we avoid having to special case disk_format=iso
there. However, there's no way of avoiding the special casing when
extracting a snapshot.

Note 1 - it's not very clever to take a snapshot of a read-only
disk downloaded from glance and upload it back to glance again.
Adding such smarts would be a nice enhancement.

Note 2 - only the destination format is important here because
we can only be extracting from a qcow2 image since snapshots
only work where use_cow_images=True. See also #1030844.

Change-Id: I21ff6db8ebb59a83d27f224283fb76f582c38a0e
Merge "Make compute only auto-confirm its own instances"
Use common parse_isotime in GlanceImageService

Rather than reimplement openstack-common's isotime functionality,
just use what's provided for us!

Change-Id: Id44eab3c34ae2c682d27d1563c6baaf68b979d2b
Merge "Avoid error during snapshot of ISO booted instance"
Resize.end now includes the correct instance_type

Fixes bug 1031004. Moves the notification to the destination compute node
so that the correct instance_type attributes are assigned.

Change-Id: I5886154ddd7a9768dc5d82dc4e43e9e0f681ee04
Send a full instance in rebuild_instance.

Change the rebuild_instance method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

This patch also includes fixes for a couple of places that were getting
the instance name using the old instance.name syntax.  It must be
instance['name'].  These no-db-messaging patches are making it so more
code paths have an instance as a dict (received over rpc) instead of
the SQLAlchemy model (looked up from the db on the compute node).

Part of blueprint no-db-messaging.

Change-Id: I21647a5a5cbf71a2c498f6fee2e4adbe30b8f2ea
Send a full instance in remove_fixed_ip_from_instance.

Change the remove_fixed_ip_from_instance method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: Iee0daf068be9814ef0ba06a69111a45a2e198cbb
Send a full instance in remove_volume_connection.

Change the remove_volume_connection method of the compute
rpc API to take a full instance over rpc instead of just
the instance ID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: I1bd47b161acd7b6dfb03adb77d00a861f754e188
Send a full instance in rescue_instance.

Change the rescue_instance method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: I559bd45a8dda4537f6f4a3b8d744095291c7f058
Send a full instance in reset_network.

Change the reset_network method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: Iaae16e63da9d48d86e3bfc80f6c0cdb9f9bd3ddd
Send a full instance in resize_instance.

Change the resize_instance method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: I5ed8707b2d018559ab4e983f8528dac8377783c7
Send a full instance in resume_instance.

Change the resume_instance method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: I57789eab047de7ff9b84e2bb5367139a9a7b8e40
Send a full instance in revert_resize.

Change the revert_resize method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: I55bdc63149c0385fbf151f4f86f40e6c7635cf63
Send a full instance in rollback_live_migration_at_destination.

Change the rollback_live_migration_at_destination method of the compute
rpc API to take a full instance over rpc instead of just
the instance ID.  This cuts down on database access needed
by nova-compute.

This was the last method of this API that was taking an instance ID
as an argument.  There still some left that take the instance UUID,
but I can see the light at the end of the tunnel.

Part of blueprint no-db-messaging.

Change-Id: Id581d23d36fee5c6fc06d2a655e999fb9aae5ae3
Send a full instance in set_admin_password.

Change the set_admin_password method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: Iddcc7cb068090faa98f0bb87307e09d5b0ebf0c2
Send a full instance in snapshot_instance.

Change the snapshot_instance method of the compute
rpc API to take a full instance over rpc instead of just
the instance UUID.  This cuts down on database access needed
by nova-compute.

Part of blueprint no-db-messaging.

Change-Id: I401beb932e329683c3434ecd643db345aa217492