PyChef - 是否有 REST API 来让 chef-client 运行

PyChef - Is there REST API to get chef-client runs

我正在尝试提取主厨客户 运行 的详细信息。我们目前正在使用 PyChef,并且能够获取与 Chef Server 连接的节点列表及其对应的信息 run_list。 PyChef 中是否有一个选项来获取有关客户端 运行s 的信息(开始时间、结束时间、运行 的状态等)

使用了以下代码:

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

默认情况下,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 列表。