Puppet解析器验证自定义节点清单失败,请求排查语法问题
解决Puppet清单site.pp的语法错误问题
嘿,这个问题其实很好搞定——你的site.pp里的语法错误完全是因为**include apache,这一行末尾多了个不必要的逗号**。Puppet的语法解析器对这种细节特别敏感,当它看到逗号时会预期后面还有其他类名,结果紧接着碰到了闭合的},直接就抛出语法错误了。
修正后的site.pp内容
把多余的逗号删掉就好了,正确的清单代码应该是这样:
node 'rhel7-pp-agt2' { include apache }
补充说明(如果需要包含多个类)
要是以后你需要一次性加载多个类,有两种正确的写法:
- 用逗号分隔类名(注意最后一个类后面不要加逗号):
node 'rhel7-pp-agt2' { include apache, nginx, mysql }
- 用数组形式(这种写法可读性更强,也更灵活):
node 'rhel7-pp-agt2' { include ['apache', 'nginx', 'mysql'] }
验证修正结果
修改完成后,重新运行验证命令:
puppet parser validate site.pp
这次应该就不会再弹出语法错误提示了。
内容的提问来源于stack exchange,提问作者John Squarry
相关产品推荐
相关产品推荐

