我在所有客户端(debian 和 CentOS)上都遇到了这个错误,其中行号取决于为操作系统选择的大小写;
错误:无法运行 Puppet 配置客户端:/etc/puppet/manifests/nodes.pp:32 处的参数阶段无效
服务器是 CentOS 5.4,带有来自 epel-puppet repos 的软件包;
# rpm -qa | grep puppet
puppet-dashboard-1.0.3-3
puppet-2.6.1-0.3.rc3.el5
puppet-server-2.6.1-0.3.rc3.el5
客户是;
# rpm -qa | grep puppet
puppet-0.25.5-1.el5
我在 nodes.pp 中引导 puppet 安装的代码如下所示;
node default {
include puppet
if versioncmp($puppetversion, '2.6.0') < 0 {
case $operatingsystem {
CentOS: {
notice('In the centos cases')
file { "/etc/puppet/puppet.conf":
owner => root,
group => root,
mode => 644,
source => "puppet:///bpcommon/basenode/etc/puppet/puppet-
centos.conf",
**line 32 }
}
debian: {
file { "/etc/puppet/puppet.conf":
owner => root,
group => root,
mode => 644,
source => "puppet:///bpcommon/basenode/etc/puppet/
puppet.deb.conf",
}
}
}
}
}
关于错误的任何建议,我猜测服务器正在提供客户端拒绝的阶段参数。但我的印象是服务器应该与旧的客户端一起工作。
这与 debian puppet clinet 版本 0.24.5-3 上的旧版 puppet 客户端配合良好
现在 0.24 和 0.25 客户端已全部停止运行。
我推测这是 2.6.0 阶段功能与旧版本之间的不兼容问题,但我似乎做了一些事情来触发它。
答案1
这实际上是一个错误,并且在测试分支中有一个可用的补丁; http://projects.puppetlabs.com/issues/4693