-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Read lease files from dhclient and NetworkManager on Azure and CloudStack #146
Comments
The CloudStack provider also reads networkd lease files via a call to |
We should be now in a better position to tackle this, as at least we have a single network management stack in initramfs in both RHCOS and FCOS (NM with the internal DHCP client). |
For reference, NM lease files do not seem to contain the DHCP option:
|
To make this ticket easier to find out, this bug currently means that on Azure we have to wait for a timeout:
It it gets too annoying to have this timeout, we could try to add some smarter heuristic in Afterburn in order to directly reach the Azure hardcoded IP. |
This is causing a 30 second boot delay in Azure on Fedora CoreOS (#652). |
The boot delay is caused by (at least) #!/usr/bin/python3
import dbus
bus = dbus.SystemBus()
nm = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")
conn = bus.get_object("org.freedesktop.NetworkManager", nm.Get("org.freedesktop.NetworkManager", "PrimaryConnection", dbus_interface="org.freedesktop.DBus.Properties"))
dhcp = bus.get_object("org.freedesktop.NetworkManager", conn.Get("org.freedesktop.NetworkManager.Connection.Active", "Dhcp4Config", dbus_interface="org.freedesktop.DBus.Properties"))
options = dhcp.Get("org.freedesktop.NetworkManager.DHCP4Config", "Options", dbus_interface="org.freedesktop.DBus.Properties")
print(str(options["private_245"])) Output: a8:3f:81:10 |
RHCOS/FCOS uses NetworkManager presently. So the logic to look for option 245 in the systemd-networkd lease file would need to be adapted to read from those lease files (
/var/lib/NetworkManager
on RHEL7,/var/lib/dhclient
on FCOS and likely RHEL8). Might be worth investigating if NM's D-Bus API exposes this so we don't have to learn dhclient's syntax.Though note that this is not a blocker for getting those platforms on Azure if we're comfortable relying exclusively on the fallback endpoint (#145) until this is implemented.
Related: #130
The text was updated successfully, but these errors were encountered: