Sha256: 6ffe5a06db91487213cfb08c42570a19c7fd76cc5bc8b7dc8cfe5508b362b047

Contents?: true

Size: 1.56 KB

Versions: 5

Compression:

Stored size: 1.56 KB

Contents

module PoolParty
  module Provisioner
    class Slave < ProvisionerBase

      def install_tasks
        [ 
          setup_poolparty,
          setup_puppet,
          setup_configs,
        ] << configure_tasks
      end

      def configure_tasks
        [          
          start_puppet
        ]
      end
      
      def setup_poolparty
        <<-EOE
echo "Running first time run"
cp #{Base.remote_storage_path}/#{Base.template_directory}/puppetrunner /usr/bin/puppetrunner
chmod +x /usr/bin/puppetrunner
        EOE
      end

      def setup_puppet
        <<-EOE
          if [ -z "$(grep -v '#' /etc/hosts | grep 'master')" ]; then echo "#{master_ip} puppet master" >> /etc/hosts; else echo "host already set"; fi
          cp #{Base.remote_storage_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
          /etc/init.d/puppetmaster stop #{unix_hide_string}
          mkdir -p #{Base.base_config_directory}
          # rm -rf /etc/puppet/ssl
          # /usr/bin/puppetrerun
        EOS
      end
      
      # /etc/init.d/puppetmasterd stop
      # puppetd --listen --fqdn #{@instance.name}
      def start_puppet
        <<-EOS
/bin/sh /usr/bin/puppetrunner
        EOS
      end
      
      def last_install_tasks
        [
          "rm -rf /etc/puppet/ssl",
          "/usr/bin/puppetrerun"
        ]
      end
      
      def master_ip
        @cloud.master.ip
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
auser-poolparty-0.2.77 lib/poolparty/helpers/provisioners/slave.rb
auser-poolparty-0.2.78 lib/poolparty/helpers/provisioners/slave.rb
auser-poolparty-0.2.79 lib/poolparty/helpers/provisioners/slave.rb
auser-poolparty-0.2.80 lib/poolparty/provisioners/provisioners/slave.rb
auser-poolparty-0.2.81 lib/poolparty/provisioners/provisioners/slave.rb