Fix for volume detach error when use NFS as the cinder backend

For NFS volumes, every time you detach a volume, nova tries to umount
the device path. If the device path is busy (or in use), it should
output a message to log and continue.
In current code, if the device is busy, it cannot catch the ‘device is busy’
message returned by umount, because it looking for the ‘target is busy’.
 Therefore, current code skip the ‘if’ statement and run the ‘else’ and
raise the exception.
Fix: Add ‘device is busy’ to if statement.

Add a mock test to check the behaviour of the
virt.libvirt.volume.LibvirtNFSVolumeDriver.disconnect_volume
when it has umount errors.

Closes-Bug: #1340552

Change-Id: Iac946c37064c5f5bf5a102305de40d21d16846c1
xenapi: send chunk terminator on subprocess exc

During chunk upload if a subprocess exception is thrown, a malformed
chunk upload occurs.

This patch adds logging for subprocess exceptions and sends the
terminator even in the event of a subprocess exception. The incomplete
file upload will then be cleaned up by the client.

Change-Id: I559f201430bcd4c36d669c7772a10bfe3cd54d41
Closes-Bug: 1365637
Proxy nova baremetal commands to Ironic

This patch will proxy baremetal-node-list and baremetal-node-show
commands to Ironic. All other commands will raise an error if the
compute_driver is set to Ironic, otherwise the api will act as
expected.

Co-authored-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Change-Id: Id9209d1d34a725750342434fbde1ff5681ff06b8
Merge "Proxy nova baremetal commands to Ironic"
Merge "Fix for volume detach error when use NFS as the cinder backend"
Merge "xenapi: send chunk terminator on subprocess exc"