Sha256: 6ef1b0c28123a7b06d7bfd47efb2b3d96821c81fd5f039eb2ef945bc83744336
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module CORL module Action class Provision < Plugin::CloudAction #----------------------------------------------------------------------------- # Settings def configure super do codes :network_failure, :provision_failure end end #----------------------------------------------------------------------------- # Operations def execute super do |node, network| if network && node info('corl.actions.provision.start') success = true if CORL.admin? unless node.build_time && File.directory?(network.build_directory) success = node.build end if success provisioner_info = node.provisioner_info node.provisioners.each do |provider, collection| provider_info = provisioner_info[provider] profiles = provider_info[:profiles] collection.each do |name, provisioner| build_profiles = provisioner.build_profiles if supported_profiles = provisioner.supported_profiles(profiles) profile_success = provisioner.provision(supported_profiles) success = false unless profile_success end end end myself.status = code.provision_failure unless success end end else myself.status = code.network_failure end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
corl-0.4.3 | lib/CORL/action/provision.rb |