helm_registry_auth: document/test stdout for registry success messages (Helm 4.2.1) (#1147)

* helm: document/test stdout for registry success messages (Helm 4.2.1)

Helm < 4.2.1 prints registry success messages (Login Succeeded, Pushed,
Pulled, Digest) to stderr (helm/helm#13464); Helm >= 4.2.1 moves them to
stdout (helm/helm#32056). The modules key on the return code, so logic is
unaffected, but the RETURN docs and integration assertions assumed stderr.

- helm_registry_auth: note the version-dependent output stream in
  the RETURN documentation.
- helm_registry_auth integration tests: assert success messages against the
  stdout+stderr union so they pass on both old and new Helm.

Fixes: #1146

Co-Authored-By: Claude Opus 4.8

* ci: empty commit to re-trigger ci
This commit is contained in:
Yuriy Novostavskiy
2026-06-25 20:19:14 +02:00
committed by GitHub
parent 1c20b53bdc
commit ae90b60fd6
3 changed files with 24 additions and 10 deletions

View File

@@ -0,0 +1,2 @@
minor_changes:
- helm_registry_auth - document that, as of Helm 4.2.1, registry success messages such as ``Login Succeeded`` are printed to stdout instead of stderr (https://github.com/ansible-collections/kubernetes.core/pull/1147).

View File

@@ -106,17 +106,23 @@ EXAMPLES = r"""
RETURN = r""" RETURN = r"""
stdout: stdout:
type: str type: str
description: Full C(helm) command stdout, in case you want to display it or examine the event log description:
- Full C(helm) command stdout, in case you want to display it or examine the event log.
- As of Helm 4.2.1 success messages such as C(Login Succeeded) are printed to stdout
(see U(https://github.com/helm/helm/pull/32056)). On earlier versions they are printed to stderr.
returned: always returned: always
stout_lines: sample: 'Login Succeeded\n'
stdout_lines:
type: list type: list
description: Full C(helm) command stdout, in case you want to display it or examine the event log description: Full C(helm) command stdout, in case you want to display it or examine the event log
returned: always returned: always
stderr: stderr:
type: str type: str
description: >- description:
Full C(helm) command stderr, in case you want to display it or examine the event log. - Full C(helm) command stderr, in case you want to display it or examine the event log.
Please be note that helm binnary may print messages to stderr even if the command is successful. - Please note that the helm binary may print messages to stderr even if the command is successful.
- On Helm versions earlier than 4.2.1, success messages such as C(Login Succeeded) are printed
here; as of Helm 4.2.1 they are printed to stdout (see U(https://github.com/helm/helm/pull/32056)).
returned: always returned: always
sample: 'Login Succeeded\n' sample: 'Login Succeeded\n'
stderr_lines: stderr_lines:

View File

@@ -28,7 +28,9 @@
register: _helm_registry_auth_correct register: _helm_registry_auth_correct
- name: Assert that the registry is logged in - name: Assert that the registry is logged in
# Helm binary prints the message to stderr, refence: https://github.com/helm/helm/issues/13464 # Helm < 4.2.1 prints success messages to stderr (https://github.com/helm/helm/issues/13464),
# Helm >= 4.2.1 moves them to stdout (https://github.com/helm/helm/pull/32056).
# Check both streams to stay version-agnostic.
assert: assert:
that: that:
- "'Login Succeeded' in _helm_registry_auth_correct.stdout_lines + _helm_registry_auth_correct.stderr_lines" - "'Login Succeeded' in _helm_registry_auth_correct.stdout_lines + _helm_registry_auth_correct.stderr_lines"
@@ -43,9 +45,11 @@
failed_when: _save_chart.rc != 0 failed_when: _save_chart.rc != 0
- name: Assert that the chart is saved - name: Assert that the chart is saved
# Helm binary prints the message to stderr, refence: https://github.com/helm/helm/issues/13464 # Helm < 4.2.1 prints success messages to stderr (https://github.com/helm/helm/issues/13464),
# Helm >= 4.2.1 moves them to stdout (https://github.com/helm/helm/pull/32056).
# Check both streams to stay version-agnostic.
assert: assert:
that: "'Pushed: localhost:' + registry_port | string + '/test/k8s-monitoring' in _save_chart.stderr" that: "'Pushed: localhost:' + registry_port | string + '/test/k8s-monitoring' in _save_chart.stdout + _save_chart.stderr"
- name: Test logout - name: Test logout
helm_registry_auth: helm_registry_auth:
@@ -55,9 +59,11 @@
register: _helm_registry_auth_logout register: _helm_registry_auth_logout
- name: Assert logout - name: Assert logout
# Helm binary prints the message to stderr # Helm < 4.2.1 prints success messages to stderr (https://github.com/helm/helm/issues/13464),
# Helm >= 4.2.1 moves them to stdout (https://github.com/helm/helm/pull/32056).
# Check both streams to stay version-agnostic.
assert: assert:
that: "'Removing login credentials' in _helm_registry_auth_logout.stderr" that: "'Removing login credentials' in _helm_registry_auth_logout.stdout + _helm_registry_auth_logout.stderr"
- name: Ensure that not able to push to the registry - name: Ensure that not able to push to the registry
ansible.builtin.shell: >- ansible.builtin.shell: >-