We’re having an issue with PXE not getting the image fast enough (known issue apparently), causing some systems to hang (no boot device found typical bios msg)
What we found is that libvirt has an option to help force a reboot if that happens.
https://libvirt.org/formatdomain.html#elementsOS
OS/Bios has the RebootTimeout
We’ve verified this works as we expect with Virsh
I’ve tried to find a way to configure this some place but it doesnt seem like there is any ability to do that.
After digging and reading lots of code, i think maybe the easiest solution would be to fork the fog-libvirt and inject my settings there (hard coded or pulled from a file, but, just something simple)
Im sure it would be awesome to really fix this the right way, but with my ruby skill i doubt you’d accept a PR
Also working up the stack to expose it to the end user is likely a LOT more work than hijacking the fog-libvirt module.
So perhaps you’re wondering what the question is?!
Does this approach make sense (with the idea that speed/ease are key)
Did i over look anything that would allow us to solve this problem easily without having to modify someone else’s source.
The other method that came to mind was a plugin that hooked in to the provisioning process, but that seemed like it would be more effort with some higher odds of complication. I’ve dug enough that it seems possible but i dont know enough to judge the effort involved in this method.
Thanks,
Justin