Шеф-повар выполняет ресурс not_if Guard возвращает 1; все еще пропускает - PullRequest
1 голос
/ 18 марта 2020

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

Код шеф-повара:

# Install the DNS plugin for the CLI
execute 'Install-DNS-plugin' do
  command 'akamai install dns --force'
  not_if 'akamai list | grep dns'
end

Всегда приводит к пропуску:

==> default:   * execute[Install-DNS-plugin] action run
==> default:  (skipped due to not_if)

Даже если в данном случае защитный код возвращает 1:

[root@vagrant ~] $ akamai list | grep dns
[root@vagrant ~] $ echo $?
1

1 Ответ

0 голосов
/ 27 марта 2020

Использует ли akamai указанную c переменную среды или инициализацию оболочки? Оба могут отсутствовать в not_if, если вы не укажете их. См. https://docs.chef.io/resource_common/#arguments

Я бы предложил запустить akamai list | grep dns в самом ресурсе execute для отладки результата.

...