Class: Admiral::Layers::AdmiralPuppetApply

Inherits:
Admiral::LayerBase show all
Defined in:
lib/admiral/layers/admiral.puppet.apply.rb

Instance Method Summary collapse

Methods inherited from Admiral::LayerBase

#add_parameter, inherited, #run, #run_ssh_command, #show_information, #upload, #verify

Constructor Details

#initialize(config, ipaddress) ⇒ AdmiralPuppetApply

Returns a new instance of AdmiralPuppetApply.



10
11
12
13
14
15
# File 'lib/admiral/layers/admiral.puppet.apply.rb', line 10

def initialize(config, ipaddress)
  description = "Applying cookbooks"

  super(description, config, ipaddress)
  add_parameter('manifest', 'Manifest file (ex: prod.pp)')
end

Instance Method Details

#do_actionObject



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/admiral/layers/admiral.puppet.apply.rb', line 17

def do_action

  manifest      = @config['manifest']
  manifests_dir = '/var/lib/puppet/manifests'
  modules_dir   = '/var/lib/puppet/modules'

  cmd = "puppet apply --verbose --modulepath=#{modules_dir} #{manifests_dir}/#{manifest}"

  rc = run_ssh_command(cmd, :allow_proxy => false)
  return (rc == 0)
end