I just noticed something on my VMs: While the guestinfo properties appear in the vSphere web console, the “guestinfo.afterburn.initrd.network-kargs” does not, even though it is set on the VM (via govc) and works as expected.
Looking at your screenshot, the attribute appears in the web console. How are you setting the property? Through the web console?
BTW, I have a bash script to help consistently deploy RH/Fedora CoreOS nodes with Afterburn and ignition modifications.
Note that the script assumes you’ve installed govc into your path, loaded your FCOS images into a Content Library on your vSphere cluster and that you have set your vSphere username, password, and host as environment variables in your shell. I’ve found that deploying with consistency helps with debugging. In this case, it would help us clarify if the issue is setting the attribute via the web console vs. other method.
Edit: Confirmed that adding the property, with the same exact value, through the web console does not work.
The way how that Afterburn is documented with the guestinfo.afterburn.initrd.network-kargs setting to someone who was exposed to the ignition configuration before is misleading.
The ignition settings (e.g. guestinfo.ignition.config.data and guestinfo.ignition.config.data.enconding) are usually specified via the $vm.ExtensionData.Config.VAppConfig (at least that’s how the FCOS OVA is pre-configured) while (apparently) the Afterburn value must be specified through $vm.ExtensionData.Config.ExtraConfig … but I assume that the ignition keys/values can also be specified through $vm.ExtensionData.Config.ExtraConfig which is what govc vm.change -e does.
BTW, the $vm.ExtensionData.Config.ExtraConfig values are shown in the vSphere Web UI in “Edit settings” → “VM Options” → “Advanced” → “Configuration Parameters”.
I will try this out … tomorrow (it’s already 10 pm here).
So that was it. The Afterburn config string needs to be an advanced config parameter to the VM and not a vApp parameter (like the ignition strings by default are).
Now it is working.
@jaimelm, your statement “While the guestinfo properties appear in the vSphere web console, the “guestinfo.afterburn.initrd.network-kargs” does not” finally brought me to the solution. Thanks for mentioning this!
I now noticed that configuring statip IP via Afterburn for FCOS is a permanent thing and not only for the initial ignition boot. So in theory I could stop creating NetworkManager config file and /etc/hostname and /etc/hosts via Ignition. I’ll think over this.
But I also found one limitation in static IP configuration via Afterburn: it simply passes through kernel arguments. So it supports what the kernel offers in terms of arguments. I’m missing one feature there: while there is “nameserver=” available there is no karg to configure the DNS search suffixes. I need to think over this and test if it could really be a limitation for my use case of OKD/OCP clusters or if it in practice not really is one.
Fantastic. Glad you got it going. I’ll update my revision to the docs to include a blurb about the actual location for the parameters. That will be helpful for people who are not using govc.