libvirt: do not fail instance destroy, if mount_device is missing

In some cases, a volume does not have a mount_device field populated
in the device_mapping, especially for LXC instances. LXC instances
does not have a disk_bus mapping in get_dev_prefix_for_disk_bus()
and that results in mount_device being set to None.

Related to blueprint libvirt-start-lxc-from-block-devices

Change-Id: Idbd4ced0337c64003af08ac0497008878fb1c2e1
Improve Ironic driver performance: patch 6

As part of some large scale operational testing, some needed
performance improvements in the ironic driver have been
identified.  These changes have been reviewed and have been
merged into the ironic tree previously (reviews 108545 & 113036)

Change-Id: I635b974353a9dee542739857aa9778bf1e78cca8
Co-authored-by: Jim Rollenhagen <jim@jimrollenhagen.com>
Co-authored-by: Chris Behrens <cbehrens@codestud.com>
Ironic driver backports: patch 7

The patch to remove the dependency on python-ironicclient was
misplaced in the split of 103167 into the series of smaller
patches that we're now reviewing.  This patch reinstates this
change so ironicclient is loaded dynamically, and does not
become a requirement for Nova when not using Ironic.

Change-Id: I70a2fa8fc45e18524ea4d777d72da24d5d329c25
Co-authored-by: Devananda van der Veen <devananda.vdv@gmail.com>
Merge "libvirt: do not fail instance destroy, if mount_device is missing"
Merge "Improve Ironic driver performance: patch 6"
Merge "Ironic driver backports: patch 7"