'Determine whether disks or instance path need to be cleaned up after
live migration (at source on success, at destination on rollback)
Block migration needs empty image at destination host before migration
starts, so if any failure occurs, any empty images has to be deleted.
Also Volume backed live migration w/o shared storage needs to delete
newly created instance-xxx dir on the destination as a part of its
rollback process
:param migrate_data: implementation specific data
:returns: (bool, bool) -- do_cleanup, destroy_disks'

def _live_migration_cleanup_flags(self, migrate_data):

    is_shared_block_storage = True
    is_shared_instance_path = True
    if isinstance(migrate_data, migrate_data_obj.LibvirtLiveMigrateData):
        is_shared_block_storage = migrate_data.is_shared_block_storage
        is_shared_instance_path = migrate_data.is_shared_instance_path
    elif isinstance(migrate_data, migrate_data_obj.XenapiLiveMigrateData):
        is_shared_block_storage = (not migrate_data.block_migration)
        is_shared_instance_path = (not migrate_data.block_migration)
    elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):
        is_shared_instance_path = migrate_data.is_shared_instance_path
        is_shared_block_storage = migrate_data.is_shared_instance_path
    do_cleanup = (not is_shared_instance_path)
    destroy_disks = (not is_shared_block_storage)
    return (do_cleanup, destroy_disks)
