def call(env)
config = env[:machine].provider_config
fog_pool = env[:machine].provider.driver.connection.pools.all(
name: config.storage_pool_name
).first
env[:result] = nil
if not fog_pool
@logger.debug("**** Pool #{config.storage_pool_name} not found")
return @app.call(env)
end
@logger.debug("**** Pool #{fog_pool.name}")
name = "#{env[:domain_name]}.img"
@logger.debug("**** Volume name #{name}")
box_volume = env[:machine].provider.driver.connection.volumes.all(
name: name
).find { |x| x.pool_name == fog_pool.name }
if box_volume && box_volume.id
env[:ui].info(I18n.t('vagrant_libvirt.remove_stale_volume'))
@logger.info("Deleting volume #{box_volume.key}")
box_volume.destroy
env[:result] = box_volume
else
@logger.debug("**** Volume #{name} not found in pool #{fog_pool.name}")
end
@app.call(env)
end