Sha256: 6ed52ae2ea7abb2fdbf4de93900b4385d80664cdd2106709b2878ec07df6253a

Contents?: true

Size: 1.9 KB

Versions: 4

Compression:

Stored size: 1.9 KB

Contents

#
# these methods are made available in capistrano tasks as 'puppet.method_name'
# (see RemoteCommand::new_capistrano)
#

module LeapCli; module Remote; module PuppetPlugin

  def apply(options)
    run "#{PUPPET_DESTINATION}/bin/puppet_command set_hostname apply #{flagize(options)}"
  end

  private

  def flagize(hsh)
    hsh.inject([]) {|str, item|
      if item[1] === false
        str
      elsif item[1] === true
        str << "--" + item[0].to_s
      else
        str << "--" + item[0].to_s + " " + item[1].to_s
      end
    }.join(' ')
  end

end; end; end


    # def puppet(command = :noop)
    #   #puppet_cmd = "cd #{puppet_destination} && #{sudo_cmd} #{puppet_command} --modulepath=#{puppet_lib} #{puppet_parameters}"
    #   puppet_cmd = "cd #{puppet_destination} && #{sudo_cmd} #{puppet_command} #{puppet_parameters}"
    #   flag = command == :noop ? '--noop' : ''

    #   writer = if puppet_stream_output
    #              SupplyDrop::Writer::Streaming.new(logger)
    #            else
    #              SupplyDrop::Writer::Batched.new(logger)
    #            end

    #   writer = SupplyDrop::Writer::File.new(writer, puppet_write_to_file) unless puppet_write_to_file.nil?

    #   begin
    #     exitcode = nil
    #     run "#{puppet_cmd} #{flag}; echo exitcode:$?" do |channel, stream, data|
    #       if data =~ /exitcode:(\d+)/
    #         exitcode = $1
    #         writer.collect_output(channel[:host], "Puppet #{command} complete (#{exitcode_description(exitcode)}).\n")
    #       else
    #         writer.collect_output(channel[:host], data)
    #       end
    #     end
    #   ensure
    #     writer.all_output_collected
    #   end
    # end

    # def exitcode_description(code)
    #   case code
    #     when "0" then "no changes"
    #     when "2" then "changes made"
    #     when "4" then "failed"
    #     when "6" then "changes and failures"
    #     else code
    #   end
    # end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
leap_cli-1.5.6 lib/leap_cli/remote/puppet_plugin.rb
leap_cli-1.5.1 lib/leap_cli/remote/puppet_plugin.rb
leap_cli-1.5.0 lib/leap_cli/remote/puppet_plugin.rb
leap_cli-1.2.5 lib/leap_cli/remote/puppet_plugin.rb