在人偶模块下运行时出现以下错误。我有2个代理,一个是ubuntu 18.04和centos7 下面的代码在ubuntu中起作用并停止防火墙,但是在centos中却出现了以下错误。
错误:无法从远程服务器检索目录:错误500 SERVER:{“ message”:“服务器错误:评估错误:子字符串 操作不接受String作为字符索引。预期的 整数(文件: /etc/puppetlabs/code/modules/service_disable_firewall/manifests/init.pp, 第9行,第21列) node-01.home86.com“,” issue_kind“:” RUNTIME_ERROR“}警告:未使用 在失败的目录上缓存错误:无法获取目录;跳过 运行
第9行是
case $facts['os']['family'] {
我的代码是
class service_disable_firewall {
case $facts['os']['family'] {
'Debian': {
service { 'ufw':
ensure => stopped,
}
}
'RedHat': {
service { 'firewalld':
ensure => stopped,
}
}
}
}
预先感谢
答案 0 :(得分:1)
按如下所示更改“大小写”后问题已解决
case $::operatingsystem {
但仍然不确定为什么我的第一个代码会失败。
答案 1 :(得分:0)
尝试用${facts['os']['family']}
代替$facts['os']['family']
同时为我和他们