【发布时间】:2015-01-04 10:12:38
【问题描述】:
只是想知道,是否可以在节点完成厨师客户端运行之前搜索节点。
按照主厨文档: https://docs.getchef.com/essentials_nodes_chef_run.html
当资源中的资源标识的所有动作 收集已经完成,当 chef-client 运行完成时 成功,主厨客户端更新主厨上的节点对象 具有在此 chef-client 期间构建的节点对象的服务器 跑步。 (这个节点对象将在期间被主厨客户端拉下 下一个 chef-client 运行。)这使得节点对象(和数据 节点对象)可供搜索。
厨师客户端总是检查资源集合是否存在 异常和报告处理程序。如果有的话,每一个都是 处理得当
例如,我有一个配方可以搜索具有名为“webserver”的角色的节点。 我通过 pychef 创建了 chef 节点,并填充了一些属性和运行列表(包括 run_list 中的那个角色)。 然后从机器启动chef-client,它总是找不到任何具有该角色的节点,因为它没有被保存,所以它不可用于搜索。
用刀搜索很容易看到,因为返回搜索的角色属性是空的(角色仍在 run_list 上),当厨师客户端完成时,角色被移动到正确的位置,node.roles .
有没有办法在搜索之前强制保存节点,以便它出现在结果中?将主厨节点保留在主厨服务器中是有效的,但有一天可能会被删除,搜索将不再有效。
谢谢!
【问题讨论】:
-
不。这是不可能的。