Update schema_diff.py to use 'postgresql' URLs.

This gets rid of a SQLAlchemy deprecation warning when using this tool w/
PostgreSQL:

The SQLAlchemy PostgreSQL dialect has been renamed from 'postgres' to
'postgresql'. The new URL format is
postgresql[+driver]://<user>:<pass>@<host>/<dbname>

This appears to have been deprecated in the SQLAlchemy 0.6 series so I think we
are Okay to remove it now.

Change-Id: If8fdf822ba452b387e9f2f3ec7c9157e4ae932f9
Correct exception handling

Previously, it was possible for an exception to be hidden and cause other
errors for example:
    UnboundLocalError: local variable 'port' referenced before assignment
was previously occuring if e.status_code != 404

Fixes bug: 1245700

Change-Id: I27e44ffd33a73c88745de8fda8fd7c374435808a
Add notification for host operation

Add notification for the following host operations:
1) compute/api.py:set_host_enabled
2) compute/api.py:host_power_action
3) compute/api.py:set_host_maintenance

This can make sure 3rd party callers can get host status quickly.

Implements bp host-operation-notification

Change-Id: Ib4cc80e568b6028afbdd6cb86f6ac8edeed4f933
Remove duplicated test

Function test_create_instance_with_img_ref_associates_config_drive
do the same as function test_create_instance_associates_config_drive
(identical bodies with different names)

Change-Id: I3c77d9249150231831f2e7eba1ccd493867ca5c0
Move `diff_dict` to compute API

`diff_dict` is only once, in the compute API, so just move it there.

Change-Id: I3a5a56a969aa661b096587b82fd4dc3fc430995f
Fixes the destroy() method for the Docker virt driver

* Added the missing "context" argument in nova/virt/driver.py
* Added the missing argument in the test_virt_drivers.destroy() as well so it
will make sure none of the other drivers will miss it.

Change-Id: I083b935da95c28ad4f9879036ef2bf7c1fbbb58e
Closes-Bug: #1244829
Add missing fields in DriverBlockDevice

Pylint reports the following, let's clean them up
["Instance of 'DriverBlockDevice' has no '_fields' member", ""]
["Instance of 'DriverBlockDevice' has no '_legacy_fields' member", ""]

Change-Id: Iaf56dc35ce5ad963a6fb50d6641b203409ca6798
Closes-Bug: #1214377
Send delete.end with latest instance state

Delete.end notifications were getting sent with a blank deleted_at
field. This meant that services listening to notifications for
instance state changes could potentially never get the instances
deleted_at value. The instance usage audit notification would be
the only source for that value.

This change returns the destroyed instance from the conductor API
and sends the delete.end notification with that state, containing
the deleted_at value which was just set.

UpgradeImpact
Closes-Bug: #1241681
Change-Id: I3481e0bada1711c3bff50f249f6a2b40a4ea6855
Merge "Add notification for host operation"
Merge "Update schema_diff.py to use 'postgresql' URLs."
Merge "Move `diff_dict` to compute API"
Merge "Add missing fields in DriverBlockDevice"
Merge "Send delete.end with latest instance state"
Merge "Correct exception handling"
Merge "Remove duplicated test"
Parted 'invalid option' in XenAPI driver

/sbin/parted is throwing an 'invalid option' error when setting the
partition endpoint to -0 (which tells parted to extend the partition
to the end of the disk). This change adds '--' to indicate the
remaining args are not options.

Fixes bug 1247307

Change-Id: I3bd2e25404d002329aa0ea53e9b60b69c90c0adb
Imported Translations from Transifex

Change-Id: I473e1dacce9c8fe58a6e3a29ea047980cbcd6967
Merge "Fixes the destroy() method for the Docker virt driver"
Always pass context to compute driver destroy()

The context arg was added to the compute driver's destroy() method in
commit 8c0673d3102478ef34ef1b11c1db156db4b68f62.  The context is used by
the libvirt driver when dealing with encrypted volumes.

Unfortunately, most of the places where this method is called in the
compute manager, the context wasn't being passed in.  This patch makes
the argument mandatory and updates all of the drivers to match.

Change-Id: Icea2a36c16869af43954065473ff4e4910f32b1e
Merge "Imported Translations from Transifex"