Class: PoolParty::Provisioner::Slave

Inherits:
ProvisionerBase show all
Defined in:
lib/poolparty/helpers/provisioners/slave.rb

Instance Method Summary collapse

Methods inherited from ProvisionerBase

#configure, configure, #configure_string, #create_local_node, #create_poolparty_manifest, #custom_configure_tasks, #custom_install_tasks, #default_configure_tasks, #default_install_tasks, #error, #get_puppet_packages_for, #initialize, #install, install, #install_string, #installer_for, installers, #loaded, #process_configure!, #process_install!, #setup_runner, #template_directory, #valid?, #write_configure_file, #write_install_file

Methods included from CloudResourcer

#full_keypair_path, #instances, #keypair_path, #keypair_paths, #new_keypair_path, #number_of_resources, #parent, #possible_keypair_basenames, #set_parent

Methods included from Configurable

included

Constructor Details

This class inherits a constructor from PoolParty::Provisioner::ProvisionerBase

Instance Method Details

#configure_tasks ⇒ Object



12
13
14
15
16
17
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 12

def configure_tasks
  [
    setup_configs,
    start_puppet
  ]
end

#install_puppet ⇒ Object



19
20
21
22
23
24
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 19

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

#install_tasks ⇒ Object



5
6
7
8
9
10
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 5

def install_tasks
  [
    install_puppet,        
    setup_puppet
  ] << configure_tasks
end

#master_ip ⇒ Object



46
47
48
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 46

def master_ip
  @cloud.master.ip
end

#setup_configs ⇒ Object



34
35
36
37
38
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 34

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

#setup_puppet ⇒ Object



26
27
28
29
30
31
32
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 26

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

#start_puppet ⇒ Object



40
41
42
43
44
# File 'lib/poolparty/helpers/provisioners/slave.rb', line 40

def start_puppet
  <<-EOS
puppetd --listen
  EOS
end