Используя chef-solo на Chef12, я предполагаю, что путь /opt/chef/embedded/bin
добавлен к системной переменной PATH, и различные библиотеки, такие как openssl
и makedepend
, работают по этому пути.
Обновление до Chef13 с помощьюта же команда chef-solo, я получаю ошибки, такие как -
* 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-solo использовать встроенную библиотеку?