【发布时间】:2016-01-07 20:11:29
【问题描述】:
我正在想办法让下面的代码工作;我尝试了各种方法,但厨师客户端运行在第 3 行中断。
lsf = "#{node[:env]}"+"_ls"
dsf = "#{node[:env]}"+"_ds"
dsTemplateBag = data_bag_item('configTemplates', "#{dsf}")
lcTemplateBag = data_bag_item('configTemplates', "#{lsf}")
但是在另一个测试配方中,我能够成功地完成以下工作:
env = "test"
dsTemplateBag = data_bag_item('configTemplates', "#{env}")
我对 Chef 很陌生,请有人告诉我如何让它工作?
【问题讨论】:
-
因为你的第三行是空白的,很难说。你不应该混合连接和插值,使用
lsf = "#{node[:env]}_ls",如果你不需要在字符串中包含一个var,直接调用它:data_bag_item('configTemplates', lsf) -
感谢您的建议。实际上,我最初尝试了这一点,并混合了串联和插值,只是为了看看这是否能奏效。但最终发现问题出在数据包上。我的数据包中有一个小错字导致问题。
标签: dynamic chef-infra databags