microsoft / microsoft/azurelinux
[4.0] Offline installer does not handle HTTP URLs in inst.ks kernel parameter
- Dominant language
- Python
- Stars
- 5.3k
- Forks
- 707
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 235
Description
**Azure Linux version**
Azure Linux 4.0
**Deployment / platform**
KVM VM (PXE network boot)
**Is your feature request related to a problem? Please describe.**
When PXE booting with `inst.ks=http://server/path/ks.cfg `on the kernel cmdline, the installer wrapper (`anaconda-launcher.sh`) passes the URL directly to `anaconda --text --kickstart="http://server/path/ks.cfg"`. Anaconda can't fetch URLs when called this way and fails with "Kickstart file ... is missing."
The network is working fine at that point. Curl can download the file from the same shell. The problem is just that anaconda expects a local file path when called as a subprocess.
**Describe the solution you'd like**
Have `anaconda-launcher.sh` download the URL to a local file before passing it to anaconda:
```
if [[ "$CUSTOM_KS" == http* ]]; then
curl -sf -o /tmp/ks.cfg "$CUSTOM_KS" && CUSTOM_KS="/tmp/ks.cfg"
fi
```
**Describe alternatives you've considered**
Patching the squashfs after ISO download to inject this logic. Works but adds complexity to the deployment pipeline.
**Additional context**
This affects any PXE based deployment that passes a kickstart URL via kernel cmdline. The fix is a few lines in `anaconda-launcher.sh`.
Contributor guide
Research direction
Start with anaconda-launcher.sh and trace how the inst.ks kernel parameter becomes CUSTOM_KS before anaconda is invoked. Verify the HTTP kickstart is downloaded to a local path and that the local path is passed to anaconda, then test the PXE scenario with an HTTP URL and confirm the installer proceeds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, shell
- Domain
- devops, operating-systems
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100