Bug 1798637

Summary: baremetal: IPv6 add dhcp-duid to NetworkManager config
Product: OpenShift Container Platform Reporter: Steven Hardy <shardy>
Component: Machine Config OperatorAssignee: Steven Hardy <shardy>
Status: CLOSED ERRATA QA Contact: Michael Nguyen <mnguyen>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.4CC: danw, mcornea
Target Milestone: ---   
Target Release: 4.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1798639 (view as bug list) Environment:
Last Closed: 2020-05-13 21:56:19 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:    
Bug Blocks: 1798639    

Description Steven Hardy 2020-02-05 17:33:40 UTC
Description of problem:

Adding ipv6.dhcp-duid=ll means we get a predictable
client ID so that reservations can be made on the
DHCP server - this is useful if you want to provide
the hostname via DHCP (although a reverse DNS lookup
should also work)

Reservations are also required to ensure the controlplane
IP of the masters won't ever change post-deployment
which will be necessary if the DNS lookup approach
is taken to set the hostnames.

- What I did

Updated the NetworkManager configuration, only for the baremetal (IPI) platform, so we specify the ipv6.dhcp-duid=ll option. This enables a predictable (mac derived) client ID/DUID when deploying in an IPv6 environment.

- How to verify it

If testing with dev-scripts you can check via virsh net-dhcp-leases baremetal - on baremetal you can check the client ID in the lease for the nic connected to the controlplane network (/var/lib/NetworkManager/dhclient6*.lease)

In both cases the controlplane network must be configured for single-stack ipv6, and there are some other PRs open to enable that e2e with the default OpenShift builds. openshift-metal3/dev-scripts#871 has some more details.

- Description for the changelog

Updated the NetworkManager configuration, for the baremetal (IPI) platform to specify the ipv6.dhcp-duid=ll option. This enables a predictable (mac derived) client ID/DUID.

Comment 2 Dan Winship 2020-02-11 15:38:40 UTC
cc: mcornea for possible QA; it looks like this IS legitimately testable in 4.4 even without working IPv6

Comment 3 Marius Cornea 2020-02-11 17:45:35 UTC
Verified on 4.4.0-0.nightly-2020-02-07-203942:

[root@worker-0 core]# cat /etc/NetworkManager/conf.d/99-kni.conf 
[main]
dhcp=dhclient
rc-manager=unmanaged
[connection]
ipv6.dhcp-duid=ll

Comment 5 errata-xmlrpc 2020-05-13 21:56:19 UTC
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, 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/RHBA-2020:0581