diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-06-27 08:19:09 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-06-27 08:19:09 -0400 |
commit | 317d3087459538877100032733477362f456f550 (patch) | |
tree | 27fabdff3649c75bcdd9de8ccde5c5826c679e5e /src/lib/Bcfg2/Client/Tools/Action.py | |
parent | 9d5e8170292e17d3b087878918562dcf502f70d4 (diff) | |
parent | a519dc9298317b678bca43597892df5aa13d874d (diff) | |
download | bcfg2-317d3087459538877100032733477362f456f550.tar.gz bcfg2-317d3087459538877100032733477362f456f550.tar.bz2 bcfg2-317d3087459538877100032733477362f456f550.zip |
Merge branch 'maint'
Conflicts:
doc/server/plugins/generators/cfg.txt
doc/server/plugins/generators/tcheetah.txt
src/lib/Bcfg2/Server/Admin/Xcmd.py
src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
Diffstat (limited to 'src/lib/Bcfg2/Client/Tools/Action.py')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/Action.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/Action.py b/src/lib/Bcfg2/Client/Tools/Action.py index fd2c467d7..05e35befc 100644 --- a/src/lib/Bcfg2/Client/Tools/Action.py +++ b/src/lib/Bcfg2/Client/Tools/Action.py @@ -31,10 +31,17 @@ class Action(Bcfg2.Client.Tools.Tool): def RunAction(self, entry): """This method handles command execution and status return.""" + shell = False + shell_string = '' + if entry.get('shell', 'false') == 'true': + shell = True + shell_string = '(in shell) ' + if not self.setup['dryrun']: if self.setup['interactive']: - prompt = ('Run Action %s, %s: (y/N): ' % - (entry.get('name'), entry.get('command'))) + prompt = ('Run Action %s%s, %s: (y/N): ' % + (shell_string, entry.get('name'), + entry.get('command'))) # flush input buffer while len(select.select([sys.stdin.fileno()], [], [], 0.0)[0]) > 0: @@ -47,8 +54,9 @@ class Action(Bcfg2.Client.Tools.Tool): self.logger.debug("Action: Deferring execution of %s due " "to build mode" % entry.get('command')) return False - self.logger.debug("Running Action %s" % (entry.get('name'))) - rv = self.cmd.run(entry.get('command')) + self.logger.debug("Running Action %s %s" % + (shell_string, entry.get('name'))) + rv = self.cmd.run(entry.get('command'), shell=shell) self.logger.debug("Action: %s got return code %s" % (entry.get('command'), rv.retval)) entry.set('rc', str(rv.retval)) |