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

Make ipxe behavior customizable #287

Closed
bzub opened this issue Mar 13, 2021 · 0 comments · Fixed by #413
Closed

Make ipxe behavior customizable #287

bzub opened this issue Mar 13, 2021 · 0 comments · Fixed by #413
Assignees
Milestone

Comments

@bzub
Copy link
Contributor

bzub commented Mar 13, 2021

One knob I need is to customize the ipxe response when a server is allocated/installed. Sidero currently returns an ipxe script that executes exit in the hopes of booting from disk, but our servers halt booting if this happens, requiring manual intervention. I would change this to returning an HTTP error code if I had such an option, which our servers then try other boot options or reboot as needed.

In short, I'd like to be able to change this:

❯ curl -s 'http://assets.management:8081/ipxe?uuid=UUID-OF-INSTALLED-SERVER'
#!ipxe
exit

to this:

❯ curl -v 'http://assets.management:8081/ipxe?uuid=UUID-OF-INSTALLED-SERVER'
[...]
< HTTP/1.1 404 Not Found
[...]

Or something else? exit seems to cause issues.

Related: https://ipxe.org/appnote/work_around_bios_halting_on_ipxe_exit

@smira smira added this to the v0.3 milestone Apr 20, 2021
@smira smira self-assigned this May 18, 2021
smira added a commit to smira/sidero that referenced this issue May 18, 2021
If the server is configured to PXE boot by default, it might hit the
Sidero iPXE server after Talos install, so Sidero has to force the
server to boot from disk.

Sidero supported default method via iPXE `exit` command, but this
command doesn't always work
([details](https://ipxe.org/appnote/work_around_bios_halting_on_ipxe_exit)).

This PR provides two other ways to force to boot from disk:

* `http-404` force HTTP 404 response from iPXE server
* `ipxe-sanboot` uses `sanboot` command to boot from the first disk

This should improve compatibility with some BIOSes.

This setting should eventually be provided per-server as well.

Fixes siderolabs#287

Signed-off-by: Andrey Smirnov <[email protected]>
andrewrynhard pushed a commit that referenced this issue May 19, 2021
If the server is configured to PXE boot by default, it might hit the
Sidero iPXE server after Talos install, so Sidero has to force the
server to boot from disk.

Sidero supported default method via iPXE `exit` command, but this
command doesn't always work
([details](https://ipxe.org/appnote/work_around_bios_halting_on_ipxe_exit)).

This PR provides two other ways to force to boot from disk:

* `http-404` force HTTP 404 response from iPXE server
* `ipxe-sanboot` uses `sanboot` command to boot from the first disk

This should improve compatibility with some BIOSes.

This setting should eventually be provided per-server as well.

Fixes #287

Signed-off-by: Andrey Smirnov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants