chef-infra - 如何根据厨师中的节点角色执行任务
问题描述
我正在尝试执行验证厨师环境和角色的收据:
配方示例:
if (node.chef_environment == "dev" && node.role?('api'))
bash "Restarting service" do
code <<-EOF
#Codeblock
EOF
end
end
if (node.chef_environment == "dev" && node.role?('web'))
bash "Restarting service" do
code <<-EOF
#Codeblock
EOF
end
end
但是在执行我的代码块时不起作用。
我尝试了条件 "node["roles"].include?("api")" @coderanger 但没有工作。以下是以下调试日志:
2018-05-04T08:50:26+00:00] 调试:从 /etc/chef/chef-cache/cache/cookbooks/service_file/resources/default.rb
[2018 ] 加载说明书 service_file 的资源-05-04T08:50:26+00:00] 调试:将 /etc/chef/chef-cache/cache/cookbooks/service_file/resources/default.rb 的内容加载到资源 service_file (来自说明书 service_file 的自定义资源 service_file)
[ 2018-05-04T08:50:26+00:00] 调试:通过 include_recipe 加载配方 service_file::service_restart
[2018-05-04T08:50:26+00:00] 调试:在说明书 service_file 中找到配方 service_restart_plugin 正在聚合
0 个资源
[2018-05-04T08:50:26+00:00] 调试:聚合节点 ip-xx。
[2018-05-04T08:50:26+00:00] 警告:跳过最终节点保存,因为给出了 override_runlist
[2018-05-04T08:50:26+00:00] 信息:Chef Run 在 0.161187151 秒内完成
[2018 -05-04T08:50:26+00:00] 信息:跳过从缓存中删除未使用的文件
运行处理程序:
[2018-05-04T08:50:26+00:00] 信息:运行报告处理程序
运行处理程序完成
解决方案
推荐阅读
- rust - 如何通过 curl 使用 actix-from-data 的映射数组发出 POST 请求?
- asp.net - 如何用我在 iis 服务器上运行的 asp.net 中的自定义值替换缓存控制安全标头值中的私有值
- jquery - jQuery - 有多个总计的总计
- sprite-kit - 如何使用 SpriteKit 在圆上通过给定偏移创建点?
- c# - 以 xamarin 形式将对象放置在 TabbedPage 上的绝对位置
- python - 将列表的字典转换为字典中列表中元素的所有梳的字典列表的最pythonic方法?
- xcode - 无法初始化可可豆荚
- python-3.x - 将数字限制为特定的小数位
- javascript - 根据另一个排序数组
- javascript - 需要在 Antd Datepicker 中编辑 Moment 以显示月份的全名