diff --git a/changelogs/fragments/doc_module_paths_unresolved.yml b/changelogs/fragments/doc_module_paths_unresolved.yml new file mode 100644 index 0000000000..d0c898a61b --- /dev/null +++ b/changelogs/fragments/doc_module_paths_unresolved.yml @@ -0,0 +1,2 @@ +minor_changes: + - when showing defaults for CLI options in manpage/docs/--help avoid converting paths diff --git a/lib/ansible/cli/arguments/optparse_helpers.py b/lib/ansible/cli/arguments/optparse_helpers.py index 6ecbd523d0..fadd3e4930 100644 --- a/lib/ansible/cli/arguments/optparse_helpers.py +++ b/lib/ansible/cli/arguments/optparse_helpers.py @@ -281,8 +281,10 @@ def add_meta_options(parser): def add_module_options(parser): """Add options for commands that load modules""" + + module_path = C.config.get_configuration_definition('DEFAULT_MODULE_PATH').get('default', '') parser.add_option('-M', '--module-path', dest='module_path', default=None, - help="prepend colon-separated path(s) to module library (default=%s)" % C.DEFAULT_MODULE_PATH, + help="prepend colon-separated path(s) to module library (default=%s)" % module_path, action="callback", callback=unfrack_paths, type='str') diff --git a/lib/ansible/config/manager.py b/lib/ansible/config/manager.py index df88ad6666..1203357102 100644 --- a/lib/ansible/config/manager.py +++ b/lib/ansible/config/manager.py @@ -330,6 +330,18 @@ class ConfigManager(object): pvars.append(var_entry['name']) return pvars + def get_configuration_definition(self, name, plugin_type=None, plugin_name=None): + + ret = {} + if plugin_type is None: + ret = self._base_defs.get(name, None) + elif plugin_name is None: + ret = self._plugins.get(plugin_type, {}).get(name, None) + else: + ret = self._plugins.get(plugin_type, {}).get(plugin_name, {}).get(name, None) + + return ret + def get_configuration_definitions(self, plugin_type=None, name=None): ''' just list the possible settings, either base or for specific plugins or plugin '''