Show bm deploy how to preserve ephemeral content.

This changes the baremetal deploy helper to be able to preserve the
ephemeral partition, if the deploy requests that. The next patch in
the series makes it possible to store that intent in the deploy and
connects it to the deploy() method.

Partial-Bug: #1174154
blueprint: baremetal-preserve-ephemeral
Change-Id: I6bf01e52589c5894eb043f2b57e915d52e81ebc3
Support preserve_ephemeral in baremetal.

We need to be able to capture the semantic intent of a rebuild with
ephemeral preservation for the baremetal helper, which means another
column in bm.modes.

Partial-Bug: #1174154
blueprint: baremetal-preserve-ephemeral
Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>
Change-Id: Icf627f38dac02b7d06ff0f1816741e5513a4fcf3
libvirt: Fix root disk leak in live mig

This patch makes sure that i_create_images_and_backing method of the
libvirt driver (called in several places, but most problematic one is
the call in the pre_live_migration method) creates all the files the
instance needs that are not present.

Prioir to this patch - the method would only attempt to download the
image, and if it did so with the path of the ephemeral drives, it could
expose the image to other users as an ephemeral devices. See the related
bug for more detaiis.

After this patch - we properly distinguish between image, ephemeral and
swap files, and make sure that the imagebackend does the correct thing.

Closes-bug: #1251590

Co-authored-by: Loganathan Parthipan <parthipan@hp.com>

Change-Id: I78aa2f4243899db4f4941e77014a7e18e27fc63e
Allow delete when InstanceInfoCache entry is missing

The existing code wouldn't allow you to delete 'broken' instances that were
(for whatever reason) missing their InstanceInfoCache entry. This patch fixes
it such that those instances can be deleted.

Adds a test case to cover the new exception handling.

Closes-Bug: #1266919

Co-Authored-By: Matt Riedemann <mriedem@us.ibm.com>
Change-Id: I3d566a25e340b5d5de86740141e1eaa5b3742915
Merge "Show bm deploy how to preserve ephemeral content."
Merge "Support preserve_ephemeral in baremetal."
Merge "Allow delete when InstanceInfoCache entry is missing"
Merge "libvirt: Fix root disk leak in live mig"