Exec's, если только команда не мешает компилировать мой каталог

Я столкнулся с некоторыми странными проблемами с Puppet 2.6.7. У меня есть exec, который использует сценарий оболочки в качестве команды. Кроме того, я хочу использовать тот же скрипт для выполнения свойства exec «если», просто передав флаг для проверки некоторых вещей:

exec { "myexec":
  path        => '/bin:/usr/bin',
  command     => "/opt/myapp/script.sh -o ${name}",
  unless      => "/opt/myapp/script.sh -o ${name} -t",
}

Я использую puppet с puppetmaster. Если я оставлю код, как показано выше, я получаю сообщение об ошибке: «Не удалось оценить: не удалось найти команду '/opt/myapp/script.sh'», и процесс выдает ошибку при компиляции. Однако, если я удалю строку, если все компилируется правильно. Странно то, что для обоих команда одинакова, но только жалобы на то, что она не найдена.

Кто-нибудь знает, как исправить это или какой-либо обходной путь? Это ошибка в Puppet 2.6.14?

Спасибо за помощь!

Гектор.


person hveiga    schedule 25.03.2013    source источник


Ответы (1)


unless запускается до command, поэтому вы не получаете ошибку для command. Проблема с path, вот правильное объявление:

path => [ '/bin/', '/usr/bin/' ]
person Gergo Erdosi    schedule 26.03.2013
comment
Спасибо за ваш ответ. Я пробовал, и проблема все еще существует. Я знаю, что unless предшествует command. Я имел в виду, что если у меня в экзешнике оба, то не компилируется, а если просто command, то работает нормально. - person hveiga; 26.03.2013
comment
Хорошо, тогда попробуйте: path =› [ '/opt/myapp/', '/bin/', '/usr/bin/' ], command =› script.sh -o ${name}, если только =› script. ш -о ${имя} -т, - person Gergo Erdosi; 26.03.2013