【问题标题】:knife search for nested attribute刀搜索嵌套属性
【发布时间】:2022-04-06 06:38:29
【问题描述】:

我想使用刀搜索命令搜索节点文件中具有覆盖属性的节点。

我尝试了以下方法,但没有成功

knife search node "datadog.agent_version::5.4.3-1"

这就是我在节点文件中指定覆盖的方式

    "datadog": {
      "agent_version": "5.4.3-1"
    },

对此有何建议?

【问题讨论】:

标签: automation chef-infra knife


【解决方案1】:

类似的东西应该可以knife search node "datadog_agent_version:5.4.3-1"。这个功能完全是documented

【讨论】:

  • 这将返回所有节点,因为我也在角色文件中覆盖了 agent_version 属性。但是在这里我想搜索我在节点文件中设置了 agent_version 属性的节点(如果有的话)。
  • 所以如果你不需要精确的层次结构,你可以只使用"agent_version:*" 模式。
  • 我厌倦了这把刀搜索节点 "agent_version:*" -a "Node Name" 但它仍然返回所有节点。我只想要节点文件覆盖的节点列表
  • 让我们退后一步。如果您搜索一个节点 - 它已经包含引导/收敛后的所有覆盖。在上面的查询中,我只使用-a name。如果您没有任何结果,请尝试运行 knife client list 以查看您正在寻找的机器是否普遍可用。
  • 好的,所以如果 agent_version 属性处于覆盖级别,它应该类似于knife search node -a "agent_version:*" -a "override:agent_version:5.4.3-1"。 @roy
【解决方案2】:

您是否在更改属性后运行了 chef-client? 我相信只有在成功运行 chef-client 之后才会出现新属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 2023-03-22
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    相关资源
    最近更新 更多