enhance description of share_dhcp_address option

It is easier to understand how the option works.

related to bug #1092347.

Change-Id: I843c36c24e82ee26054430e4bd3bdcf4110e4f90
Fix a typo in test_migrations for migration 209

Happened to see that typo asserFalse and fix it.

Change-Id: I3aab9f1f7f5d253ca72a907d12eecfdbeeeaf981
Signed-off-by: Shane Wang <shane.wang@intel.com>
maint: remove redundant disk_cachemode validation entry

* nova/virt/libvirt/driver.py (LibvirtDriver.__init__):
Remove a redundant duplicate entry, which would just
slow checks down slightly.

Change-Id: I7b5f7bf2cb00a45f88dbd3e3b6b4e339af49c8d8
Remove unused _decompress_image_file from powervm operator class

While looking at bug 1214985 I noticed that the _decompress_image_file
method in the BaseOperator class wasn't being used, so this patch simply
cleans that up to avoid future confusion.

Related-Bug: #1214985

Change-Id: Ic6f2010727dcc1dfabc310ffa3bd5ca0b6799537
Sync filetuils from oslo-incubator

to support https://review.openstack.org/#/c/33409/

* nova/openstack/common/fileutils.py: Auto sync from oslo.
* nova/tests/virt/libvirt/test_libvirt.py (fake_rm_on_errror):
Adjust to match the new signature of delete_if_exists()
and handle mocking out the remove parameter to
remove_path_on_error() which is initialized at load time.

Change-Id: I756f1226853366e8f418d21309b0e8dcf8a24aa2
Limit instance fault messages to 255 characters

The instance_fault.message column is a VARCHAR(255).  By default,
MySQL silently truncates entries that are too long.  PostgreSQL
throws an error instead.  So we need to truncate the message field
before we try inserting into that column, to avoid errors from
very long messages in PostgreSQL (or MySQL configured to not allow
this).

Fixes bug #1217167

Change-Id: Ia959d64a8bc162a33ba818f1006e9779207b4796
Synchronize the key manager interface with Cinder

This change synchronizes the key manager interface with code that
has been accepted by Cinder. The default key manager (i.e.,
NotImplementedKeyManager) raises NotImplementedError for all
operations. A copy_key method has also been added to the key
manager interface so that keys may be deleted when the objects
that they encrypt (e.g., a volume) are deleted.

Implements blueprint encrypt-cinder-volumes

Change-Id: Ie9ab9578402e87338b6a4bd413bb9f875d3b3eb6
Fix failure to emit notification on Instance.save()

The ordering of things in Instance.save() meant that we were
consulting an emptied list of changes to determine if we should
send a notification. This fixes that by maintaining the
calculated list of fields being updated for that decision.

Change-Id: I35ef56963713089e566815f37ed0ee4038694d91
Closes-bug: 1220186
Revert baremetal v3 API extension

Baremetal is scheduled to be deprecated in Nova soon. Since
the V3 API is experimental in Havana, we should revert the
extension to avoid maintenance of the extension and its tests
for no real gain.

Things have changed enough since it was added that a simple
git-revert won't work. This reverts the following changes:

  5de5ae1b5d3763dbcf14bf3b4d43199ad5255adf
  92c9975bd2d53624ae595b895c2e96991ee43778
  2382186311794591fb4d35893ffa774157d6131b

Mailing list discussion:

http://lists.openstack.org/pipermail/openstack-dev/2013-September/014614.html

Change-Id: I3bdc7234f91eb4f9078ee24d7ab093b28f9930c9
Fix inconsistent usages for network resources

If a normal user created a fixed_ip/floating_ip, a usage record with
column `in_use=1` will be created in the quota_usages table, and if an
admin user deleted the resource, a new record with column `in_use=-1`
will be created..This will cause the quota for the resources not
released.

Fixes bug 1220727

Change-Id: I705f2f9ef327a3198da6a47df772c3a1a28e1b4e
Fix PCIDevice ignoring missing DB attributes

Right now, the PCIDevice _from_db_object() method ignores missing
attributes on the DB object by using get(). This prevents the strict
typechecking from doing it's job, and differs from every other object
model currently in the tree. As a result, non-nullable attributes such
as dev_type are string-converted to "None" in the object, which is
definitely not the intent.

This is convention, not something we test for, but it was wrong, and
ended up breaking the next patch which introduces a scenario where this
gets checked in the unit tests more strictly. Thus, the test is in the
next aptch

Change-Id: Id6e1f444ceae13ee9fa1a9518db5a239a1d9fbe3
Closes-bug: 1221360
Fix the bootfile_name method call in baremetal

nova baremetal was supplying a pxelinux config file disk path, but
PXE clients need the binary to bootstrap, which is neither the config
file, nor a filesystem path - it's a path within TFTP server.

As some environments/architectures may have different PXE binary,
this needs to be an option.

DocImpact

Change-Id: I393552ae2d45e1ff5bc306fc8717fa4265ac827f
Closes-Bug: #1220904
Merge "Limit instance fault messages to 255 characters"
Merge "Revert baremetal v3 API extension"
Merge "Sync filetuils from oslo-incubator"
Merge "Fix inconsistent usages for network resources"
Merge "Fix failure to emit notification on Instance.save()"
Merge "Remove unused _decompress_image_file from powervm operator class"
Merge "Synchronize the key manager interface with Cinder"
Merge "Fix PCIDevice ignoring missing DB attributes"