使用Puppet Concat与Nginx模块时遇selinux_ignore_defaults参数错误求助
selinux_ignore_defaults参数不存在 错误信息
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: no parameter named 'selinux_ignore_defaults' (file: /etc/puppet/modules/concat/manifests/init.pp, line: 122) on Concat_file[/etc/nginx/conf.d/web1_socket-upstream.conf] (file: /etc/puppet/modules/concat/manifests/init.pp, line: 122) on node web-1
当前环境版本
- Concat v7.3.3
- Nginx v4.3.0
- StdLib v8.5.0
用户已确认的信息
Concat模块代码中已定义该参数:
模块类型参数定义
newparam(:selinux_ignore_defaults, boolean: true, parent: Puppet::Parameter::Boolean) do desc <<-DOC See the file type's selinux_ignore_defaults documentention: https://docs.puppetlabs.com/references/latest/type.html#file-attribute-selinux_ignore_defaults. DOC end
Puppet类参数声明
Optional[Boolean] $selinux_ignore_defaults = undef,
排查思路
检查多版本模块冲突
用puppet module list查看Master上的Concat模块,确认仅存在v7.3.3版本,且其所在路径在Puppet模块搜索优先级中最高。若存在旧版本,删除后重启Master。验证Nginx模块兼容性
查看Nginx模块中创建Concat_file[/etc/nginx/conf.d/web1_socket-upstream.conf]的代码,确认参数传递逻辑是否匹配Concat v7.3.3的要求。必要时升级Nginx模块到与Concat v7.x兼容的版本。清理Puppet Master缓存
重启Puppet Master服务,清理Master端缓存目录(通常为/var/lib/puppet/cache或/opt/puppetlabs/server/data/puppetserver/cache),重新生成目录。检查Concat模块完整性
确认Concat模块安装目录下的文件完整,特别是lib/puppet/type/concat_file.rb和manifests/init.pp。若文件损坏,执行puppet module install puppetlabs-concat --version 7.3.3重新安装。核对Puppet版本兼容性
Concat v7.x要求Puppet 6.21.0+或7.x版本,用puppet --version查看当前版本,若版本过低则升级Puppet。
内容的提问来源于stack exchange,提问作者Joseph Quinn

