Пакет: puppet-theforeman-puppetserver-foreman-2.2.0-alt2 --- Описание: Поставляемый ENC-скрипт использует: `File.exists?(...)` В используемой версии Ruby этот alias уже отсутствует, поэтому ENC сразу завершается: `undefined method `exists?' for class File` После этой ошибки Puppet Server не может использовать Foreman как ENC. --- Предусловия: Настроенный Puppet + PuppetServer + Foreman В /etc/puppet/puppet.conf используется настройки: ``` external_nodes = /usr/lib/puppet-modules/theforeman-puppetserver-foreman/files/enc.rb node_terminus = exec ``` Шаги воспроизведения: # /usr/lib/puppet-modules/theforeman-puppetserver-foreman/files/enc.rb $(hostname -f) --- Фактический результат: Ошибка `undefined method 'exists?' for class File` и ненулевой exit code. --- Предлагаемое исправление: Заменить во всём enc.rb: `File.exists?` на: `File.exist?` Минимальная исправляющая команда: # sed -i 's/File\.exists?/File.exist?/g' \ /usr/lib/puppet-modules/theforeman-puppetserver-foreman/files/enc.rb После этой замены ENC начинает выполняться дальше, то есть дефект воспроизводимо устранён. --- Дополнительная информация: Сам по себе пакета в нашем репозитории устарел. Upstream предлагает версию 4.3.0 https://github.com/theforeman/puppet-puppetserver_foreman/tags Быть может, проблема решится простым обновлением пакета.