Sha256: f95818a9d0677e859981acd5399fc95c23b6614324c643433ccd5f68cd29834f
Contents?: true
Size: 1.47 KB
Versions: 50
Compression:
Stored size: 1.47 KB
Contents
module Vagrant module Provisioners class PuppetServerError < Vagrant::Errors::VagrantError error_namespace("vagrant.provisioners.puppet_server") end class PuppetServer < Base register :puppet_server class Config < Vagrant::Config::Base attr_accessor :puppet_server attr_accessor :puppet_node attr_accessor :options def initialize @puppet_server = "puppet" @puppet_node = "puppet_node" @options = [] end end def provision! verify_binary("puppetd") run_puppetd_client end def verify_binary(binary) vm.ssh.execute do |ssh| ssh.sudo!("which #{binary}", :error_class => PuppetServerError, :_key => :puppetd_not_detected, :binary => binary) end end def run_puppetd_client options = config.options options = options.join(" ") if options.is_a?(Array) if config.puppet_node cn = config.puppet_node else cn = env.config.vm.box end commands = "puppetd #{options} --server #{config.puppet_server} --certname #{cn}" env.ui.info I18n.t("vagrant.provisioners.puppet_server.running_puppetd") vm.ssh.execute do |ssh| ssh.sudo!(commands) do |channel, type, data| ssh.check_exit_status(data, commands) if type == :exit_status env.ui.info(data) if type != :exit_status end end end end end end
Version data entries
50 entries across 50 versions & 6 rubygems