Class: PEBuild::Cap::RunInstall::POSIX

Inherits:
Object
  • Object
show all
Extended by:
OnMachine
Defined in:
lib/pe_build/cap/run_install/posix.rb

Class Method Summary collapse

Methods included from OnMachine

on_machine

Class Method Details

.run_install(machine, config, archive) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/pe_build/cap/run_install/posix.rb', line 6

def self.run_install(machine, config, archive)

  if machine.communicate.test('test -f /opt/puppet/pe_version')
    machine.ui.warn I18n.t('pebuild.cap.run_install.already_installed'),
                    :name  => machine.name
    return
  end

  root = File.join('/vagrant', PEBuild::WORK_DIR)

  cmd_path = []
  cmd_path << root

  cmd_path << archive.installer_dir
  cmd_path << "puppet-enterprise-installer"

  cmd     = File.join(cmd_path)
  answers = File.join(root, 'answers', "#{machine.name}.txt")

  argv = "#{cmd} -a #{answers}"

  on_machine(machine, argv)


  if machine.communicate.test('which at')
    machine.ui.info I18n.t('pebuild.cap.run_install.scheduling_run')
    machine.communicate.sudo("echo '/opt/puppet/bin/puppet agent -t --waitforcert 10' | at now '+ 1min'")
  end
end