首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chef datadog wrapper cookbook无法运行,并出现"missing api key“错误

Chef datadog wrapper cookbook无法运行,并出现"missing api key“错误
EN

Stack Overflow用户
提问于 2018-02-22 16:25:03
回答 1查看 174关注 0票数 0

我创建了一个包装器食谱来从一个加密的数据包中检索我的datadog api密钥,但它看起来在执行过程中并没有运行。

下面是我的代码:

属性/default.rb

代码语言:javascript
复制
node.default['datadog']['encrypted_data_bag'] = 'datadog'
node.default['datadog']['encrypted_data_bag_item'] = 'datadog_keys'

菜谱/set_key.rb:

代码语言:javascript
复制
node.default['datadog']['api_key'] = data_bag_item(node['datadog']['encrypted_data_bag'], node['datadog']['encrypted_data_bag_item'])['api_key']
node.default['datadog']['application_key'] = data_bag_item(node['datadog']['encrypted_data_bag'], node['datadog']['encrypted_data_bag_item'])['chef']

和del_key:

代码语言:javascript
复制
node.rm['datadog']['api_key']
node.rm['datadog']['application_key']

我创建了一个名为datadog的角色,该角色的运行列表如下所示:

代码语言:javascript
复制
datadog-wrapper-0.1.0::set_key
datadog::dd-agent
datadog::dd-handler
datadog-wrapper-0.1.0::del_key

我期望这个包装器配方加载datadog键,然后运行datadog配方,最后使用另一个包装器配方来删除键。但当Chef运行时,我收到一条错误消息,如:

代码语言:javascript
复制
ArgumentError
-------------
chef_handler[Chef::Handler::Datadog] (datadog::dd-handler line 52) had an error: ArgumentError: Missing Datadog Api Key

因为我不熟悉Chef和数据包的使用,所以我有点困惑。为什么我的setter食谱不能运行?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-23 18:55:16

正如我在评论中提到的,你受到了two pass model的影响。您应该删除资源中的键,这些键添加到chef运行的末尾,或者由作为运行中的最后一个资源调用的DD cookbook资源触发。

代码语言:javascript
复制
ruby_block "clean datadog api attributes" do
  block do
    node.rm("datadog", "api_key")
    ....
  end
  subscribes :create, "template[<some dd template using api keys>]", :immediately
end

但是,它可能不适用于DD cookbook的所有版本。从几个DD cookbook版本中,可以将键存储在节点的运行状态中,而不是写入Chef服务器。

代码语言:javascript
复制
node.run_state["datadog"] = {
  "api_key"         => datadog["api_key"],
  "application_key" => datadog["application_key"]
}

上面的示例是您的问题的首选解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48922641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档