From 3d83c325dd141413f1ccd64bffd73dd20a9247ff Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Tue, 14 Sep 2021 11:05:21 -0400 Subject: [PATCH] Fix metadump (#75668) * ensure dump produces json * clog and tests * remove library additions since they are not usable * avoid any/all dirs * ensure we dont use local dir as playbookdir --- changelogs/fragments/metadump_fix.yml | 2 ++ lib/ansible/cli/doc.py | 2 +- test/integration/targets/ansible-doc/runme.sh | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/metadump_fix.yml diff --git a/changelogs/fragments/metadump_fix.yml b/changelogs/fragments/metadump_fix.yml new file mode 100644 index 00000000000..164c8022ac6 --- /dev/null +++ b/changelogs/fragments/metadump_fix.yml @@ -0,0 +1,2 @@ +bugfixes: + - ansible-doc, fix output for internal metadata dump option diff --git a/lib/ansible/cli/doc.py b/lib/ansible/cli/doc.py index ff24db699e5..2ed1cbbfcf2 100644 --- a/lib/ansible/cli/doc.py +++ b/lib/ansible/cli/doc.py @@ -647,7 +647,7 @@ class DocCLI(CLI, RoleMixin): basedir = context.CLIARGS['basedir'] plugin_type = context.CLIARGS['type'] - do_json = context.CLIARGS['json_format'] + do_json = context.CLIARGS['json_format'] or context.CLIARGS['dump'] roles_path = context.CLIARGS['roles_path'] listing = context.CLIARGS['list_files'] or context.CLIARGS['list_dir'] or context.CLIARGS['dump'] docs = {} diff --git a/test/integration/targets/ansible-doc/runme.sh b/test/integration/targets/ansible-doc/runme.sh index 4a6f6820bcd..549a341b9d6 100755 --- a/test/integration/targets/ansible-doc/runme.sh +++ b/test/integration/targets/ansible-doc/runme.sh @@ -99,3 +99,6 @@ test "$current_out" == "$expected_out" current_out="$(ansible-doc --json --playbook-dir ./ -t vars testns.testcol.noop_vars_plugin | sed 's/ *$//' | sed 's/ *"filename": "[^"]*",$//')" expected_out="$(sed 's/ *"filename": "[^"]*",$//' noop_vars_plugin.output)" test "$current_out" == "$expected_out" + +# just ensure it runs +ANSIBLE_LIBRARY='./nolibrary' ansible-doc --metadata-dump --playbook-dir /dev/null