class Kafo::ExecutionEnvironment
Public Class Methods
new(config, logger = KafoConfigure.logger)
click to toggle source
# File lib/kafo/execution_environment.rb, line 9 def initialize(config, logger = KafoConfigure.logger) @config = config @logger = logger end
Public Instance Methods
configure_puppet(settings = {})
click to toggle source
# File lib/kafo/execution_environment.rb, line 37 def configure_puppet(settings = {}) @logger.debug("Configuring Puppet in #{directory}") @logger.debug("Writing facts to #{factpath}") FactWriter.write_facts(facts, factpath) hiera_config = configure_hiera settings = { 'environmentpath' => environmentpath, 'factpath' => factpath, 'hiera_config' => hiera_config, 'reports' => 'store', 'reportdir' => reportdir, }.merge(settings) PuppetConfigurer.new(puppet_conf, settings) end
directory()
click to toggle source
# File lib/kafo/execution_environment.rb, line 14 def directory @directory ||= begin directory = Dir.mktmpdir('kafo_installation') @logger.debug("Creating execution environment in #{directory}") directory end end
reportdir()
click to toggle source
# File lib/kafo/execution_environment.rb, line 22 def reportdir @reportdir ||= File.join(directory, 'reports') end
reports()
click to toggle source
# File lib/kafo/execution_environment.rb, line 26 def reports # Reports are stored in $reportdir/$certname/$report Dir.glob(File.join(reportdir, '*', '*.*')).sort_by { |path| File.mtime(path) } end
store_answers()
click to toggle source
# File lib/kafo/execution_environment.rb, line 31 def store_answers answer_data = HieraConfigurer.generate_data(@config.modules, @config.app[:order]) @logger.debug("Writing temporary answers to #{answer_file}") File.open(answer_file, 'w') { |f| f.write(YAML.dump(answer_data)) } end
Private Instance Methods
answer_file()
click to toggle source
# File lib/kafo/execution_environment.rb, line 66 def answer_file File.join(directory, 'answers.yaml') end
configure_hiera()
click to toggle source
# File lib/kafo/execution_environment.rb, line 74 def configure_hiera if @config.app[:hiera_config] File.realpath(@config.app[:hiera_config]) else config_path = File.join(directory, 'hiera.yaml') @logger.debug("Writing default hiera config to #{config_path}") HieraConfigurer.write_default_config(config_path) end end
environmentpath()
click to toggle source
# File lib/kafo/execution_environment.rb, line 58 def environmentpath File.join(directory, 'environments') end
factpath()
click to toggle source
# File lib/kafo/execution_environment.rb, line 62 def factpath File.join(directory, 'facts') end
facts()
click to toggle source
# File lib/kafo/execution_environment.rb, line 84 def facts { 'scenario' => { 'id' => @config.scenario_id, 'name' => @config.app[:name], 'answer_file' => answer_file, 'custom' => @config.app[:facts], }, } end
puppet_conf()
click to toggle source
# File lib/kafo/execution_environment.rb, line 70 def puppet_conf File.join(directory, 'puppet.conf') end