diff --git a/plugins/modules/podman_search.py b/plugins/modules/podman_search.py index 128e3ce0..c65e4ce8 100644 --- a/plugins/modules/podman_search.py +++ b/plugins/modules/podman_search.py @@ -87,10 +87,11 @@ def search_images(module, executable, term, limit, list_tags): command.extend(['--list-tags']) rc, out, err = module.run_command(command) - + if rc != 0 and list_tags and out == "" and "fetching tags list" in err: + return out, err if rc != 0: module.fail_json(msg="Unable to gather info for '{0}': {1}".format(term, err)) - return out + return out, err def main(): @@ -110,7 +111,7 @@ def main(): list_tags = module.params.get('list_tags') executable = module.get_bin_path(executable, required=True) - result_str = search_images(module, executable, term, limit, list_tags) + result_str, errors = search_images(module, executable, term, limit, list_tags) if result_str == "": results = [] else: @@ -121,7 +122,8 @@ def main(): results = dict( changed=False, - images=results + images=results, + stderr=errors, ) module.exit_json(**results) diff --git a/tests/integration/targets/podman_search/tasks/main.yml b/tests/integration/targets/podman_search/tasks/main.yml index 2f2d169e..0829388d 100644 --- a/tests/integration/targets/podman_search/tasks/main.yml +++ b/tests/integration/targets/podman_search/tasks/main.yml @@ -12,6 +12,18 @@ that: - info_0.images | length == 0 + - name: Search for an invalid image with tags + containers.podman.podman_search: + term: registry.fedoraproject.org/invalidtermnope + executable: "{{ test_executable | default('podman') }}" + list_tags: true + register: info_0_1 + + - name: Check results for no matching images + assert: + that: + - info_0_1.images | length == 0 + - name: Search for matching images containers.podman.podman_search: term: etcd