mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Standardize removal of BECOME-SUCCESS method and use it for async too
Fixes #13965 Fixes #13971
This commit is contained in:
parent
61009604e3
commit
54cde0d082
3 changed files with 14 additions and 4 deletions
|
@ -24,6 +24,7 @@ import json
|
||||||
import os
|
import os
|
||||||
import pipes
|
import pipes
|
||||||
import random
|
import random
|
||||||
|
import re
|
||||||
import stat
|
import stat
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
|
@ -356,6 +357,14 @@ class ActionBase(with_metaclass(ABCMeta, object)):
|
||||||
|
|
||||||
return data[idx:]
|
return data[idx:]
|
||||||
|
|
||||||
|
def _strip_success_message(self, data):
|
||||||
|
'''
|
||||||
|
Removes the BECOME-SUCCESS message from the data.
|
||||||
|
'''
|
||||||
|
if data.strip().startswith('BECOME-SUCCESS-'):
|
||||||
|
data = re.sub(r'^((\r)?\n)?BECOME-SUCCESS.*(\r)?\n', '', data)
|
||||||
|
return data
|
||||||
|
|
||||||
def _execute_module(self, module_name=None, module_args=None, tmp=None, task_vars=None, persist_files=False, delete_remote_tmp=True):
|
def _execute_module(self, module_name=None, module_args=None, tmp=None, task_vars=None, persist_files=False, delete_remote_tmp=True):
|
||||||
'''
|
'''
|
||||||
Transfer and run a module along with its arguments.
|
Transfer and run a module along with its arguments.
|
||||||
|
|
|
@ -75,4 +75,8 @@ class ActionModule(ActionBase):
|
||||||
|
|
||||||
result['changed'] = True
|
result['changed'] = True
|
||||||
|
|
||||||
|
# be sure to strip out the BECOME-SUCCESS message, which may
|
||||||
|
# be there depending on the output of the module
|
||||||
|
result['stdout'] = self._strip_success_message(result.get('stdout', ''))
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -19,8 +19,6 @@ __metaclass__ = type
|
||||||
|
|
||||||
from ansible.plugins.action import ActionBase
|
from ansible.plugins.action import ActionBase
|
||||||
|
|
||||||
import re
|
|
||||||
|
|
||||||
|
|
||||||
class ActionModule(ActionBase):
|
class ActionModule(ActionBase):
|
||||||
TRANSFERS_FILES = False
|
TRANSFERS_FILES = False
|
||||||
|
@ -42,7 +40,6 @@ class ActionModule(ActionBase):
|
||||||
# for some modules (script, raw), the sudo success key
|
# for some modules (script, raw), the sudo success key
|
||||||
# may leak into the stdout due to the way the sudo/su
|
# may leak into the stdout due to the way the sudo/su
|
||||||
# command is constructed, so we filter that out here
|
# command is constructed, so we filter that out here
|
||||||
if result.get('stdout','').strip().startswith('BECOME-SUCCESS-'):
|
result['stdout'] = self._strip_success_message(result.get('stdout', ''))
|
||||||
result['stdout'] = re.sub(r'^((\r)?\n)?BECOME-SUCCESS.*(\r)?\n', '', result['stdout'])
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
Loading…
Reference in a new issue