Saltstack python client

Posted random_lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Saltstack python client相关的知识,希望对你有一定的参考价值。

获取master配置

import salt.config
master_opts = salt.config.client_config(‘/etc/salt/master‘)
print master_opts

执行

import salt.client
local = salt.client.LocalClient()

通过grain过滤主机并且返回jid

ret = local.cmd(tgt=‘roles:salt-master‘, fun=‘test.version‘, tgt_type=‘grain‘, full_return=True)
print ret

批量执行

ret1 = local.cmd_batch(tgt="roles:salt-slave", fun="cmd.run", arg=(["ping -c 10 baidu.com"]), tgt_type=‘grain‘)
for i in ret1:
    print i

导出所有模块的doc

modules = local.cmd("n1", fun="sys.list_modules")
for module in modules["n1"]:
    local.cmd(‘n1‘, fun="file.touch", arg=(["/root/salt_"+module+"_doc.md"]))
    module_doc = local.cmd(‘n1‘, fun="sys.doc", arg=([module]))
    doc = module_doc["n1"]
    for i in doc:
        key = i.encode("raw_unicode_escape")
        local.cmd("n1", fun="file.append", arg=(["/root/salt_"+module+"_doc.md", key]))
        print key
        value = doc[key].encode("raw_unicode_escape")
        local.cmd("n1", fun="file.append", arg=(["/root/salt_"+module+"_doc.md", value]))
        print value

以上是关于Saltstack python client的主要内容,如果未能解决你的问题,请参考以下文章

Saltstack API以及对应的Python模板

SaltStack 理解

saltstack-4 常用模块api调用

saltstack——自动运维编排工具

运维工具SaltStack之一安装部署

saltstack 的源码大概分析