Puppet报错wrong header line format
今天编写msmtp的模块时,突然报了个错:Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: wrong header line format
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
网上多说是模板错误,但是使用命令检查后也没有问题啊:
#erb -x -T '-' -P ../../sys_mutt/templates/Muttrc.local.erb |ruby -c
Syntax OK
模块结构如下:
sys_msmtp
├── files
│ ├── mail.rc
│ ├── msmtp-1.4.31.tar.bz2
│ ├── msmtp-install.sh
│ ├── msmtpqueue-0.5.tar.gz
│ └── msmtpqueue-install
├── manifests
│ ├── config.pp
│ ├── init.pp
│ └── install.pp
└── templates
└── msmtprc.erb
各文件内容如下:
init.pp
class sys_msmtp {
include sys_msmtp::install, sys_msmtp::config
}
install.pp
class sys_msmtp::install {
case $operatingsystem {
'CentOS','RedHat': {
file { "/usr/local/src/msmtp-1.4.31.tar.bz2":
mode =>644,
source =>"puppet:///modules/sys_msmtp/msmtp-1.4.31.tar.bz2",
}
file { "/usr/local/src/msmtp-install.sh":
mode =>744,
source =>"puppet:///modules/sys_msmtp/msmtp-install.sh",
}
exec { "msmtp-install":
cwd =>"/usr/local/src",
command =>'/usr/local/src/msmtp-install.sh',
require =>[ File["/usr/local/src/msmtp-install.sh"], File["/usr/local/src/msmtp-1.4.31.tar.bz2"] ],
onlyif =>"test ! -e /usr/local/msmtp/bin/msmtp";
}
}
default: { fail("目前暂不支持$operatingsystem系统") }
}
}
config.pp
define config (
$account_name,
$passwd,
$host_address,
$auth_enabled
) {
case $operatingsystem {
'CentOS','RedHat': {
file { "/usr/local/msmtp/etc/msmtprc":
content =>template("sys_msmtp/msmtprc.erb"),
require =>Class["sys_msmtp::install"];
}
file { "/etc/mail.rc":
mode =>644,
source =>"puppet:///modules/sys_msmtp/mail.rc",",
}
}
default: { fail("目前暂不支持$operatingsystem系统") }
}
}
然后,找了N久,终于看到了config中的错误。
页:
[1]