使用CLI,我可以输入以下内容:
盐'*'test.ping -v
结果输出如下:
minion_A:
True
minion_B:
True
minion_C:
True
minion_D:
Minion没有回来
如何使用LocalClient?获得相同的结果?这就是我目前正在尝试的东西,只返回具有以下响应的小兵True:
self.localClient.cmd('*', 'test.ping', ['-v'])
Run Code Online (Sandbox Code Playgroud)
更新:
根据指示,有可能是一个错误与arg在命令中的元组,我也试过如下:
args = ('-v',)
return self.localClient.cmd('*', 'test.ping', arg=args)
Run Code Online (Sandbox Code Playgroud)
......可悲的是,仍然没有成功
test.ping函数不带任何参数,-v传递给salt命令.见:ping
以下两个命令完全相同:
# salt '*' test.ping -v
Executing job with jid 20140825123756314894
-------------------------------------------
palabras:
True
# salt '*' -v test.ping
Executing job with jid 20140825124044472307
-------------------------------------------
palabras:
True
Run Code Online (Sandbox Code Playgroud)
要获取原始输出的原始版本,请使用以下代码.(您可以直接调用SaltCMD来获取完整的格式化输出,但它将使用它自己的LocalClient.)
from pprint import pprint
import salt.client
local = salt.client.LocalClient()
pprint( local.cmd_full_return(
'*', 'test.ping', verbose=True,
) )
Run Code Online (Sandbox Code Playgroud)
Executing job with jid 20140825131629740741
-------------------------------------------
{'palabras': {'ret': True, 'success': True}}
Run Code Online (Sandbox Code Playgroud)