码迷,mamicode.com
首页 > 其他好文 > 详细

salt-run源码分析

时间:2015-05-29 12:15:46      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:salt-run

/usr/bin/salt-run      

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: ‘salt==2014.7.0‘,‘console_scripts‘,‘salt-run‘
__requires__ = ‘salt==2014.7.0‘
import sys
from pkg_resources import load_entry_point

if __name__ == ‘__main__‘:
    sys.exit(
        load_entry_point(‘salt==2014.7.0‘, ‘console_scripts‘, ‘salt-run‘)()
    )




/usr/lib/python2.6/site-packages/salt/scripts.py

def salt_run():
    ‘‘‘
    Execute a salt convenience routine.
    ‘‘‘
    if ‘‘ in sys.path:
        sys.path.remove(‘‘)
    client = None
    try:
        client = salt.cli.SaltRun()
        client.run()
    except KeyboardInterrupt, err:
        trace = traceback.format_exc()
        try:
            hardcrash = client.options.hard_crash
        except (AttributeError, KeyError):
            hardcrash = False
        _handle_interrupt(
            SystemExit(‘\nExiting gracefully on Ctrl-c‘),
            err,
            hardcrash, trace=trace)



/usr/lib/python2.6/site-packages/salt/cli/__init__.py

class SaltRun(parsers.SaltRunOptionParser):
    ‘‘‘
    Used to execute Salt runners
    ‘‘‘
    def run(self):
        ‘‘‘
        Execute salt-run
        ‘‘‘
        self.parse_args()

        if self.config[‘verify_env‘]:
            verify_env([
                    self.config[‘pki_dir‘],
                    self.config[‘cachedir‘],
                ],
                self.config[‘user‘],
                permissive=self.config[‘permissive_pki_access‘],
                pki_dir=self.config[‘pki_dir‘],
            )
            if not self.config[‘log_file‘].startswith((‘tcp://‘,
                                                       ‘udp://‘,
                                                       ‘file://‘)):
                # Logfile is not using Syslog, verify
                verify_files(
                    [self.config[‘log_file‘]],
                    self.config[‘user‘]
                )

        # Setup file logging!
        self.setup_logfile_logger()

        runner = salt.runner.Runner(self.config)
        if self.options.doc:
            runner._print_docs()
            self.exit(os.EX_OK)

        # Run this here so SystemExit isn‘t raised anywhere else when
        # someone tries to use the runners via the python API
        try:
            if check_user(self.config[‘user‘]):
                runner.run()
        except SaltClientError as exc:
            raise SystemExit(str(exc))




本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1656250

salt-run源码分析

标签:salt-run

原文地址:http://john88wang.blog.51cto.com/2165294/1656250

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!