Sha256: f538e435dcb97112f8bbeb6afd401f73279e14dfacebaa8b73e2fca5a813dee4
Contents?: true
Size: 1.41 KB
Versions: 11
Compression:
Stored size: 1.41 KB
Contents
require 'mccloud/util/rsync' require 'mccloud/util/ssh' module Mccloud module Provisioner class Puppet attr_accessor :manifest_file attr_accessor :manifests_path attr_accessor :module_path attr_accessor :pp_path attr_accessor :options def initialize @manifest_file = nil @manifests_path = "manifests" @module_path = nil @pp_path = "/tmp/vagrant-puppet" @options = [] end def run(vm) # @module_paths.each do |from, to| # Mccloud::Util.rsync(path,vm,vm.instance) # end # @manifests_paths.each do |from, to| # Mccloud::Util.rsync(path,vm,vm.instance) # end vm.instance.ssh("mkdir -p #{@pp_path}") puts "Synching manifest #{@manifest_file}" vm.instance.scp(@manifest_file,"#{@pp_path}/manifest.pp") puts "Running puppet" options={ :port => 22, :keys => [ vm.private_key ], :paranoid => false, :keys_only => true} if vm.user=="root" Mccloud::Util.ssh(vm.instance.public_ip_address,vm.user,options,"puppet #{@pp_path}/manifest.pp") else Mccloud::Util.ssh(vm.instance.public_ip_address,vm.user,options,"sudo puppet #{@pp_path}/manifest.pp") end end end #Class end #Module Provisioners end #Module Mccloud
Version data entries
11 entries across 11 versions & 1 rubygems