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

Version Path
mccloud-0.0.13 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.12 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.11 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.10 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.9 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.8 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.7 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.6 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.5 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.4 lib/mccloud/provisioner/puppet.rb
mccloud-0.0.3 lib/mccloud/provisioner/puppet.rb