【发布时间】:2015-01-29 03:29:43
【问题描述】:
我似乎无法绕过处理我的attributes/default.rb 文件中类似名称的属性的厨师错误。
我有两个属性:
default['test']['webservice']['https']['keyManagerPwd'] = 'password'
...
...
default['test']['webservice']['https']['keyManagerPwd']['type'] = 'encrypted'
请注意,直到最后一个括号 (['type']),名称都是相同的。
我在模板和配方的模板块中引用这些属性。当我去运行它时,我收到这个错误:
==================================================[0m
I, [2015-01-28T13:36:43.668692 #7920] INFO -- core-14-2-centos-65:
[31mRecipe Compile Error
in /tmp/kitchen/cache/cookbooks/avx/attributes/default.rb[0m
I, [2015-01-28T13:36:43.669192 #7920] INFO -- core-14-2-centos-65:
=================================================================[0m
I, [2015-01-28T13:36:43.669192 #7920] INFO -- core-14-2-centos-65:
I, [2015-01-28T13:36:43.669692 #7920] INFO -- core-14-2-centos-65:
[0mIndexError[0m
I, [2015-01-28T13:36:43.669692 #7920] INFO -- core-14-2-centos-65: -------
--[0m
I, [2015-01-28T13:36:43.669692 #7920] INFO -- core-14-2-centos-65: string not matched[0m
I, [2015-01-28T13:36:43.670192 #7920] INFO -- core-14-2-centos-65:
I, [2015-01-28T13:36:43.670192 #7920] INFO -- core-14-2-centos-65:
[0mCookbook Trace:[0m
I, [2015-01-28T13:36:43.670692 #7920] INFO -- core-14-2-centos-65: --------[0m
I, [2015-01-28T13:46:05.101875 #8332] INFO -- core-14-2-centos-65:
[0m113>> default['webservice']['https']['keyManagerPwd']['type'] =
'encrypted'
当唯一的区别是结尾时,似乎 Chef 无法区分 2 个属性。 如果我通过在名称前面放置一些独特的文本来修改相同的属性,则配方根本没有问题:
default['test']['1']['webservice']['https']['keyManagerPwd'] = 'password'
...
...
default['test']['2']['webservice']['https']['keyManagerPwd']['type'] = 'encrypted'
通过将['1'] 和['2'] 放在那里,它可以解决问题。
我对 Chef 还很陌生,所以我认为这只是我忽略的一些简单的事情。有没有人有任何想法或建议?谢谢。
【问题讨论】:
标签: ruby chef-infra