deallocate_fixed_ip attempts to update deleted ip

Fixes bug 1017633. When deleting a vm, the nova
network manager looks to deallocate wrong fixed
ip when context has read_deleted set to 'yes',
in case when a network had been deleted and re-
created , it attempts to update already deleted
fixed_ips and therefore looks to teardown from
wrong network_id as well.

Change-Id: I574a20273220ef81498403da80f489732ae81eb1
Add check for no domains in libvirt driver.

A check is needed to see if there are any domains before calling
the listDomainsID() method. This check is needed to add support
for OpenVZ which will throw an exception from this method if there
are no domains. The 'virsh' source code does this check, too.

This change circumvents this libvirt bug:
   https://bugzilla.redhat.com/show_bug.cgi?id=836647

Change-Id: Ia71d996722a1b531e720e91c1fa68f561ad4d58d
Refactoring code to kernel Dom0 plugin.

The kernel and ramdisk VDI manipulation code really has nothing to do
with Glance so it doesn't make a lot of sense for it to exist in the
Glance Dom0 plugin.

This patch refactors the code out to its own plugin and then applies a
few misc cleanups.

Change-Id: I363d54ea3c2d51aa6a6c1635b4fb59ebb9ce1fc0
Create instance in DB before block device mapping

Fixes lp 1019334

A recently added foreign key constraint on the the block_device_mapping
table causes boot-from-volume to fail, as the bdm is populated before the
instance DB entry is created.

This fix simply transposes the ordering to avoid breaking the constraint.

Change-Id: Ic62ea3ba000a2cdf58d2bd5bb17dde2b8cf340e4
Remove duplicate volume_id

Remove duplicate key 'volume_id' in a for loop in _update_block_device_mapping
in nova.compute.api

Change-Id: I43e51cb077334818abea0c1d3bdda4b761406ea4
Run hacking tests as part of the gate.

Nova has additional pep8 "plugins" that they expect to run as part of the
gate. This patch will run tools/hacking.py instead of pep8 directly. Also,
it fixes the hacking violaions in contrib, plugins and smoketests.

Fixes bug 1010136

Change-Id: I86d8789218c197d5d4a43d1201465d340646a395
Merge "Create instance in DB before block device mapping"
Add missing gettextutils from openstack-common.

This patch adds gettextutils from openstack-common to nova.  It is used
by rpc, so some parts of rpc are broken without this patch.

Change-Id: I0830319f4e2011b87180abcc24354c935bea8d16
Sync cfg from openstack-common.

This change pulls in the latest version of the cfg module from
openstack-coludes some formatting changes, spelling fixes, and support
for deprecated options.

Change-Id: I3da358989209b274799018028bb6bd94d6ffb6bd
Sync excutils from openstack-common.

This patch syncs the latest version of excutils from openstack-common.
It includes a trivial formatting change.

Change-Id: I306e0f00c9398498c298098725f17e5dbfdc0bb7
Sync latest importutils from openstack-common.

This patch pulls in the latest version of importutils from
openstack-common.  It includes a formatting change and one new function:
import_object_ns().

Change-Id: Ifc1533fe1e33a447e4c501d759a6c838133d1063
Sync iniparser from openstack-common.

This patch pulls in the latest version of the iniparser module from
openstack-common.  It adds support for quoting option values.  For
example:

    foo = "option with a trailing space now works "

Change-Id: Ia2b6e1a7888ceb04e6befe3b221e3deef9f53f0b
Sync jsonutils from openstack-common.

This patch syncs the latest changes to the jsonutils module from
openstack-common.  It includes a fix for dealing with
xmlrpclib.DateTime types in to_primitive() and allows customizing the
default param to json.dumps().

Change-Id: I61f6734cdf0c85b56a71b350ca07f564454285a5
Redefine the domain's XML on volume attach/detach

This fixes bug 1004791 by adding new disk definitions to the defined
XML instead of just modifying the running instance.

Change-Id: I6596dae7c54158c32bc7b399c55a1797b2d98242
Sync rpc from openstack-common.

This patch pulls in the latest changes to rpc from openstack-common.
Changes include:

1) Formatting changes.

2) Add a missing gettextutils import to rpc.common and rpc.impl_kombu.

3) Raise an AttributeError from the rpc dispatcher if the version was
fine but the method didn't exist.  This makes the code match previous
behavior pre-version support.

Change-Id: I5b0d4b8eced87cfdfdd4ff7827991bbd9cd0ed43
Merge "Add missing gettextutils from openstack-common."
Merge changes I5b0d4b8e,I61f6734c,Ia2b6e1a7,Ifc1533fe,I306e0f00,I3da35898

* changes:
  Sync rpc from openstack-common.
  Sync jsonutils from openstack-common.
  Sync iniparser from openstack-common.
  Sync latest importutils from openstack-common.
  Sync excutils from openstack-common.
  Sync cfg from openstack-common.
Merge "Add check for no domains in libvirt driver."
Merge "Refactoring code to kernel Dom0 plugin."
Merge "deallocate_fixed_ip attempts to update deleted ip"