MCD does not re-apply ostree image/kargs after failed reboot
lifecycle/rotten
I am running OKD single-node, sometimes the node hangs on shutting down (I'm assuming some storage dependency issues) and needs a power reset.
When MCD tries to apply a change and I do the power reset, this skips re-configuring ostree on shutdown. After the reset, MCD enters the degraded state. Triggering MCD with `/run/machine-config-daemon-force` does not cause it to apply either the machine image nor the kernel arguments.
Following part of this guide https://github.com/orgs/okd-project/discussions/2056 on `currentconfig`, looks like resetting `/etc/machine-config-daemon/currentconfig` to the previous version will cause it to re-apply these properly.
I think MCD is updating `/etc/machine-config-daemon/currentconfig` too early, before reboot. Maybe it needs an intermediate state and update `currentconfig` once it confirms changes to ostree is applied successful. Or `machine-config-daemon-force` can apply the diff between the os state and the desired config.
I'm not sure if this is intended or not. If this is intended is resetting `/etc/machine-config-daemon/currentconfig` the correct way to re-apply ostree settings?
### Steps to reproduce
1. [make ostree fail to apply on reboot]
2. Add a kernel arg to trigger apply
3. The degraded node cannot be recovered without manually resetting `/etc/machine-config-daemon/currentconfig`
### Expected behaviour
Setting `/run/machine-config-daemon-force` fully applies the desired machine config.
关闭于 2025-11-20 4 条评论