'Unprotects and destroys the name snapshot.
With also_destroy_volume=True, it will also cleanup/destroy the parent
volume.  This is useful for cleaning up when the target volume fails
to snapshot properly.'

def cleanup_direct_snapshot(self, location, also_destroy_volume=False, ignore_errors=False):

    if location:
        (_fsid, _pool, _im, _snap) = self.driver.parse_url(location['url'])
        self.driver.remove_snap(_im, _snap, pool=_pool, force=True, ignore_errors=ignore_errors)
        if also_destroy_volume:
            self.driver.destroy_volume(_im, pool=_pool)
