Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
NetworkManager-1.34.0-0.3.el8.x86_64 does not renew DHCPv6 leases when using internal DHCP client.
Service only gets a DHCPv6 lease when restarted. At half the lifetime of the DHCP lease there should be a renewal which does not appear in the logs. Once the Lease reaches expiration machines end up losing IPv6.
Version-Release number of selected component (if applicable):
NetworkManager-1.34.0-0.3.el8.x86_64
How reproducible:
Install NetworkManager-1.34.0-0.3.el8.x86_64, restart the daemon (otherwise the previous working version will still stay in memory and work just fine).
Steps to Reproduce:
1. Install NetworkManager-1.34.0-0.3.el8.x86_64
2. Restart NetworkManager
3. Wait for half the life of the lease, see no logs whatsoever
4. Wait for the lease expiration, lose IPv6
Additional info:
Setting up the daemon to use DEBUG level does not show extra relevant information regarding why the lease is not renewed.
The only solution we have right now is to forcefully downgrade all machines to use NetworkManager-1.34.0-0.2.el8.x86_64.
Regarding the specfile:
```
%changelog
* Thu Oct 21 2021 Ana Cabral <acabral> - 1:1.34.0-0.3
- Upgrade to 1.33.4 release (development)
- Deprecate "master"/"slave" on bonding and bridge API (rh #1949023)
- core: Fix configuration reload for active devices (rh #1852445)
- CS8: Update systemd-udev dependency (rh #2012123)
```
The important bit here is: "Upgrade to 1.33.4 release (development)". https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/NEWS does not even mention 1.33 version, it goes straight from 1.32 to 1.34 changes.
Fedora has not distributed 1.33 nor 1.34: https://src.fedoraproject.org/rpms/NetworkManager
Could it be that RedHat has shipped a version not ready for prod use? The reason behind this reasoning is the past naming convention they used in their specfile:
* Wed Aug 18 2021 Wen Liang <wenliang> - 1:1.32.10-1
- update to 1.32.10 release
* Wed Jul 21 2021 Gris Ge <fge> - 1:1.32.4-1
- Upgrade to 1.32.4 with fixes of:
The problem seems to be how .3 calculates the T1 and T2 timers.
NetworkManager-1.34.0-0.3
Nov 29 11:31:24 test134003.cern.ch NetworkManager[950]: <trace> [1638181884.6690] libsystemd: eth0: DHCPv6 client: T1 expires in 34y 2w 1d 2h 27min 32s
Nov 29 11:31:24 test134003.cern.ch NetworkManager[950]: <trace> [1638181884.6689] libsystemd: eth0: DHCPv6 client: Received an IA option with both T1 and T2 equal to zero. Adjusting them based on the minimum valid lifetime of IA addresses or PD prefixes: T1=1075643520sec, T2=1721029632sec
Nov 29 11:31:24 test134003.cern.ch NetworkManager[950]: <trace> [1638181884.6690] libsystemd: eth0: DHCPv6 client: T1 expires in 34y 2w 1d 2h 27min 32s
Nov 29 11:31:24 test134003.cern.ch NetworkManager[950]: <trace> [1638181884.6690] libsystemd: eth0: DHCPv6 client: T2 expires in 54y 5month 3w 5d 19h 35min 36s
NetworkManager-1.34.0-0.2
Nov 29 11:37:17 test134002.cern.ch NetworkManager[893]: <trace> [1638182237.3446] libsystemd: eth0: DHCPv6 client: Recv ADVERTISE
Nov 29 11:37:18 test134002.cern.ch NetworkManager[893]: <trace> [1638182238.3721] libsystemd: eth0: DHCPv6 client: Sent REQUEST
Nov 29 11:37:18 test134002.cern.ch NetworkManager[893]: <trace> [1638182238.3722] libsystemd: eth0: DHCPv6 client: Next retransmission in 995ms
Nov 29 11:37:18 test134002.cern.ch NetworkManager[893]: <trace> [1638182238.4773] libsystemd: eth0: DHCPv6 client: Computed IA NA T1 302400sec and T2 483840sec as both were zero
Nov 29 11:37:18 test134002.cern.ch NetworkManager[893]: <trace> [1638182238.4775] libsystemd: eth0: DHCPv6 client: T1 expires in 3d 7h 30min
Nov 29 11:37:18 test134002.cern.ch NetworkManager[893]: <trace> [1638182238.4775] libsystemd: eth0: DHCPv6 client: T2 expires in 5d 3h 59min 13s
So in other words .3 sets the T1 timer to an stupid value, explaining why it never issues any request to renew the lease.
To get the logging above set:
level=TRACE
domains=ALL
in /etc/NetworkManager/NetworkManager.conf.
To be determine if this is a bug (probably introduced here: https://github.com/NetworkManager/NetworkManager/commit/51f93e00a23fbd09f5ad96da6290bf4ca737d46a) or a behavior change and the client now expects more info from the server.
Related code: https://github.com/NetworkManager/NetworkManager/blob/29380a0b099cc8ad50fc8471285b4c9a07b2cdce/src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c#L688
We believe we've tracked down the issue and we've submitted a patch upstream: https://github.com/systemd/systemd/pull/21558
Once this patch is merged, what's the procedure for getting it into CS8?
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (NetworkManager bug fix and enhancement update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHEA-2022:1985