仅当角色存在时,刀将角色添加到节点

时间:2016-08-29 21:59:10

标签: chef chef-recipe cookbook

我不喜欢这个命令的默认行为:

knife node run_list add myserver '"role[THISISATEST]"'

即使角色不存在,它也会添加THIISATEST。是否存在一个开关或参数,如果它不存在,会阻止刀将角色/配方添加到节点?

2 个答案:

答案 0 :(得分:0)

我不这么认为。我想你总是可以用脚本来做。

#!/usr/bin/env ruby

role = 'THISISATEST' # or ARGV.first
if %x(knife role list).include? role
  %x(knife node run_list add myserver 'role[#{role}]')
else
  puts 'No such role'
end

答案 1 :(得分:0)

您可能会使用某种形式的knife exec脚本执行此操作,但如果没有更多信息,很难确切地知道要使用哪些代码。