Bug 2247055

Summary: Remove dependency on dhcp-client in cloud-init
Product: [Fedora] Fedora Reporter: Martin Osvald 🛹 <mosvald>
Component: cloud-initAssignee: Major Hayden 🤠 <mhayden>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 40CC: anisinha, dustymabe, eterrell, gholms, huzhao, jorton, lars, mhayden, python-packagers-sig, rominf, shardy, xchen, xiachen
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-04-17 20:20:15 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:
Bug Depends On: 2270461    
Bug Blocks:    

Description Martin Osvald 🛹 2023-10-30 13:26:37 UTC
Description of problem:

ISC dhcp is no longer maintained upstream since the end of 2022. The
Infrastructure Services team is not planning to support it in RHEL 10.
Your RHEL package cloud-init currently has a dependency on dhcp-client. We
recommend that you remove this dependency and use an alternative DHCP
client such as dhcpcd, busybox's udhcpc, or internal dhcp client provided
by NetworkManager/systemd-networkd.

Version-Release number of selected component (if applicable):

cloud-init-0:23.2.1-1.fc39.noarch

Steps to Reproduce:

# repoquery --enablerepo=\* --whatrequires dhcp-client
...
cloud-init-0:23.2.1-1.fc39.noarch

Comment 1 Ani Sinha 2023-11-03 08:20:31 UTC
Please see upstream PR https://github.com/canonical/cloud-init/pull/4190 .

Thanks @xchen

Comment 2 Huijuan Zhao 2024-01-14 01:55:27 UTC
The dhcp-client is still the dependency of cloud-init in cloud-init-23.4-1.el8 and cloud-init-23.4-2.el9

$ sudo rpm -qR cloud-init | grep dhcp-client
dhcp-client

Comment 3 Major Hayden 🤠 2024-01-24 16:19:22 UTC
I'm looking at udhcpc support in Fedora to see if that can keep us going. Stay tuned! (Pull requests welcome, too!)

Comment 4 Major Hayden 🤠 2024-01-24 18:05:12 UTC
Added a PR to busybox to make a symlink for udhcpc. Apparently busybox knows which code to run based on what's in argv[0]. Thanks to @davide for explaining this for me!

https://src.fedoraproject.org/rpms/busybox/pull-request/3

Comment 5 Fedora Update System 2024-01-29 16:04:39 UTC
FEDORA-2024-98c295a792 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-98c295a792

Comment 6 Fedora Update System 2024-01-29 16:07:13 UTC
FEDORA-2024-98c295a792 has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Major Hayden 🤠 2024-01-30 16:15:04 UTC
Still working on getting cloud-init fixed up, but we now have udhcpc coming from the busybox package in rawhide! 🎉

Comment 8 Major Hayden 🤠 2024-02-05 22:31:34 UTC
Trying to get dhcpcd support in there instead to align with ELN. Just waiting on a new release in cloud-init.

Comment 9 Aoife Moloney 2024-02-15 23:02:58 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle.
Changing version to 40.

Comment 10 Major Hayden 🤠 2024-03-20 13:25:38 UTC
PR[0] made for 24.1.1 and it's working quite well, but dhdpcd gets stuck with an SELinux denial.

AVC avc:  denied  { connectto } for  pid=769 comm="dhcpcd" path="/run/dhcpcd/eth0-4.unpriv.sock" scontext=system_u:system_r:dhcpc_t:s0 tcontext=system_u:system_r:dhcpc_t:s0 tclass=unix_stream_socket permissive=0

That seems to be the only denial I can find after switching temporarily to permissive mode.

[0] https://src.fedoraproject.org/rpms/cloud-init/pull-request/44

Comment 11 Major Hayden 🤠 2024-04-17 20:20:15 UTC
Done! https://bodhi.fedoraproject.org/updates/FEDORA-2024-afdd9f7364

Comment 12 Fedora Update System 2024-08-10 04:32:48 UTC
FEDORA-EPEL-2024-c84a71b01a (busybox-1.36.1-7.el10_0) has been submitted as an update to Fedora EPEL 10.0.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2024-c84a71b01a

Comment 13 Fedora Update System 2024-08-10 11:57:05 UTC
FEDORA-EPEL-2024-c84a71b01a (busybox-1.36.1-7.el10_0) has been pushed to the Fedora EPEL 10.0 stable repository.
If problem still persists, please make note of it in this bug report.