summaryrefslogtreecommitdiff
path: root/zuul/ansible
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-09-27 02:29:44 +0000
committerGerrit Code Review <review@openstack.org>2022-09-27 02:29:44 +0000
commit4ea2a19fe849094c22ba9bad25ae48f4dc946ecb (patch)
tree234c5b5b809a8f8911a7768e40803d42ee370142 /zuul/ansible
parent2f1e7f2cf58e075ffde49e9d9396b3883de69a38 (diff)
parentc54ccda1283cda500ec2e83be2b8769ce261fd7b (diff)
downloadzuul-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.py19
-rwxr-xr-xzuul/ansible/base/library/command.py5
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