Bug 2173992
| Summary: | [Regression] Anaconda doesn't configure the network specified in a kickstart prior to executing %pre script | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Renaud Métrich <rmetrich> |
| Component: | doc-Release_Notes-9-en-US | Assignee: | Gabi Fialová <gfialova> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | RHEL DPM <rhel-docs> |
| Severity: | high | Docs Contact: | Sagar Dubewar <sdubewar> |
| Priority: | high | ||
| Version: | 9.1 | CC: | jkonecny, lkuprova, lmanasko, rhel-docs, rvykydal, sbarcomb |
| Target Milestone: | rc | Keywords: | Documentation |
| Target Release: | 9.2 | Flags: | pm-rhel:
mirror+
|
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Known Issue | |
| Doc Text: |
.Kickstart installations fail to configure the network connection
Anaconda performs the Kickstart network configuration only through the NetworkManager API. Anaconda processes the network configuration after the `%pre` Kickstart section. As a consequence, some tasks from the Kickstart `%pre` section are blocked. For example, downloading packages from the `%pre` section fails due to unavailability of the network configuration.
To work around this problem:
* Configure the network, for example using the `nmcli` tool, as a part of the `%pre` script.
* Use the installer boot options to configure the network for the `%pre` script.
As a result, it is possible to use the network for tasks in the `%pre` section and the Kickstart installation process completes.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-05-11 08:06:41 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Renaud Métrich
2023-02-28 15:38:50 UTC
The root cause of the issue is a change in RHEL 9: https://github.com/rhinstaller/anaconda/pull/2870 In RHEL 8 kickstart configuration was parsed into ifcfg files in dracut and after switch root NetworkManger (before %pre section in anaconda) applied the ifcfg configuration. Then the kickstart configuration was applied one more time in Anaconda via NM dbus API after %pre section (for the case of kickstart network configuration created in %pre section). In RHEL 9 we apply kickstart configuration only in Anaconda via NM dbus API. Generating NM config files directly from kickstart configuration (as in RHEL 8) became unmaintainable, especially with NM now using keyfile format as new default. Also this approach required ugly hacks for ONBOOT setting. The cause of the automatic DHCP configuration is this change in RHEL 9: https://bugzilla.redhat.com/show_bug.cgi?id=1978264. The automatic configuration should be disabled in case kickstart is used but this is determined by presence of inst.ks boot option which is not used in the OEMDRV case. (Note: we have added option to explicitly turn the DHCP autoconfigration off in Fedora/upstream: https://bugzilla.redhat.com/show_bug.cgi?id=2033231). There is still one case where network is activated form kickstart early - in intitramfs/dracut. The case was fixed in RHEL 9.2 in https://bugzilla.redhat.com/show_bug.cgi?id=2153361. However this case is limited: network must not be activated via boot options; and installer image (stage2) is fetched from network location based on kickstart "url" command. Also it applies only the first network command. After SST team discussion we decided to close this bug with documenting this behavior. As explained in comment 1 it is not a regression but impact of change done on purpose. Switching to the documentation component so the bug could be closed after it's documented. We should update the documentation: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-4-pre-installation-script |