Chef infra 如何在收敛期间使用刀更新节点运行列表
我们已经给出了下面的场景Chef infra 如何在收敛期间使用刀更新节点运行列表,chef-infra,knife,convergence,Chef Infra,Knife,Convergence,我们已经给出了下面的场景 我们的节点已运行带有“角色a”和“角色b”的_列表。节点聚合并运行run_列表 在步骤1中的节点聚合运行期间,我们尝试使用刀子命令将另一个“角色c”添加到节点运行列表中。根据刀命令输出成功添加 如果我们检查刀节点状态,在节点收敛完成后。我们在步骤2中添加的“角色c”尚未添加到节点运行列表中 如何在节点聚合运行期间使用刀命令更新节点运行列表?刀命令旨在在工作站上用于管理chef服务器。不得在配方中使用它们来改变行为(因为这不起作用) 这里发生了什么: 在chef运行
- 我们的节点已运行带有“角色a”和“角色b”的_列表。节点聚合并运行run_列表
- 在步骤1中的节点聚合运行期间,我们尝试使用刀子命令将另一个“角色c”添加到节点运行列表中。根据刀命令输出成功添加
- 如果我们检查刀节点状态,在节点收敛完成后。我们在步骤2中添加的“角色c”尚未添加到节点运行列表中
如何在节点聚合运行期间使用刀命令更新节点运行列表?刀命令旨在在工作站上用于管理chef服务器。不得在配方中使用它们来改变行为(因为这不起作用) 这里发生了什么:
- 在chef运行中,有人(甚至不是节点本身)更改节点对象并修改其运行列表
- 当节点结束其运行时,它将保存回节点对象(包括运行列表)并覆盖已完成的操作。同时,刀子命令没有任何用处
节点.run\u list
方法,该方法允许修改运行列表以备将来运行
根据您的示例,您可以使用:
ruby_block 'remove ntp::undo from run list' do
block do
node.run_list.add('role[role c]')
end
only_if { !node.run_list.include?('role[role c]') }
end
刀子命令旨在在工作站上用于管理厨师服务器。不得在配方中使用它们来改变行为(因为这不起作用) 这里发生了什么:
- 在chef运行中,有人(甚至不是节点本身)更改节点对象并修改其运行列表
- 当节点结束其运行时,它将保存回节点对象(包括运行列表)并覆盖已完成的操作。同时,刀子命令没有任何用处
节点.run\u list
方法,该方法允许修改运行列表以备将来运行
根据您的示例,您可以使用:
ruby_block 'remove ntp::undo from run list' do
block do
node.run_list.add('role[role c]')
end
only_if { !node.run_list.include?('role[role c]') }
end
刀子命令旨在在工作站上用于管理厨师服务器。不得在配方中使用它们来改变行为(因为这不起作用) 这里发生了什么:
- 在chef运行中,有人(甚至不是节点本身)更改节点对象并修改其运行列表
- 当节点结束其运行时,它将保存回节点对象(包括运行列表)并覆盖已完成的操作。同时,刀子命令没有任何用处
节点.run\u list
方法,该方法允许修改运行列表以备将来运行
根据您的示例,您可以使用:
ruby_block 'remove ntp::undo from run list' do
block do
node.run_list.add('role[role c]')
end
only_if { !node.run_list.include?('role[role c]') }
end
刀子命令旨在在工作站上用于管理厨师服务器。不得在配方中使用它们来改变行为(因为这不起作用) 这里发生了什么:
- 在chef运行中,有人(甚至不是节点本身)更改节点对象并修改其运行列表
- 当节点结束其运行时,它将保存回节点对象(包括运行列表)并覆盖已完成的操作。同时,刀子命令没有任何用处
节点.run\u list
方法,该方法允许修改运行列表以备将来运行
根据您的示例,您可以使用:
ruby_block 'remove ntp::undo from run list' do
block do
node.run_list.add('role[role c]')
end
only_if { !node.run_list.include?('role[role c]') }
end
谢谢你的回答。我没有在这里提到。刀子命令被外部系统调用,它将“角色c”添加到节点run_列表中。那么,在节点中发生厨师收敛时,是否有方法使用(刀命令)附加run_列表。?没有。我已经在回答中解释了原因。(这里发生的事情)谢谢你的回复@tensibai@Saravanang把它标记为接受,如果它填满了你的提问,它会帮助别人在列表中找到问题。答案不能解决问题的目的。它解释了如何通过Chef代码设置运行列表。实际答案可能是,正如您所说,不,在收敛期间不可能运行刀命令。谢谢您的回答。我没有在这里提到。刀子命令被外部系统调用,它将“角色c”添加到节点run_列表中。那么,在节点中发生厨师收敛时,是否有方法使用(刀命令)附加run_列表。?没有。我已经在回答中解释了原因。(这里发生的事情)谢谢你的回复@tensibai@Saravanang把它标记为接受,如果它填满了你的提问,它会帮助别人在列表中找到问题。答案不能解决问题的目的。它解释了如何通过Chef代码设置运行列表。实际答案可能是,正如您所说,不,在收敛期间不可能运行刀命令。谢谢您的回答。我没有在这里提到。刀子命令被外部系统调用,它将“角色c”添加到节点run_列表中。那么,在节点中发生厨师收敛时,是否有方法使用(刀命令)附加run_列表。?没有。我已经在回答中解释了原因。(这里发生的事情)谢谢你的回复@tensibai@Saravanang把它标记为接受,如果它填满了你的提问,它会帮助别人在列表中找到问题。答案不能解决问题的目的。它解释了如何通过Chef代码设置运行列表。实际答案可能是,正如您所说,不,在收敛期间不可能运行刀命令。谢谢您的回答。我没有在这里提到。刀子命令被外部系统调用,它将“角色c”添加到节点run_列表中。那么,在节点中发生厨师收敛时,是否有方法使用(刀命令)附加run_列表。?没有。我已经解释了原因