【发布时间】:2014-04-04 11:10:49
【问题描述】:
对于给定的用例,我需要通过自定义 LWRP 更新节点的标签。我尝试了两种方法:
-
使用“标签”/“取消标签”。这会产生错误:
No resource or method named `tag' for ... 使用
node[:tags].concat(<new_tags_array>)。这可行,但标签不存在,所以我不能用它来搜索。
这里有什么我遗漏的吗?
谢谢
编辑:实际上,问题是:是否甚至可以从提供者更新节点属性?
EDIT2:所以这正确设置了标签:
tags = node[:tags]
tags.concat(new_tags)
node.override[:tags] = tags
但是,标签在每次运行 chef-client 时都会重置,因此如果您在包含这些新标签之前检查它们是否存在(在第二次 chef-client 运行中),您将不会获得任何标签。
【问题讨论】:
标签: ruby chef-infra cookbook lwrp