class Admiral::Layers::AdmiralPuppetApply

Public Class Methods

new(config, ipaddress) click to toggle source
Calls superclass method Admiral::LayerBase::new
# File lib/admiral/layers/admiral.puppet.apply.rb, line 9
def initialize(config, ipaddress)
  description = "Applying cookbooks"

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

Public Instance Methods

do_action() click to toggle source
# File lib/admiral/layers/admiral.puppet.apply.rb, line 16
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