saltstack jobs管理
瞎折腾时,执行了state.highstate时,出现错误,手抖就ctrl + c,就导致线上minion里关闭但未启动(这是和我线上SLS有关),然而刚刚的同步操作仍在minion上执行。类似下面这样localhost: Data failed to compile:
----------
The function "state.highstate" is running as PID 3799 and was started at 2013, Apr 10 16:54:19.200123
然而现在想执行一个state.sls,可是有个job正在执行导致无法执行,这么办呢。?是否有像kill功能杀掉它。。?有,在salt 0.9.7版本就引入了jobs管理功能,利用此功能可以管理线上所有jobs,同时也能审计。对master发出去的jobs,把job>上述这个入库可以参考伟哥文章:http://wiki.saltstack.cn/reproduction/salt-returners-fluent-mysql回归正题,想要杀掉这个进程,咱得知道运行的job还在哪些机器上运行,job>利用salt-run jobs.active,可以看到当前正在运行的所有jobs#salt-run jobs.active
'20140211102239075243':
//job> Arguments: []
Function: state.highstate
Returned:
- 1
- 03
- 02
- 4
- 5
//正在运行jobs的minion
- 3
- 7
- 1
- 2
- jid
Running: []
Target: '*'
Target-type: glob
User: root
知道job>要想kill掉这个进程,需要使用saltutil模块的函数。kill有两个方式,一个野蛮(kill_job),一个温柔(term_job),对待saltstack如同女人嘛,我就温柔点。。#salt '*' saltutil.signal_job 20140211102239075243 15 更多内容,请查看下面两个链接,官方最实在,- -
写的不是很好 - -,希望对大家有帮助
job链接 http://docs.saltstack.com/topics/jobs/index.htmlkill方式链接 http://docs.saltstack.com/ref/modules/all/salt.modules.saltutil.html
页:
[1]