Сбой команды молотка в Puppet exec (бригадир 1.20.1) - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь использовать Hammer в Foreman 1.20.1 на Centos 7.6 для обновления функций прокси (или любой другой команды, кроме --version) в Puppet exec.Команда, которую я использую, отлично работает на оболочке.В Puppet exec происходит сбой с:

Ошибка: неопределенная локальная переменная или метод `точечный файл 'для Уведомления: / Stage [main] / Profiles :: Test / Exec [test] / Returns: Вы имели в виду?@@ dotfile Примечание: / Stage [main] / Profiles :: Test / Exec [test] / возвращает: Ошибка: Нет такой подкоманды 'proxy'.

Код, который я использую:

class profiles::test{
  exec {'test':
    command => '/usr/bin/hammer proxy refresh-features --name $(hostname)',
  }
}
include profiles::test

Меня не беспокоит идемпотентность, так как она будет иметь только освежающий эффект, я просто хочу заставить команду работать.

Я попытался добавить другие параметры, такие как путь, пользовательокружающая среда и т. д. безрезультатно.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 06 февраля 2019

из подсказок, которые я нашел в https://github.com/awesome-print/awesome_print/issues/316 и https://grokbase.com/t/gg/puppet-users/141mrjg2bw/problems-with-onlyif-in-exec,, получается, что необходимо установить среду HOME.Итак, рабочий код:

  exec {'test':
    command     => '/usr/bin/hammer proxy refresh-features --name $(hostname)',
    environment => ["HOME=/root"],
    refreshonly => true,
  }

f'ing ruby!

...