Chef infra Chef中的yum_程序包资源在CentOS 8上不工作

Chef infra Chef中的yum_程序包资源在CentOS 8上不工作,chef-infra,yum,centos8,Chef Infra,Yum,Centos8,之前,我们在一些服务器上使用了RHEL7.2。我们正在切换到CentOS 8。以下资源在RHEL上工作,但在CentOS上失败 %w[ed rsync nmap telnet vim bash-completion].each do |package| yum_package package do action :install end end 错误是: ======================================================

之前,我们在一些服务器上使用了RHEL7.2。我们正在切换到CentOS 8。以下资源在RHEL上工作,但在CentOS上失败

%w[ed rsync nmap telnet vim bash-completion].each do |package|
    yum_package package do
        action :install
    end
end
错误是:

================================================================================
Error executing action `install` on resource 'yum_package[ed]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of /usr/libexec/platform-python /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.22.1/lib/chef/provider/package/yum/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
STDOUT: 
STDERR: File "/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.22.1/lib/chef/provider/package/yum/yum-dump.py", line 72
    except yum.Errors.ConfigError, e:
                                 ^
SyntaxError: invalid syntax
通过编辑
yum dump.py
文件并将相关行更改为

except yum.Errors.ConfigError as e:
我可以消除错误。在那条线上。除之外的下一次
操作将失败


我试着安装python2,但没用。我试着删除python3,这样只有python2可用,这也没有帮助。如何将yum软件包更新为语法正确的软件包?

切换到软件包资源可以巧妙地回避这个问题。问题已解决。您实际上不需要在此循环,也可以将数组传递给资源:
包%w[ed rsync nmap telnet vim bash completion]
。这将在1命令中安装所有软件包。