首页 技术 正文
技术 2022年11月21日
0 收藏 810 点赞 2,653 浏览 1003 个字

利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令

master端想要执行类似 salt ‘*’ cmd.run ‘uptime’ 在saltclient里可以这么写

import salt.client local = salt.client.LocalClient() local.cmd(‘*’, ‘cmd.run’, [‘uptime’])

也可以放到后台执行只返回一个jid

cmd_async(‘*’, ‘cmd.run’, [‘uptime’])

得到jid可以通过get_cache_returns(jid)方法来获取执行结果,在没有执行完成以前是为空的所以可以写一个while来一直读取结果直到读取到或者超出规定时间为止

import salt.client local = salt.client.LocalClient() t = 0 jid = local.cmd_async(‘*’, ‘cmd.run’, [‘uptime’]) while not local.get_cache_returns(jid):     time.sleep(1)     if t == 8:         print ‘Connection Failed!’         break     else:         t+=1 print local.get_cache_returns(jid)

minion端可以用来直接在minions上执行命令或者也可以用来写returnner的时候获取minion的grain信息等

import salt.client caller = salt.client.Caller() caller.sminion.functions[‘cmd.run’](‘ls -l’)

获取grains的信息

import salt.client caller = salt.client.Caller() caller.sminion.functions[‘grains.items’]  #grains.items代表获取全部的grains信息 caller.sminion.functions[‘grains.item’](‘os’) #想要特定的grains信息用grains.item然后在后面指定

本文出自 “日光倾城” 博客,,请务必保留此出处

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848