Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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_Chef Recipe - Fatal编程技术网

Chef infra 访问配方中的原始运行列表

Chef infra 访问配方中的原始运行列表,chef-infra,chef-recipe,Chef Infra,Chef Recipe,我想在执行覆盖操作时访问厨师食谱中的原始运行列表。是否有对象可用于执行此操作?现在我得到: [2016-04-12T20:14:27+00:00] WARN: Run List override has been provided. [2016-04-12T20:14:27+00:00] WARN: Original Run List: [role[foo], role[bar]] [2016-04-12T20:14:27+00:00] WARN: Overridden Run List: [r

我想在执行覆盖操作时访问厨师食谱中的原始运行列表。是否有对象可用于执行此操作?现在我得到:

[2016-04-12T20:14:27+00:00] WARN: Run List override has been provided.
[2016-04-12T20:14:27+00:00] WARN: Original Run List: [role[foo], role[bar]]
[2016-04-12T20:14:27+00:00] WARN: Overridden Run List: [recipe[baz]]
在recipe[baz]中,我想知道角色[foo]在节点的默认运行列表中

类似于此:

if node.original_runlist.includes?('role[foo]')
    do_something
else
    do_something_else

谢谢大家!

大多数属性都是Ohai在厨师运行开始时设置的。
您可以尝试将ohai作为烹饪书中的第一个命令运行,并捕获输出,以获得ohai基本属性的完整列表。
但无论如何,以下属性应该可以从配方中获得:
node['recipes']
与节点关联的配方列表(以及该节点运行列表的一部分)。
node['roles']
与节点(及其一部分)关联的角色列表 节点的运行列表)。

更多详细信息

如上面的评论所述,我找到了node.primary\u运行列表。如果其他人感兴趣:

run_list = node.primary_runlist
if run_list.includes?('role[foo]')
    do_something
else
    do_something_else
end

vvchik,谢谢你的回复。实际上,我查看了代码,发现客户端正在执行node.primary\u runlist。这提供了我想要的东西。