Skip to content

Conversation

@olafhering
Copy link
Contributor

inst.info=URL allows to retrieve agama settings from a remote location. Usually the expected settings are in key=value format.

This change allows to reuse the inst.info=URL feature for the cobbler "nopxe" API, just like it is done in linuxrc. The system needs to notify cobbler that it booted "far enough", so that cobbler can change the boot loader default from "boot from network" to "boot from local disk". The client has to send a HTTP GET request to the specified URL. cobbler sends the four bytes 'True' in return, which can system has to ignore. Since the content is not and can not be a valid Agama key=value pair, consider only lines that contain '=' in the input file.

Fixes #2185

inst.info=URL allows to retrieve agama settings from a remote
location. Usually the expected settings are in key=value format.

This change allows to reuse the inst.info=URL feature for the cobbler
"nopxe" API, just like it is done in linuxrc. The system needs to notify
cobbler that it booted "far enough", so that cobbler can change the boot
loader default from "boot from network" to "boot from local disk". The
client has to send a HTTP GET request to the specified URL. cobbler
sends the four bytes 'True' in return, which can system has to ignore.
Since the content is not and can not be a valid Agama key=value pair,
consider only lines that contain '=' in the input file.

Fixes agama-project#2185

Signed-off-by: Olaf Hering <[email protected]>
@kobliha
Copy link
Contributor

kobliha commented Mar 24, 2025

There are some options that do not have any value and there might be even more in the future, for example

  • live.password_dialog
  • live.password_systemd
  • Y2DEBUG

See https://agama-project.github.io/docs/user/boot_options and https://agama-project.github.io/docs/user/boot_options/linuxrc_compatibility

@olafhering
Copy link
Contributor Author

The = for password could be easily enforced, and Y2DEBUG could be specified by kernel cmdline, if really required.

@jreidinger
Copy link
Contributor

question is if we should abuse info param as in past or better have dedicated support in agama with something like agama.cobbler=<URL> that basically do that notification and also verify that it properly return "True" as requested and if not, then report error in agama ( something we plan also for failed of sending info or others ). For me it would be more clear if we do dedicated support with own parameter.

@olafhering
Copy link
Contributor Author

Well, the client can not do anything about whatever it receives. The point is that it needs to send a GET request, and it needs to deal with any content, by just ignoring it.
There has to be some something=$URL where the received content and every possible error is ignored. And unfortunately nothing like that exists, the new inst.info= option is close to what is required, and in addition there is no dracut upstream to even discuss a generic something=$URL or something=$URL,$outputfile.

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 this pull request may close these issues.

inst.info should extract only the usable lines

3 participants