knife 仅当角色存在时才向节点添加角色
knife add role to node only if role exists
我不喜欢这个命令的默认行为:
knife node run_list add myserver '"role[THISISATEST]"'
即使角色不存在,它也会添加 THIISATEST。是否有一个开关或参数可以防止 knife 在不存在的情况下向节点添加 role/recipe?
我不这么认为。我想你总是可以用脚本来完成。
#!/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
您可能会使用某种形式的 knife exec
脚本来执行此操作,但如果没有更多信息,很难确切知道要使用什么代码。
我不喜欢这个命令的默认行为:
knife node run_list add myserver '"role[THISISATEST]"'
即使角色不存在,它也会添加 THIISATEST。是否有一个开关或参数可以防止 knife 在不存在的情况下向节点添加 role/recipe?
我不这么认为。我想你总是可以用脚本来完成。
#!/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
您可能会使用某种形式的 knife exec
脚本来执行此操作,但如果没有更多信息,很难确切知道要使用什么代码。