Sha256: 647178c2253441cc2810c3a5d73e1b0840763a52dbf7c035f7713874d6704f48

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

module PoolParty
  module Provisioner
    class Slave < ProvisionerBase

      def install_tasks
        [
          install_puppet,        
          setup_puppet
        ] << configure_tasks
      end

      def configure_tasks
        [
          setup_configs,
          start_puppet
        ]
      end

      def install_puppet
        <<-EOE        
          #{installer_for( puppet_packages )}
          echo 'DAEMON_OPTS="-w 120 --server puppet"' > /etc/default/puppet
        EOE
      end

      def setup_puppet
        <<-EOE
          puppetd --mkusers
          if [ -z "$(grep -v '#' /etc/hosts | grep 'puppet')" ]; then echo "#{master_ip} puppet" >> /etc/hosts; else echo "host already set"; fi
          mv #{Base.remote_storage_path}/#{Base.tmp_path}/namespaceauth.conf /etc/puppet/namespaceauth.conf
        EOE
      end

      def setup_configs
        <<-EOS
          echo "#{open(File.join(template_directory, "puppet.conf")).read}" > /etc/puppet/puppet.conf        
        EOS
      end

      def start_puppet
        <<-EOS
puppetd --listen
        EOS
      end
      
      def master_ip
        @cloud.master.ip
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
auser-poolparty-0.2.3 lib/poolparty/helpers/provisioners/slave.rb