You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test(tmachine): Ansible warns about OSC 3008 junk after JSON on Fedora guests #5306
I develop and run the OpenShell tmachine test environments. I directly encountered Ansible warnings on every task against the Fedora guests, in local runs and in CI.
Problem Statement
Ansible tasks against tmachine Fedora guests emit [WARNING]: Module invocation had junk after the JSON data: ESC]3008;end=<id>ESC\. The text is an OSC 3008 shell-integration marker. The Fedora guest's systemd (259) installs /etc/profile.d/80-systemd-osc-context.sh, which makes bash write start=/end= markers to stdout around every command. Ansible runs modules through that shell and finds the marker after the module's JSON. The Ubuntu guests do not ship the script and are unaffected.
Impact / Why This Matters
The tasks still succeed, but the warnings add dozens of lines per job and can hide real warnings. A recent Branch E2E run (run 42027404535) logged 24 warnings in podman-e2e-integration (fedora-podman-rootless, binaries, e2e-podman) and 19 in conformance (fedora-podman-rootless, rpm), and none in the Ubuntu k3s jobs.
Acceptance Criteria
Ansible runs against the Fedora tmachine guests no longer print "Module invocation had junk after the JSON data".
Ubuntu guests continue to work unchanged.
Reproduction Steps
Run a tmachine Fedora environment, for example nix run .#tmachine -- test fedora-podman-rootless binaries e2e-podman.
Watch the Ansible output for the warning.
Environment
tmachine Fedora 44 cloud image (systemd 259.5).
Logs
TASK [Download cargo-nextest] ****
[WARNING]: Module invocation had junk after the JSON data: ESC]3008;end=ba34b6726edb4546856c5a1bcdb70650ESC\
changed: [tmachine]
Root cause, from inspecting a Fedora 44 guest (systemd 259.5): two emitters print the OSC 3008 markers.
/etc/profile.d/80-systemd-osc-context.sh, which systemd-tmpfiles recreates on every boot via /usr/lib/tmpfiles.d/20-systemd-osc-context.conf. Deleting it during provisioning does not survive a reboot.
pam_systemd.so, in sudo's PAM session. Ansible runs become over ssh -tt, so the session has a pty and the marker follows the module's JSON.
Both skip a dumb terminal. Setting TERM=dumb for ansible-playbook removes the warnings without changing the guest image; the fix is in #5307.
Activity
test(tmachine): remove systemd OSC context script from guests
test(tmachine): run Ansible with a dumb terminal
elezar commentedon Nov 5, 2026
Root cause, from inspecting a Fedora 44 guest (systemd 259.5): two emitters print the OSC 3008 markers.
/etc/profile.d/80-systemd-osc-context.sh, whichsystemd-tmpfilesrecreates on every boot via/usr/lib/tmpfiles.d/20-systemd-osc-context.conf. Deleting it during provisioning does not survive a reboot.pam_systemd.so, in sudo's PAM session. Ansible runsbecomeoverssh -tt, so the session has a pty and the marker follows the module's JSON.Both skip a dumb terminal. Setting
TERM=dumbforansible-playbookremoves the warnings without changing the guest image; the fix is in #5307.test(tmachine): run Ansible with a dumb terminal (NVIDIA#5307)