diff options
| -rwxr-xr-x | bin/puppet_command | 54 | 
1 files changed, 31 insertions, 23 deletions
| diff --git a/bin/puppet_command b/bin/puppet_command index 672a3699..a6cd5a69 100755 --- a/bin/puppet_command +++ b/bin/puppet_command @@ -7,14 +7,31 @@  # (exit codes, lockfile, multiple manifests, etc)  # -$puppet_bin = '/usr/bin/puppet' -$puppet_directory = '/srv/leap' -$puppet_parameters = '--color=false --detailed-exitcodes --libdir=puppet/lib --confdir=puppet' -$site_manifest = 'puppet/manifests/site.pp' -$setup_manifest = 'puppet/manifests/setup.pp' +PUPPET_BIN        = '/usr/bin/puppet' +PUPPET_DIRECTORY  = '/srv/leap' +PUPPET_PARAMETERS = '--color=false --detailed-exitcodes --libdir=puppet/lib --confdir=puppet' +SITE_MANIFEST     = 'puppet/manifests/site.pp' +SETUP_MANIFEST    = 'puppet/manifests/setup.pp' +DEFAULT_TAGS      = 'leap_base,leap_service'  def main +  process_command_line_arguments +  with_lockfile do +    @commands.each do |command| +      self.send(command) +    end +  end +end + +def puts(str) +  $stdout.puts str +  $stdout.flush +end + +def process_command_line_arguments    @commands = [] +  @verbosity = 1 +  @tags = DEFAULT_TAGS    loop do      case ARGV[0]        when 'apply'        then ARGV.shift; @commands << 'apply' @@ -27,16 +44,6 @@ def main      end    end    usage("No command given") unless @commands.any? -  with_lockfile do -    @commands.each do |command| -      self.send(command) -    end -  end -end - -def puts(str) -  $stdout.puts str -  $stdout.flush  end  def apply @@ -47,11 +54,12 @@ def apply  end  def set_hostname -  exit_code = puppet_apply(:manifest => $setup_manifest, :tags => '') do |line| -    # todo: how to suppress this? -    # dnsdomainname: Name or service not known -    # warning: Could not retrieve fact fqdn -    if line !~ /Finished catalog run/ || @verbosity > 2 +  exit_code = puppet_apply(:manifest => SETUP_MANIFEST, :tags => '') do |line| +    # todo: replace setup.pp with https://github.com/lutter/ruby-augeas +    # or try this: http://www.puppetcookbook.com/posts/override-a-facter-fact.html +    if (line !~ /Finished catalog run/ || @verbosity > 2) && +       (line !~ /dnsdomainname: Name or service not known/) && +       (line !~ /warning: Could not retrieve fact fqdn/)        puts line      end    end @@ -69,9 +77,9 @@ end  #  def puppet_apply(options={}, &block)    options = {:verbosity => @verbosity, :tags => @tags}.merge(options) -  manifest = options[:manifest] || $site_manifest -  Dir.chdir($puppet_directory) do -    return run("#{$puppet_bin} apply #{custom_parameters(options)} #{$puppet_parameters} #{manifest}", &block) +  manifest = options[:manifest] || SITE_MANIFEST +  Dir.chdir(PUPPET_DIRECTORY) do +    return run("#{PUPPET_BIN} apply #{custom_parameters(options)} #{PUPPET_PARAMETERS} #{manifest}", &block)    end  end | 
