diff --git a/lib/ansible/cli/config.py b/lib/ansible/cli/config.py index eb71968b9f4..d49db9aa8b4 100755 --- a/lib/ansible/cli/config.py +++ b/lib/ansible/cli/config.py @@ -275,7 +275,7 @@ class ConfigCLI(CLI): # for base and all, we include galaxy servers config_entries['GALAXY_SERVERS'] = {} for server in self._galaxy_servers: - config_entries['GALAXY_SERVERS'][server.upper()] = self.config.get_configuration_definitions('galaxy_server', server) + config_entries['GALAXY_SERVERS'][server] = self.config.get_configuration_definitions('galaxy_server', server) if context.CLIARGS['type'] != 'base': config_entries['PLUGINS'] = {} @@ -478,6 +478,8 @@ class ConfigCLI(CLI): else: entry = {} for key in config[setting]._fields: + if key == 'type': + continue entry[key] = getattr(config[setting], key) if not context.CLIARGS['only_changed'] or changed: @@ -572,7 +574,6 @@ class ConfigCLI(CLI): # add galaxy servers for server in self._galaxy_servers: server_config = {} - name = f'GALAXY_SERVER.{server.upper()}' s_config = self.config.get_configuration_definitions('galaxy_server', server) for setting in s_config.keys(): try: @@ -589,11 +590,11 @@ class ConfigCLI(CLI): server_config[setting] = Setting(setting, v, o, None) if context.CLIARGS['format'] == 'display': if not context.CLIARGS['only_changed'] or server_config: - equals = '=' * len(name) - output.append(f'\n{name}\n{equals}') + equals = '=' * len(server) + output.append(f'\n{server}\n{equals}') output.extend(self._render_settings(server_config)) else: - output.append({name: server_config}) + output.append({server: server_config}) return output @@ -607,7 +608,11 @@ class ConfigCLI(CLI): output = self._get_global_configs() # add galaxy servers - output.extend(self._get_galaxy_server_configs()) + server_config_list = self._get_galaxy_server_configs() + if context.CLIARGS['format'] == 'display': + output.append('\nGALAXY_SERVERS:\n') + else: + output.append({'GALAXY_SERVERS': server_config_list}) if context.CLIARGS['type'] == 'all': # add all plugins diff --git a/test/integration/targets/ansible-config/tasks/main.yml b/test/integration/targets/ansible-config/tasks/main.yml index 26592a7169d..1dfb04e97fb 100644 --- a/test/integration/targets/ansible-config/tasks/main.yml +++ b/test/integration/targets/ansible-config/tasks/main.yml @@ -79,7 +79,6 @@ release_galaxy: test_galaxy: my_galaxy_ng: - gen_keys: '{{expected.keys()|map("regex_replace", "^.+$", "GALAXY_SERVER.\1") }}' block: - ansible.builtin.command: ansible-config dump --type {{ item }} --format json loop: @@ -87,11 +86,11 @@ - all register: galaxy_server_dump - - debug: msg="{{ (galaxy_server_dump.results[1].stdout | from_json | rejectattr('name', 'defined')) }}" + - debug: msg='{{ (galaxy_server_dump.results[0].stdout | from_json) }}' - set_fact: - galaxy_server_dump_base: '{{ (galaxy_server_dump.results[0].stdout | from_json | rejectattr("name", "defined")) }}' - galaxy_server_dump_all: '{{ (galaxy_server_dump.results[1].stdout | from_json | rejectattr("name", "defined")) }}' + galaxy_server_dump_base: '{{ (galaxy_server_dump.results[0].stdout | from_json).get("GALAXY_SERVERS") }}' + #galaxy_server_dump_all: '{{ (galaxy_server_dump.results[1].stdout | from_json | rejectattr("name", "defined")) }}' - name: Check galaxy server values are present and match expectations vars: