我发现了这个问题,这个问题非常相似,但我正在实例上执行测试代码,根据文档,这意味着不应该应用保护。然而,它每次都在跳过。如有任何帮助,我们将不胜感激。
厨师代码:
# 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
akamai cli是否依赖于特定的环境变量或shell初始化?除非您指定它们,否则not_if
中可能不存在这两者。看见https://docs.chef.io/resource_common/#arguments
我建议在执行资源中运行akamai list | grep dns
来调试结果。