diff options
author | Zuul <zuul@review.opendev.org> | 2022-09-27 02:29:44 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-09-27 02:29:44 +0000 |
commit | 4ea2a19fe849094c22ba9bad25ae48f4dc946ecb (patch) | |
tree | 234c5b5b809a8f8911a7768e40803d42ee370142 /zuul/ansible | |
parent | 2f1e7f2cf58e075ffde49e9d9396b3883de69a38 (diff) | |
parent | c54ccda1283cda500ec2e83be2b8769ce261fd7b (diff) | |
download | zuul-4ea2a19fe849094c22ba9bad25ae48f4dc946ecb.tar.gz |
Merge "zuul-stream: Add variable to disable writing streaming files"
Diffstat (limited to 'zuul/ansible')
-rw-r--r-- | zuul/ansible/base/action/command.py | 19 | ||||
-rwxr-xr-x | zuul/ansible/base/library/command.py | 5 |
2 files changed, 18 insertions, 6 deletions
diff --git a/zuul/ansible/base/action/command.py b/zuul/ansible/base/action/command.py index 3bb88d8e5..a969a8b2b 100644 --- a/zuul/ansible/base/action/command.py +++ b/zuul/ansible/base/action/command.py @@ -13,8 +13,10 @@ # You should have received a copy of the GNU General Public License # along with this software. If not, see <http://www.gnu.org/licenses/>. - from zuul.ansible import paths + +from ansible.module_utils.parsing.convert_bool import boolean + command = paths._import_ansible_action_plugin("command") @@ -25,10 +27,17 @@ class ActionModule(command.ActionModule): if self._task.action in ( 'command', 'shell', 'ansible.builtin.command', 'ansible.builtin.shell'): - # This is a bit lame, but we do not log loops in the - # zuul_stream.py callback. This allows us to not write - # out command.py output to files that will never be read. - if 'ansible_loop_var' in task_vars: + # Overloading the UUID is a bit lame, but it stops us + # having to modify the library command.py too much. Both + # of these below stop the creation of the files on disk + # for situations where they won't be read and cleaned-up. + skip = boolean( + self._templar.template( + "{{zuul_console_disabled|default(false)}}")) + if skip: + self._task.args['zuul_log_id'] = 'skip' + elif 'ansible_loop_var' in task_vars: + # we do not log loops in the zuul_stream.py callback. self._task.args['zuul_log_id'] = 'in-loop-ignore' else: # Get a unique key for ZUUL_LOG_ID_MAP. ZUUL_LOG_ID_MAP diff --git a/zuul/ansible/base/library/command.py b/zuul/ansible/base/library/command.py index 3c22849ae..c52412edf 100755 --- a/zuul/ansible/base/library/command.py +++ b/zuul/ansible/base/library/command.py @@ -270,6 +270,8 @@ class Console(object): # special-casing for any of this path. if log_uuid == 'in-loop-ignore': self.logfile_name = os.devnull + elif log_uuid == 'skip': + self.logfile_name = os.devnull else: self.logfile_name = LOG_STREAM_FILE.format(log_uuid=log_uuid) @@ -494,7 +496,8 @@ def zuul_run_command(self, args, zuul_log_id, check_rc=False, close_fds=True, ex try: if self._debug: - self.log('Executing: ' + self._clean_args(args)) + self.log('Executing <%s>: %s', + zuul_log_id, self._clean_args(args)) # ZUUL: Replaced the execution loop with the zuul_runner run function |