Provide better error message for aggregate-create

For an InvalidAggregateAction exception:
Before: 'ERROR: There was a conflict when trying to complete your request (HTTP 409)'
After: 'ERROR: Cannot perform action 'create_aggregate' on aggregate 'N/A'. Reason: invalid zone. (HTTP 400)'

docImpact

Fix bug 1083353

Change-Id: I26e30059fe5bbc30eecc52cccec4eba2a57d00db
(cherry picked from commit 4e43747037058522087e6eb71ef3bcce266d55cc)
Fix rpc control_exchange regression.

A change was made in rpc that requires project's to define the
control_exchange option themselves.  This was so the project's could
set their own default value.  This change has made it in to nova without
adding the control_exchange option, meaning that it is using the default
of 'openstack', potentially conflicting with other projects.

See https://review.openstack.org/#/c/12518/

Fix bug 1083944.

Change-Id: Ifc00a537c4ee327cbee91fe1d911f8c402e350b7
Don't leak info from libvirt LVM backed instances

* nova/virt/libvirt/utils.py (remove_logical_volumes):
Overwrite each logical volume with zero
(clear_logical_volume): LV obfuscation implementation.
(logical_volume_size): A utility function used by
clear_logical_volume()

Fixes bug: 1070539
Change-Id: I4e1024de8dfe9b0be3b0d6437c836d2042862f85
Fix a crash when launching qcow2 images containing snapshots

Break out of the loop when we encounter 'Snapshot list:'
in the output from `qemu-img info` instead of failing
to parse and crashing.

Fixes bug: 1070088
Change-Id: I5f501c599b94e0ac13892c97d60ec740ac7e641d
cherry-picked: b4b897e7acebea1ccff336a5fad9313fd3f51326
Final versioning for 2012.2.2

Change-Id: Ic8b3c325510d655ad1f8e0700d2e0754c6bfcacb
Bump version to 2012.2.3

Set version to 2012.2.3, but with final=False

See http://wiki.openstack.org/StableBranchRelease

Change-Id: I93b772d5c79f8d9e25c5578c67bb6f8aa25b6901
Fix errors in used_limits extension

Fixes bug #1062049

There was a typo mapping the security groups resource to floating IPs.

Key pairs don't work with the extension because of bug #1089877.

(cherry picked from commit 6c9d9ab)

Change-Id: Ifd694b21fef1dc95e67c07dcef0cd6ea3daa8d53
Merge "Fix a crash when launching qcow2 images containing snapshots" into stable/folsom
Add an iptables mangle rule per-bridge for DHCP.

When vhost-net is present on a host, and DHCP services are
run on the same system as guests (multi_host), an iptables
rule is needed to fill packet checksums.  This adds a rule
per-bridge for multi_host networks when vhost-net is present,
similar to how newer versions of libvirt handle the issue for
bridges/networks that it manages.

Fixes LP: #1029430

EDIT: Updated tests and pep8.

(Backported from commit 901a3dacb6f2d36cbe8d23707dba75452e91df33)

Change-Id: I1a51c1d808fa47a77e713dbfe384ffad183d6031
remove session parameter from fixed_ip_get

Remove session parameter from public method fixed_ip_get.
This requires some changes to floating_ip_disassociate,
but doesn't appear to affect anything else.

Change-Id: I435bfc4f2f4175049fd164fea37b4724871e1eb1
(cherry picked from commit 88ac5d532dfdbeeed5a5c7e295e3a5962a792e41)
Eliminate race conditions in floating association

This makes associating and disassociating floating ips atomic and
idempotent. This means multiple concurrent messages will not leave
behind iptables rules and concurrent request will not cause odd
failures.

Fixes bug 1092762 and bug 1092761.

Change-Id: Idbcad6c1d2a3d4881cf7180b848ed3844fac4054
(cherry picked from commit 881a93473c32a7c7e23a8e6dcede8394053408c6)
Limit formatting routes when adding resources

By default, routes.mapper.Mapper.resource adds a bunch of formatted
routes that accept anything after a '.'. Our spec says only .xml
and .json are accepted so limit the formatting to those valuse.

This allows identifiers with a '.' in urls. A few tests were added
to the extensions test to prove that .xml and .json are stripped
but other values are not.

Fixes bug 1027788

Change-Id: Ic888aa5d75050d6b14763c2a787ac8c8d5ab1f69
(cherry picked from commit 8935c3bde9e9635f65522488c1aca5df5b03050d)
Fix to include error message in instance faults

port the patch in 1013350 from Bill Darbie (bill-darbie) into latest code base.

incorporate one little comment from Russell about not specifying the default value twice

added a test case

Fixes bug 1013350

Change-Id: Id61f10bf2502fa57d2d26199ba9608e4566e8624
(cherry picked from commit ce41618c9c24a866ccac19461653eba3b8e6dca4)
Fix typo in resource tracker audit message

Resolves bug 1092418.

Change-Id: Ia51f1ee78bc612743095759fef6067c93fbcd222
Fix addition of CPU features when running against legacy libvirt

When running against an libvirt < 0.9.10 which lacks support for the
'host-model' CPU type, we must fake it by copying the host CPU
model and features. Unfortunately the code was forgetting to
append the new features to the CPU object feature list

Bug: 1099527
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit 82b55c97d10a55e6a825261397816f6a7ad00fd7)

Change-Id: Ib5e6a173f1ae7d421435af45bf327f5b36c94dd0
Merge "Fix errors in used_limits extension" into stable/folsom
Call plug_vifs() for all instances in init_host

Remove the assumption that we are using the "flat" networking model
and there is a single bridge interface for all instances on a given
compute node.  Instead simply call plug_vifs() for each instance in
init_host.

Fixes bug 1083784

Change-Id: I4b367deb6851c06c80a4bdf0bd806cf5e867bb0a
(cherry picked from commit 77e38b7cfc2206ef4ac528d3c9faaa09adbf7f58)
Makes sure compute doesn't crash on failed resume.

If the call to the driver to resume an instance raises an exception,
then nova-compute fails to start properly. This can happen during
recovery, for example, where an instance has been deleted so the
backing files are gone but the database is restored to a state
where it exists.

This patch fixes the issue by catching the exception and setting
the instance to error.

Fixes bug 1100430

Change-Id: Ie31f39fcd43174c29bf7a5cb1b6fa29e4c723f97
(cherry picked from commit 3b4016184f83c71158d41db9a26e6043d9ae1506)
Merge "Limit formatting routes when adding resources" into stable/folsom
Merge "Provide better error message for aggregate-create" into stable/folsom