Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 如何在收敛期间使用刀更新节点运行列表_Chef Infra_Knife_Convergence - Fatal编程技术网

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_列表。?没有。我已经解释了原因