def run(self): ''' Execute the salt call logic ''' profiling_enabled = self.opts.get('profiling_enabled', False) try: pr = activate_profile(profiling_enabled) try: ret = self.call() finally: output_profile(pr, stats_path=self.opts.get( 'profiling_path', '/tmp/stats'), stop=True) out = ret.get('out', 'nested') if self.opts['print_metadata']: print_ret = ret out = 'nested' else: print_ret = ret.get('return', {}) salt.output.display_output({'local': print_ret}, out, self.opts) if self.opts.get('retcode_passthrough', False): sys.exit(ret['retcode']) except SaltInvocationError as err: raise SystemExit(err)
def run(self): ''' Execute the salt call logic ''' profiling_enabled = self.opts.get('profiling_enabled', False) try: pr = activate_profile(profiling_enabled) try: ret = self.call() finally: output_profile(pr, stats_path=self.opts.get('profiling_path', '/tmp/stats'), stop=True) out = ret.get('out', 'nested') if self.opts['metadata']: print_ret = ret out = 'nested' else: print_ret = ret.get('return', {}) salt.output.display_output( {'local': print_ret}, out, self.opts) if self.opts.get('retcode_passthrough', False): sys.exit(ret['retcode']) except SaltInvocationError as err: raise SystemExit(err)
def run(self): ''' Execute salt-run ''' import salt.runner self.parse_args() # Setup file logging! self.setup_logfile_logger() profiling_enabled = self.options.profiling_enabled runner = salt.runner.Runner(self.config) if self.options.doc: runner.print_docs() self.exit(salt.defaults.exitcodes.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']): pr = activate_profile(profiling_enabled) try: runner.run() finally: output_profile(pr, stats_path=self.options.profiling_path, stop=True) except SaltClientError as exc: raise SystemExit(str(exc))
def run(self): ''' Execute salt-run ''' import salt.runner self.parse_args() # Setup file logging! self.setup_logfile_logger() verify_log(self.config) profiling_enabled = self.options.profiling_enabled runner = salt.runner.Runner(self.config) if self.options.doc: runner.print_docs() self.exit(salt.defaults.exitcodes.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']): pr = activate_profile(profiling_enabled) try: ret = runner.run() if isinstance(ret, dict) and 'retcode' in ret: self.exit(ret['retcode']) finally: output_profile( pr, stats_path=self.options.profiling_path, stop=True) except SaltClientError as exc: raise SystemExit(str(exc))
def run(self): ''' Execute salt-run ''' import salt.runner self.parse_args() # Setup file logging! self.setup_logfile_logger() verify_log(self.config) profiling_enabled = self.options.profiling_enabled runner = salt.runner.Runner(self.config) if self.options.doc: runner.print_docs() self.exit(salt.defaults.exitcodes.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']): pr = activate_profile(profiling_enabled) try: ret = runner.run() # In older versions ret['data']['retcode'] was used # for signaling the return code. This has been # changed for the orchestrate runner, but external # runners might still use it. For this reason, we # also check ret['data']['retcode'] if # ret['retcode'] is not available. if isinstance(ret, dict) and 'retcode' in ret: self.exit(ret['retcode']) elif isinstance(ret, dict) and 'retcode' in ret.get( 'data', {}): self.exit(ret['data']['retcode']) finally: output_profile(pr, stats_path=self.options.profiling_path, stop=True) except SaltClientError as exc: raise SystemExit(str(exc))