From 2a6ef6a4f9088436faf092dfee50eca4d37d19f9 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Tue, 29 Jan 2019 14:10:24 +1300 Subject: [PATCH] Use the yaml stdout_callback for better prepare logging Currently when the tripleo-modify-role runs a shell script which produces a lot of output, its logged once as a no-newline-blob, and again as one line per array item. Neither output is easy read, which makes debugging harder. This change switches to the yaml stdout_callback, and a verbosity level which only prints the script output once. Change-Id: I85fb8ca40e03f077147871fcd85536c0572d526e Closes-Bug: #1813684 --- tripleo_common/image/image_uploader.py | 8 ++++++-- .../tests/image/test_image_uploader.py | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tripleo_common/image/image_uploader.py b/tripleo_common/image/image_uploader.py index df723ba11..4ed110427 100644 --- a/tripleo_common/image/image_uploader.py +++ b/tripleo_common/image/image_uploader.py @@ -243,8 +243,12 @@ class BaseImageUploader(object): action = ansible.AnsiblePlaybookAction( playbook=playbook, work_dir=work_dir, - verbosity=3, - extra_env_variables=dict(os.environ) + verbosity=1, + extra_env_variables=dict(os.environ), + override_ansible_cfg=( + "[defaults]\n" + "stdout_callback=yaml\n" + ) ) result = action.run(None) log_path = result.get('log_path') diff --git a/tripleo_common/tests/image/test_image_uploader.py b/tripleo_common/tests/image/test_image_uploader.py index 9b178cb8d..d1d5d842f 100644 --- a/tripleo_common/tests/image/test_image_uploader.py +++ b/tripleo_common/tests/image/test_image_uploader.py @@ -799,8 +799,12 @@ class TestDockerImageUploader(base.TestCase): mock_ansible.assert_called_once_with( playbook=playbook, work_dir=mock.ANY, - verbosity=3, - extra_env_variables=mock.ANY + verbosity=1, + extra_env_variables=mock.ANY, + override_ansible_cfg=( + "[defaults]\n" + "stdout_callback=yaml\n" + ) ) self.dockermock.return_value.tag.assert_not_called() self.dockermock.return_value.push.assert_called_once_with( @@ -1100,8 +1104,12 @@ class TestSkopeoImageUploader(base.TestCase): mock_ansible.assert_called_once_with( playbook=playbook, work_dir=mock.ANY, - verbosity=3, - extra_env_variables=mock.ANY + verbosity=1, + extra_env_variables=mock.ANY, + override_ansible_cfg=( + "[defaults]\n" + "stdout_callback=yaml\n" + ) ) @mock.patch('tripleo_common.image.image_uploader.'