-
Notifications
You must be signed in to change notification settings - Fork 14
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
Auto-reboot if kernel upgraded immediately after idr-00-preinstall.yml #108
Conversation
The description here with planned failure seems at best like a workaround. Is |
deploy-idr.sh currently has 7 steps:
We could remove |
I tested this locally by using:
For me, the above which amounts to galaxy + provision + network + pre-install + the necessary reboot is a pretty good function for this script (though I'd still say in needs to be this repo). This amounts to "get me started" or
|
Relaunched travis with gh-109 |
Now green with travis in addition to being run against prod50 as outlined above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given all the ongoing work and the existing issues, I would propose to merge with the caveats discussed above. My understanding is that there is no way to safely get a single script deploying everything in one run with the guarantee that the system will be usable and that we have to evolve towards a multi-stage deployment:
boostrap (galaxy + provision + network + upgrade + reboot)
deploy (core + vae + ftp depending on the flages)
More discussion will be necessary about the future of the deploy-idr.sh
script discussed above. If we are splitting the single script into self-contained group of phase, an additional thought is whether we should handle the decoupled components via separate standalone deployment phases (instead of using flags) i.e.:
boostrap (galaxy + provision + network + upgrade + reboot)
deploy_core
deploy_ftp
deploy_vae
This reduces but does not eliminate some long standing issues with race conditions during reboots. The original aim of this repository was to support a full deployment run-through from scratch, with reboots postponed to the very end. In practice this causes problems when installed services are unnecessarily interrupted, or when a service is installed against an old running kernel which changes after the reboot. Instead this PRs executes the reboot at the end of the pre-install stage, after system packages have been upgraded but before any applications are installed.
This will lead to the first full run-through failing after the preinstall stage since the combination of multiple VM reboots via a proxy and rebooting the proxy makes it too complicated to auto-detect when all VMs have resumed, however this is preferable to other problems caused later.