Chef12 到 Chef13 升级的路径问题



在 Chef12 上使用 chef-solo,我假设/opt/chef/embedded/bin路径附加到系统 PATH 中,并且各种库(如opensslmakedepend(通过该路径工作。

使用相同的厨师独奏命令升级到 Chef13,我收到错误,例如 -

* execute[generate ca.pem] action run
================================================================================
Error executing action `run` on resource 'execute[generate ca.pem]'
================================================================================
Errno::ENOENT
-------------
No such file or directory - openssl
Resource Declaration:
command "openssl x509 -req -in hostname.csr -CA /path/to/ca.pem -CAkey /path/to/ca.key -CAcreateserial -out hostname.cer -days 512 -sha256"

系统信息是 -

------------------------
chef_version=13.6.4
platform=oracle
platform_version=7.4
ruby=ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]
program_name=chef-solo worker: ppid=627;start=06:32:26;
executable=/opt/chef/bin/chef-solo

当前的 PATH 现在只有/usr/bin和其他系统垃圾箱目录,但没有/opt/chef/embedded/bin

我调查了enforce_path_sanity但我们不使用厨房文件。(参考 - https://github.com/chef/chef/issues/3705 (

还有其他方法可以强制厨师独奏客户使用嵌入式库吗?

此行为已在 Chef Client 13 中更改。强制实施路径健全性不再是默认设置。这样做的原因是,如果用户在其他地方也有相同的二进制文件,则将 chef 嵌入的 bin 目录设置为路径的一部分可能会导致意外版本的二进制文件运行。

有几种方法可以继续。您可以安装 openssl 软件包(推荐(,您可以提供所需二进制文件的绝对路径,或者您可以在配置文件中将enforce_path_sanity设置为true以将此行为恢复为您熟悉的行为(client.rbsolo.rb或其他(。

相关内容

  • 没有找到相关文章

最新更新