从Python代码获取highstate输出
我刚接触Salt,想知道怎么用Python获取state.highstate的输出。能不能用LocalClient把输出显示成字符串?我好像需要在Salt里调用salt.output.highstate.output,但我不知道怎么在Python中做到这一点。
这是我尝试过的:
import salt.client
local = salt.client.LocalClient()
ret = local.cmd('*', 'output.highstate.output')
我得到的返回结果只是说output.highstate.output不可用。有没有其他方法可以直接从Python代码中获取输出呢?谢谢。
相关问题:
1 个回答
2
有很多方法可以通过Python与Salt进行交互。一般来说,它会给你一个字典的生成器,但不会帮你格式化这些数据。
其他的方法似乎没有详细的文档说明——如果可以的话,最好还是使用local.cmd()
这个方法。
下面是cmd_full_return
的一个例子(来源):
源代码
from pprint import pprint
import salt.client
local = salt.client.LocalClient()
pprint( local.cmd_full_return(
'*', 'test.ping', verbose=True,
) )
输出结果
Executing job with jid 20140825132240132013
-------------------------------------------
{'palabras': {'ret': True, 'success': True}}