Skip to content

Commit

Permalink
fix: kustomize plugin fails with deprecation warnings (#728)
Browse files Browse the repository at this point in the history
SUMMARY

error judgments are based on the exit codes of command execution, where 0 represents success and non-zero represents failure.
Optimize the run_command function to return a tuple like the run_command method of AnsibleModule.

Fixes #639
ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

kustomize lookup plugin
ADDITIONAL INFORMATION

Reviewed-by: Mike Graves <mgraves@redhat.com>
Reviewed-by: QCU
(cherry picked from commit 5bc53db)
  • Loading branch information
qcu266 authored and patchback[bot] committed Jul 15, 2024
1 parent 4ed9105 commit daeaa6d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- kustomize - kustomize plugin fails with deprecation warnings (https://github.com/ansible-collections/kubernetes.core/issues/639).
22 changes: 16 additions & 6 deletions plugins/lookup/kustomize.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ def get_binary_from_path(name, opt_dirs=None):

def run_command(command):
cmd = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return cmd.communicate()
stdout, stderr = cmd.communicate()
return cmd.returncode, stdout, stderr


class LookupModule(LookupBase):
Expand Down Expand Up @@ -140,9 +141,18 @@ def run(
if enable_helm:
command += ["--enable-helm"]

(out, err) = run_command(command)
if err:
raise AnsibleLookupError(
"kustomize command failed with: {0}".format(err.decode("utf-8"))
)
(ret, out, err) = run_command(command)
if ret != 0:
if err:
raise AnsibleLookupError(
"kustomize command failed. exit code: {0}, error: {1}".format(
ret, err.decode("utf-8")
)
)
else:
raise AnsibleLookupError(
"kustomize command failed with unknown error. exit code: {0}".format(
ret
)
)
return [out.decode("utf-8")]

0 comments on commit daeaa6d

Please sign in to comment.