class Souffle::Provisioner
Starts up the base provisioner class with system and node state machines.
Starts up the base provisioner class with system and node state machines.
Attributes
provider[R]
system[R]
Public Class Methods
new()
click to toggle source
Creates a new provisioner.
# File lib/souffle/provisioner.rb, line 12 def initialize @provider = initialize_provider @provisioner = nil end
Public Instance Methods
begin_provisioning()
click to toggle source
Starts the provisioning process keeping a local lookup to the provisioner.
# File lib/souffle/provisioner.rb, line 51 def begin_provisioning @provisioner = Souffle::Provisioner::System.new(@system, @provider) end
cleanup_provider(provider)
click to toggle source
Cleans up the provider name to match the providers we have.
@param [ String ] provider The name of the provider to use.
@return [ String ] The cleaned up provider name.
# File lib/souffle/provisioner.rb, line 31 def cleanup_provider(provider) lookups = {} Souffle::Provider.constants.each { |k| lookups[k.to_s.downcase] = k.to_s } lookups.fetch([provider.downcase], provider) end
initialize_provider(provider=nil)
click to toggle source
Sets up the given provider to be used for the creation of a system.
@param [ String ] provider The system provider to use for provisioning.
# File lib/souffle/provisioner.rb, line 40 def initialize_provider(provider=nil) prv = cleanup_provider(Souffle::Config[:provider]) Souffle::Provider.const_get(prv).new rescue Souffle::Exceptions::InvalidAwsKeys => e Souffle::Log.error "#{e.message}:\n#{e.backtrace.join("\n")}" rescue Exception raise Souffle::Exceptions::InvalidProvider, "The provider Souffle::Provider::#{prv} does not exist." end
setup_system(system_hash)
click to toggle source
Creates the system object from a hash.
@param [ Hash ] system_hash The system represented in hash format.
# File lib/souffle/provisioner.rb, line 20 def setup_system(system_hash) @system = Souffle::System.from_hash(system_hash) @provider = initialize_provider( cleanup_provider(@system.try_opt[:provider])) end