VMware: prevent race for vmdk deletion

Prevent a race condition for the deletion of a file when there
is more than one process trying to erase the file.

In the application we can now handle the following specific exceptions:
 - CannotDeleteFile - the file cannot be deleted
 - FileFault - a file access exception
 - FileLocked - an attempt is made to lock a file that is
                already in use
 - FileNotFound - the specific file does not exist

Change-Id: I58e07b9e630c063f894cbbb138612a39e912acd5
Closes-bug: #1266580
Add boolean convertor to "create multiple servers" API

"create multiple servers" API contains "return_reservation_id" as an
attribute, and the attribute should be boolean. There are the other
boolean attributes such as "on_shared_storage" of evacuate API, they
can be passed with either boolean or string(e.g. "True"). For the
consistency of whole Nova APIs, this patch adds boolean convertors to
multiple_create API.

Change-Id: Id6f458a2ced869a31d5d25d661309973132e9360
Closes-Bug: #1281440
Merge "Support setting a machine type to enable ARMv7/AArch64 guests to boot"
Add experimental warning for Cells

When we merged Cells a while back, we noted that the usage was
experimental but haven't had a good channel for communicating the
continued state to the user. Since we're adding warning messages
to virt drivers, this patch adds one for Cells as well, in the
Manager's init method.

Change-Id: I75b0bedf57250e7701b00f9ce0f60e4775eacfd7
Merge "Make floating_ips module use FloatingIP for all get queries"
Merge "Make floating_ips module use FloatingIP for (de-)allocations"
Merge "Make floating_ips module use FloatingIP for updates"
Merge "Convert add_fixed_ip_to_instance to objects"
Merge "Add experimental warning for Cells"
Treat port attachment failures correctly

Raise a more appropriate exception following the failure of a
port attachment.

Closes-bug: #1245683

Change-Id: I77e9568c8675b0dd6a0c8c741e71e936ed3998a1
Remove XML support from schemas v3

The XML support was removed from the V3 API plugins,
this part of the code was not used again.

Partially implements blueprint remove-v3-xml-api

Change-Id: I7bc3ed2386d8d678eb13ac4592e4cce2ba8a1602
Imported Translations from Transifex

Change-Id: I7473dd1635f326fb9a50a95e42c57341c36a5609
Remove unused notifier and rpc modules from oslo sync

As part of the move to oslo.messaging (1a91aacb85922f8d74733979691f0bf26249debc)
we stopped using oslo-incubator's notifier and rpc, but openstack-common.conf
wasn't updated accordingly.

Change-Id: I11e17313afa0327ba4620dd8f08ecf379efef9ac
Merge "Cells rebuild regression fix"
Merge "libvirt: configuration element for a random number generator device"
VMware: factor out management of controller keys and unit numbers

This patch encapsulates the allocation of controller key and unit
number for a new virtual disk/CDROM into utility function.
This way high-level methods like spawn, rescue, etc. don't have
to deal with implementation details like the above and the
algorithm for allocating controller_key and unit_number is
clearly defined and can be easily reused.

Change-Id: Ia6d5db5d5c5fa25f680eae82892dcb9b2be864fa
Closes-Bug: #1259981
libvirt: configuration element for virtual controller

While Libvirt can automatically configure a controller for most
of the devices, some need to have an explicit controller element
to be provided.

Partially implements blueprint libvirt-virtio-scsi-driver

Change-Id: Id0b6c597362cfb66af0d8c5d43f777e4fa3267fe
libvirt: add virtio-scsi disk interface support

A new virtio-scsi cotroller will be presented to the guests,
when hw_disk_bus_model will be set to virtio-scsi in Glance
image metadata:

glance image-update \
       --property hw_scsi_model=virtio-scsi \
       [image]

DocImpact
Partially implements blueprint libvirt-virtio-scsi-driver
Change-Id: I2723494130055687a9dfc58b1a27e586116fdff3
Use disk_bus when guessing the device name for vol

Even though the disk bus could be set through hw_disk_bus property,
the libvirt driver didn't guess the proper bus and device name for the
root volume and expected it to be defined in the BDM.

With this patch, we consider the predefined disk_bus when going to guess
the volume device name and bus instead of just relying on the one
defined in the BDM.

Change-Id: Ic6434ee2b29dc20126ec3b470d7340a0f8bf62e9
Closes-Bug: 1281989
Merge "Treat port attachment failures correctly"