Bug 1814386
| Summary: | ipoib dhcp send different client-id from old versions that comes with rhel7 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Moshe Levi <moshele> | ||||||||
| Component: | dhcp | Assignee: | Joe Orton <jorton> | ||||||||
| Status: | CLOSED WONTFIX | QA Contact: | qe-baseos-daemons | ||||||||
| Severity: | medium | Docs Contact: | |||||||||
| Priority: | medium | ||||||||||
| Version: | 8.2 | CC: | ahleihel | ||||||||
| Target Milestone: | rc | Keywords: | Reopened, Triaged | ||||||||
| Target Release: | 8.0 | Flags: | pm-rhel:
mirror+
|
||||||||
| 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: | 2021-09-17 07:27:01 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: | |||||||||||
| Attachments: |
|
||||||||||
Created attachment 1670909 [details]
centos7 dhcp pcap
Hello, This was done on purpose to simplify administrator's job and automatic deployment of the systems. When system is being provisioned client-id is not known to administrator while HW address is so DHCP server can be configured to assign right pool/address/class to the system. To switch to previous behavior dhclient.conf file can be adjusted (or simply deleted/replaced with empty one). This breaks openstack with infiniband we rely on client-id in format of rhel 7 and now rhel 8 have different client-id. Show can we solve it if in the client user usr rhel7 image or rhel 8 image? (In reply to Moshe Levi from comment #3) > This breaks openstack with infiniband we rely on client-id in format of rhel > 7 and now rhel 8 have different client-id. Show can we solve it if in the > client user usr rhel7 image or rhel 8 image? Hello, RHEL8 is new major version so API changes are imminent. Can you please elaborate what is broken (logs, configuration) and what blocks changing of config file. P.S. Sorry I didn't understand your question, can you please elaborate on it? Openstack is Cloud Platform in rhel you call it OSP (Openstack platform). We (Mellanox have solution to create VMs with Infiniband Interfaces. The VM get the ip address with the dhcp server in openstack. Because it a cloud the each vm get it own ip address and this is done by using the client-id in infiniband. A user in the cloud may have VM with rhel 7 or rhel 8 image or other distro. In dhcp server we can't know what client-id to define in the dhcp server because rhel 7 and rhel 8 are not consistent. The reason we can't use config option is that we don't know what user will use as guest image. Openstack is Cloud Platform in rhel you call it OSP (Openstack platform). We (Mellanox have solution to create VMs with Infiniband Interfaces. The VM get the ip address with the dhcp server in openstack. Because it a cloud the each vm get it own ip address and this is done by using the client-id in infiniband. A user in the cloud may have VM with rhel 7 or rhel 8 image or other distro. In dhcp server we can't know what client-id to define in the dhcp server because rhel 7 and rhel 8 are not consistent. The reason we can't use config option is that we don't know what user will use as guest image. Openstack is Cloud Platform in rhel you call it OSP (Openstack platform). We (Mellanox have solution to create VMs with Infiniband Interfaces. The VM get the ip address with the dhcp server in openstack. Because it a cloud the each vm get it own ip address and this is done by using the client-id in infiniband. A user in the cloud may have VM with rhel 7 or rhel 8 image or other distro. In dhcp server we can't know what client-id to define in the dhcp server because rhel 7 and rhel 8 are not consistent. The reason we can't use config option is that we don't know what user will use as guest image. I understand that RHEL8 is new major version so API changes, but this change effect how to configure dhcp server in the cluster which is more then api change. (In reply to Moshe Levi from comment #8) > I understand that RHEL8 is new major version so API changes, but this change > effect how to configure dhcp server in the cluster which is more then api > change. This is not the case. Configuration of dhcp server is not affected by this change. This is client-only option. See below. > The > reason we can't use config option is that we don't know what user will use > as guest image. Looks like there's some misunderstanding here. This is *client* side configuration not server one. So OSP administrator has to seal image with empty /etc/dhcp/dhclient.conf once that's it reconfiguration of dhcp server is not needed. Besides of that I'd like to mention that NetworkManager's default configuration is "mac" as well as dhclient's one [1] so we're keeping consistency between implementations. [1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/cfd696cc3cf43f5f510046b757949546bcee4cdc In dhclient 4.3.6-34: I tried with "send dhcp-client-identifier = hardware;" and I get Client-ID Option 61, length 9: hardware-type 32, ec:0d:9a:03:00:bf:54:54 without the "send dhcp-client-identifier = hardware;" I get Client-ID Option 61, length 23: hardware-type 255, 00:bf:54:54:00:04:cd:5f:81:cc:49:7f:4e:a1:94:1f:91:9d:66:ae:1a:30 But in older version (4.2.5-77) of dhclient I would get something like Client-ID Option 61, length 20: hardware-type 255 ff:00:00:00:00:00:02:00:00:02:c9:00:ec:0d:9a:03:00:bf:54:54 Hello, Thank you for the information. Can you please provide network dump of the communication for both rhel7 and rhel8 clients? Pcap format is preffered. Unfortunately I don't have IB setup to play with right now Created attachment 1673184 [details]
centos8 without dhcp-client-identifier = hardware
I add pcap without the "send dhcp-client-identifier = hardware" Please compare "centos7 dhcp pcap" and "centos8 without dhcp-client-identifier = hardware" pcap files and see the different client-id. We also tested both centos7 and centos8 with "send dhcp-client-identifier = hardware" and that seem to work as expected. After evaluating this issue, there are no plans to address it further or fix it in an upcoming release. Therefore, it is being closed. If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened. |
Created attachment 1670907 [details] centos8 dhcp pcap Description of problem: when using dhcp with ipoib interface the dhclient sent client-id option as defined in the dhcp ipoib spec. In old version the which comes with rhel 7 client-id was send as 20 bytes. prefix <ff:00:00:00:00:00:02:00:00:02:c9:00> and guid <:b8:59:9f:03:00:07:75:ba > so for dhclient in rhel 7 it looked like below ff:00:00:00:00:00:02:00:00:02:c9:00:b8:59:9f:03:00:07:75:ba In rhel 8 it look like <HW>+ guid 20:b8:59:9f:03:00:07:75:ba Why client-id was change from rhel7 to rhel8? Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. install dhcp-client-4.3.6-34.el8.x86_64 2. run dheclient on ipoib interface 3. tcpdump the dhcp packets Actual results: Expected results: Additional info: