Я пытаюсь запустить один модуль, как это:
puppet apply --verbose --modulepath=moduleshere --noop -e 'include myclass'
Тем не менее, я получаю такую ошибку, указывающую, что путь не указан
Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path.
Я не хочу явно указывать путь в каждом таком месте, и он прекрасно работает, когда выполняется как часть полного запуска кукол. Как я могу указать путь при запуске одного модуля?
Ответы:
Команды в
Exec
ресурсе должны быть либо полностью квалифицированы (т.е./usr/bin/test
вместоtest
), либо должен быть установленpath
атрибут этогоExec
ресурса.Если вы можете изменить манифест (ы) Puppet, вы можете просто добавить следующее определение для установки
path
атрибута по умолчанию для всехExec
ресурсов/bin
:В качестве (более или менее) грязного обходного пути вы также можете просто установить значение
path
по умолчанию для любогоExec
ресурса в командной строке:Указатели документации:
источник
Это .. не должно работать как часть полного цикла. Ему нужен полный путь к исполняемому файлу в
unless
команде. Может быть, у вас есть путь в глобальном файле, который является частью ваших полных прогонов?Попробуй
unless => '/usr/bin/[ -e "${logfile}" ]'
вместо этого.источник
Я согласен с Шейном, что путь по умолчанию, вероятно, задан в манифесте с глобальной областью действия. Вы можете сделать то же самое, но вы не можете передать это в качестве аргумента, поэтому либо используйте stdin:
или положить Exec и включить строки,
example.pp
а затем использоватьpuppet apply -v ... example.pp
.источник
Вам нужно использовать полный путь.
Например, либо:
или:
источник