Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate Zincati's compatibility with systemd inhibitor locks #562

Closed
kelvinfan001 opened this issue May 22, 2021 · 1 comment
Closed
Labels

Comments

@kelvinfan001
Copy link
Member

kelvinfan001 commented May 22, 2021

From #245 (comment):
Zincati might want to proactively monitor for systemd inhibitor locks to ensure that shutdown blocks are handled smoothly and behave as expected; in particular, we should ensure that the rpm_ostree actor and the rpm-ostree daemon do not block and that they at least notify the update_agent actor that an error occurred (If rpm-ostree daemon does not block on the reboot, would we have an unlocked staged deployment after a failed reboot attempt?).
Additionally, I've observed that even inhibitors locks owned by root do not prevent Zincati (and rpm-ostree) from finalizing the reboot.
Depending on findings from the above, handle inhibitors locks properly and/or add documentation for how to use systemd-inhibit to prevent Zincati from finalizing.

@kelvinfan001
Copy link
Member Author

With coreos/rpm-ostree#2862, rpm-ostree finalize-deployment will respect systemd inhibitors in block mode, and immediately return an error upon detecting blocking locks. Care has been taken to keep the staged deployment "locked" even after a failed reboot attempt.
For now, Zincati will be blocked from rebooting the machine for as long as a block inhibitor is present, as rpm-ostree does not yet have a mechanism to override them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant