75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/vagrant-openstack-provider/config_resolver.rb', line 75
def resolve_volume_boot(env)
config = env[:machine].provider_config
return nil if config.volume_boot.nil?
return resolve_volume_without_volume_service(env, config.volume_boot, 'vda') unless env[:openstack_client].session.endpoints.key? :volume
volume_list = env[:openstack_client].cinder.get_all_volumes(env)
volume_ids = volume_list.map(&:id)
@logger.debug(volume_list)
volume = resolve_volume(config.volume_boot, volume_list, volume_ids)
device = (volume[:device].nil?) ? 'vda' : volume[:device]
size = (volume[:size].nil?) ? nil : volume[:size]
delete_on_destroy = (volume[:delete_on_destroy].nil?) ? nil : volume[:delete_on_destroy]
image = resolve_volume_boot_image(env) unless volume[:image].nil?
image_id = (image.nil?) ? nil : image.id
if image.nil?
return { id: volume[:id], device: device }
else
{ image: image_id, device: device, size: size, delete_on_destroy: delete_on_destroy }
end
end
|