微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“puppet agent -t”抛出错误:Facter:解析自定义事实时出错.../packages_of_interest.rb:未定义的局部变量或方法`package'

如何解决“puppet agent -t”抛出错误:Facter:解析自定义事实时出错.../packages_of_interest.rb:未定义的局部变量或方法`package'

问题:
这是运行 puppet agent -t

输出
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Error: Facter: error while resolving custom facts in /opt/puppetlabs/puppet/cache/lib/facter/packages_of_interest.rb: undefined local variable or method `package' for main:Object
Did you mean?  packages
Info: Caching catalog for server.com
Info: Applying configuration version '1606329246'
Notice: Applied catalog in 1.40 seconds

解决方法

查看packages_of_interest.rb 中的子程序,将package 替换为“matching_package”即可消除该错误。

将包名称添加到错误消息显示哪个包。我改变了第 57 行

来自

      puts "unknown provider passed (#{package[:provider]})"

      puts "unknown provider passed (#{matching_package[:provider]}) for package (#{matching_package[:name]})"

代理会替换这个文件,所以一旦代理说它更新 package_of_interest.rb 就将修改后的文件复制到位

这是现在的错误信息:

“为包 (javapackages) 传递了未知的提供者 (pip2)”

即使系统上存在 pip2

这个 pip2 消息似乎是一个错误。幸运的是,代理完成时会发出警告而不是错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。