【问题标题】:PyChef - Is there REST API to get chef-client runsPyChef - 是否有 REST API 可以让厨师客户端运行
【发布时间】:2018-02-20 19:39:32
【问题描述】:

我正在尝试获取 chef-client 运行详细信息。我们目前正在使用 PyChef,并且能够获取有关与 Chef 服务器连接的节点列表及其相应的 run_list 的信息。 PyChef 中是否有获取客户端运行信息的选项(开始时间、结束时间、运行状态等)

使用以下代码:

import chef

with chef.ChefAPI('Chef_Master URL', '#Perm_file#', 'User_name',ssl_verify=False):

        for node in chef.Node.list():
            node = chef.Node(node)
            print node.list
            print node.run_list

【问题讨论】:

  • 请修复您的代码 sn-p 缩进 - 在 Python 中缩进是有意义的,因为您的代码会引发 SyntaxError。如果连 Python 都无法理解,那也没有人能理解 ;)
  • @brunodesthuilliers 固定缩进

标签: python chef-infra pychef


【解决方案1】:

默认情况下,Chef Server 不会保存该信息。它是旧版 Chef Reporting 商业插件和新版 Chef Automate 系统的一部分。正如我从未使用过的那样,PyChef 中没有直接的 API 支持,但您始终可以使用原始 API 对象自己发出简单的请求。例如,查看https://docs.chef.io/api_reporting.html#reports-nodes-node-runs,您可以使用api['/reports/nodes/foo.example.com/runs'] 来获取该节点的运行ID 列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多