Bug 554742
Summary: | Using other dhcp client than ISC dhclient | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Aurélien Cedeyn <aurelien.cedeyn> | ||||||||
Component: | dhcp | Assignee: | Jiri Popelka <jpopelka> | ||||||||
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | high | Docs Contact: | |||||||||
Priority: | low | ||||||||||
Version: | 11 | CC: | iarlyy, jonathan, jpopelka, notting, plautrba | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2010-06-28 15:37:03 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
The far far simpler solution would be to make dhclient work on infiniband hardware. Assigning there. Yes, you're right, but patching dhclient is not so easy. I used dhclient but the patching method provided by ofed is not working anymore for dhclient-4.1.0. That's why I wanted to use a infiniband compliant client. I don't know if isc dhcp wants to support infiniband devices, so I think that what I proposed the src.rpm attached before does not change the default behaviour of the current initscripts and could help if the redhat community wants one day offer multiple dhcp client. So please just look what changes in the patch that I sent and give me feedback. The initscripts modification is not so hard and could give a new functionality. Supporting random different clients with disparate features is a good way to cause weird bugs that only happen with one or the other, and it's done in such a way that you're asking the users often for information that they don't necessarily know. Then you get in the question of do you install all clients just so it's there in case someone hits the one usage case that's only supported by one client, etc. I do not ask to support random dhcp client, I just say that with a few changes in the initscripts, advanced users, by changing their /etc/sysconfig/network-scripts/ifcfg-${DEVICE} by hand and by installing a new dhcp client (of course), will be able to change the default dhcp client. For a standard user which didn't change anything by hand, nothing will change. My changes did not modify the default behaviour : If there is no specified option, the default behaviour is kept (using dhclient) even if another dhcp client is installed. With this, you just have to support dhclient and you will provide a clean way to manage the dynamic IP allocation. Created attachment 384554 [details]
configuration with other dhcp client (dhcpcd)
Created attachment 384556 [details]
configuration with dhclient (no changes)
This can be accomplished with no initscripts changes (AFAICT) by writing your own 'ifup-dhcpcd' and adding DEVICETYPE=dhcpcd to your ifcfg file. Indeed, but DEVICETYPE=dhcpcd goes against the global meaning of this variable. That's why I think that it would be better to split the dhcp management inside the ifup-eth script into two scripts. Maybe if{up,down}-dhclient are not a good filenames, {start,stop}-dhclient would be better to respect the meaning of ifup-* scripts. Another point is that if I copy/paste the ifup-eth in ifup-dhcpcd and modify what I need to manage dhcpcd, when ifup-eth will change, I will need to follow these changes and merge it inside this script (ifup-eth doesn't only dhcp requests, it also manages bridges and more)... The work will be done twice. The point is... supporting multiple DHCP clients in the main scripts is a fool's errand - you then have to manage the complexities of all of them, for a much higher engineering cost than just fixing the deficiencies of one. For example, what happens when you want to do DHCPv6 over IB? (See https://www.redhat.com/archives/fedora-devel-list/2008-January/msg00861.html for more discussion of this.) The DEVICETYPE=dhcpcd is meant as a band-aid that you can use while dhclient is getting fixed. > The point is... supporting multiple DHCP clients in the main scripts is a > fool's errand Again : I do not ask to support multiple dhcp client in the initscripts. I just ask to split the big ifup-eth into ifup-eth (containing what depends on all eth setup except the dhcp allocation) and {ifup/start}-dhclient (containing what manages the dhcp part). There is no other cost but to package 2 more file... > what happens when you want to do DHCPv6 over IB? I don't get this point... On your side, nothing has to be done. On the current script, dhclient AND dhcp6c will be launched. I don't know if dhcp6c supports IB hardware, but if I want to use dhcpcd and dhcp6c, it will be possible without any modification in the ifup-eth script. If dhcp6c doesn't support IB but another one does, with this patch I will be able to switch to another dhcp6 client without modifying ifup-eth... And without bothering you... This message is a reminder that Fedora 11 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 11. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '11'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 11's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 11 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping Fedora 11 changed to end-of-life (EOL) status on 2010-06-25. Fedora 11 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. |
Created attachment 383249 [details] Src rpm with ifup-eth/ifdown-eth patches Description of problem: Hi, dhclient-4.1.0 does not support infiniband hardware so I wanted to switch to another dhcp client. In fact, dhcpcd supports this hardware. I started to build a package for dhcpcd. But here is the issue : It seems that /etc/sysconfig/network-scripts/{ifup,ifdown}-eth doesn't manage any other client than dhclient. Version-Release number of selected component (if applicable): initscripts-8.95.1-1.x84_64 How reproducible: Trying to use another dhcp client. Steps to Reproduce: 1. Install another dhcp client 2. Try to use it with ifup/ifdown Actual results: Doesn't work until rewriting all /etc/sysconfig/network-scripts/{ifup,down}-eth, so this file will conflict with any other package providing a dhcp client. Expected results: Only provide a script which will manage the installed client. Additional info: I send you patches to be able to use any other dhcp client inside the startup scripts ifup-eth. What provides thoses patches : - Split ifup-eth in ifup-eth and ifup-dhclient - New option in ifcfg-${DEVICE} * DHCP_CLIENT : name of the dhcp client How it works : - if DHCP_CLIENT is specified, and /etc/sysconfig/network-scripts/ifup-${DHCLIENT} is runnable, launch it with ${DEVICE} as parameter - else run etc/sysconfig/network-scripts/ifup-dhclient ${DEVICE} I don't know if this is the good way to report this issue, if I'm wrong, let me know. Regards, Aurelien