今天编写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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com