runner

RUNNERS组件

在master端使用salt-run命令是salt runner组件执行模块的一个很方便的工具。

runner包含的功能列表:
链接:

  https://docs.saltstack.com/en/2016.11/ref/runners/all/index.html#all-salt-runners


WRITING SALT RUNNERS

示例:
  salt-run test.foo

在master主配置文件中设置runner_dirs自定义模块目录位置
模块内容示例:

1 def a_runner(outputter=None, display_progress=False):
2     print('Hello world')
3     ...
View Code

outputter:设置输出方式
display_progress:设置是否显示进度信息

结果示例:

1 Event fired at Tue Jan 13 15:26:45 2015
2 *************************
3 Tag: salt/run/20150113152644070246/print
4 Data:
5 {'_stamp': '2015-01-13T15:26:45.078707',
6  'data': 'hello',
7   'outputter': 'pprint'}
View Code

SYNCHRONOUS VS. ASYNCHRONOUS

暂不了解


 

EXAMPLES

 1 # Import salt modules
 2 import salt.client
 3 
 4 def up():
 5     '''
 6     Print a list of all of the minions that are up
 7     '''
 8     client = salt.client.LocalClient(__opts__['conf_file'])
 9     minions = client.cmd('*', 'test.ping', timeout=1)
10     for minion in sorted(minions):
11         print minion
View Code

以上自定义模块的示例提供显示minion端正常连接反馈

runner组件提供了我们在命令行执行自定义模块的接口,且官方本身也提供了很多模块,利用这些模块我们可以很好的管理下面的minion运行以及master上的配置。
譬如jobs模块就是为我们提供了很过任务管理功能的模块

jobs模块的链接地址:
  https://github.com/saltstack/salt/blob/develop/salt/runners/jobs.py

仔细查阅模块的源码,里面包含模块的详细用法,以后看懂了再做分享。

 

posted @ 2017-09-02 23:51  孤独的海浪  阅读(258)  评论(0编辑  收藏  举报