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
[FEA]: operator-agent e2e scenario for the service interrupt against a real agent #679
Add an operator-agent chainsaw scenario that runs the service interrupt against a real agent, so systemctl daemon-reload and systemctl restart are executed for real on both the Python and Go agents.
Motivation
The only interrupt type the operator-agent suite has ever run against a real agent is noop. The service type is the one interrupt that can be exercised for real inside the suite: kind nodes run systemd as PID 1, so systemctl inside the agent's host chroot is genuine. reboot cannot be (it terminates the kind node container), and the boot-ID confirmation is unit-only by necessity. This scenario is therefore the only place the agent's real interrupt command path gets end-to-end coverage before #222.
Proposed direction
A package whose apply.sh installs a Type=oneshot unit under /etc/systemd/system/ that appends a timestamp to a marker in the package's state root, declaring:
the marker gained a line after the interrupt, proving the restart ran the unit;
interrupts/flags/<resource-id>/service_restart_0.complete and service_restart_1.complete both exist (daemon-reload, then the one restart), pinning the per-operation marker layout both agents share;
the package reaches complete.
restartAllServices (service procps force-reload) should be tried as a second scenario; if service or the procps init script is absent on the kind node image, that is a real finding to record, not something to shim around.
The scenario runs unchanged against both agents through the existing path routing, and supplies every stage the package traverses so the "Could not find file" guard pattern from #605 stays applicable.
Acceptance criteria
New k8s-tests/operator-agent/service_restart/ scenario passes against both agents in CI.
Both .complete markers and the unit's side effect are asserted.
docs/contributing/ci-test-pools.md's operator-agent coverage sentence lists the service interrupt.
Activity
test(agent): run the service interrupt against a real agent in the op…
test(agent): run the service interrupt against a real agent in the op…
test(agent): run the service interrupt against a real agent in the op…
test(agent): run the service interrupt against a real agent in the op…