Puppet master基于策略的自动签名脚本STDOUT / STDERR未复制到master的日志输出

时间:2015-03-16 19:57:47

标签: puppet

根据puppet主文档here,从autosign = [path to executable]设置引用的可执行文件发出的STDERR和STDOUT都被复制到Puppet master的主日志输出中。但是,我无法找到这个输出。

我的puppet.conf的相关部分:

[main]
logdir = /var/log/puppet
log_level = debug

[master]
autosign=/usr/lib/ruby/site_ruby/1.8/autosign.rb

/usr/lib/ruby/site_ruby/1.8/autosign.rb的来源:

#!/usr/bin/env ruby

require 'etc'

ENV['HOME'] = Etc.getpwuid(Process.uid).dir

STDERR.puts "Inside autosign.rb"
STDERR.puts "====================================="

STDERR.puts "=== ENV['HOME'} ====================="
STDERR.puts "#{ENV['HOME']}"

STDERR.puts "=== STDIN ==========================="
ARGF.each do |line|
  STDERR.puts line if line =~ /login/
end

STDERR.puts "=== ARGV[] =========================="
ARGV.each do |b|
    STDERR.puts b
end

#require 'puppet'
#require 'puppet/ssl/certificate_request'

#clientcert = ARGV.pop

#csr = Puppet::SSL::CertificateRequest.from_s(STDIN.read)

retcode = 0
exit retcode

您是否有人从自动签名策略可执行文件中成功登录? ...或者通常使用这个工具?

1 个答案:

答案 0 :(得分:1)

出于调试目的,您可以使用

在终端中启动独立主进程
puppet master --no-daemonize --debug --verbose

这应该为您提供所有相关的输出。