From c09971a6714188564ce448f7c825de1620f0d5a3 Mon Sep 17 00:00:00 2001 From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com> Date: Sat, 9 Mar 2024 12:42:34 +0000 Subject: [PATCH] [PR #8048/fa30b022 backport][stable-8] fix(homebrew): give correct error message when become true used (#8068) fix(homebrew): give correct error message when become true used (#8048) * fix(homebrew): give correct error message when become true used This commit fixes #8047 by raising the exception coming from calling homebrew with the `become: true` parameter set. * chore(changelog): add changelog fragment (cherry picked from commit fa30b02294d969c0964bd8250d3bdf5d0728465d) Co-authored-by: Michael Wall --- ...48-fix-homebrew-module-error-reporting-on-become-true.yaml | 2 ++ plugins/modules/homebrew.py | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 changelogs/fragments/8048-fix-homebrew-module-error-reporting-on-become-true.yaml diff --git a/changelogs/fragments/8048-fix-homebrew-module-error-reporting-on-become-true.yaml b/changelogs/fragments/8048-fix-homebrew-module-error-reporting-on-become-true.yaml new file mode 100644 index 0000000000..9954be302a --- /dev/null +++ b/changelogs/fragments/8048-fix-homebrew-module-error-reporting-on-become-true.yaml @@ -0,0 +1,2 @@ +bugfixes: + - homebrew - error returned from brew command was ignored and tried to parse empty JSON. Fix now checks for an error and raises it to give accurate error message to users (https://github.com/ansible-collections/community.general/issues/8047). diff --git a/plugins/modules/homebrew.py b/plugins/modules/homebrew.py index 117b8d422f..5d471797a7 100644 --- a/plugins/modules/homebrew.py +++ b/plugins/modules/homebrew.py @@ -488,6 +488,10 @@ class Homebrew(object): self.current_package, ] rc, out, err = self.module.run_command(cmd) + if err: + self.failed = True + self.message = err.strip() + raise HomebrewException(self.message) data = json.loads(out) return _check_package_in_json(data, "formulae") or _check_package_in_json(data, "casks")