On Tue, 2013-07-23 at 16:29 -0400, David Shea wrote:
This removes anaconda's attempt to collect NTP servers through
NetworkManager's DHCP6 options. The reasons for this are as follows:
- NetworkManager does not currently request NTP or SNTP options. When
using a DHCP6 that honors OPTION_ORO (e.g., ISC dhcpd6), no time
servers will be returned
- dhclient does not support the NTP server option (dhcp6 option 56,
RFC 5908). If a server does return an OPTION_NTP_SERVER block, it
will not be parsed and NetworkManager will only be aware of the
presence of an unknown option 56.
It is possible to use the OPTION_SNTP_SERVER data, which is formated in
the same way the IPv4 DHCP NTP server option data. To use this we would
need to create /etc/NetworkManager/dhclient6.conf containing "also
request dhcp6.sntp-servers" and fix the option parsing code in nm.py to
pull the right value out of the Dhcp6Config.Options dictionary. However,
it's probably not worth it, since obviously no one was using DHCP6
options at all, because it would have crashed.
OK, thanks for the information - I
guess we can just remove the code
for now and add another implementation once someone might be actually
using it on IPv6 to get NTP servers from DHCP. :)
---
pyanaconda/nm.py | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/pyanaconda/nm.py b/pyanaconda/nm.py
index 0932a2e..56c59d4 100644
--- a/pyanaconda/nm.py
+++ b/pyanaconda/nm.py
@@ -284,15 +284,7 @@ def nm_ntp_servers_from_dhcp():
for ip in ntp_servers_string.split(" "):
ntp_servers.append(ip)
- # harvest NTP servers from DHCPv6
- dhcp6_path = nm_device_property(device, "Dhcp6Config")
- dhcp6_proxy = _get_proxy(object_path=dhcp6_path,
- interface_name="org.freedesktop.NetworkManager.DHCP6Config")
- options = dhcp6_proxy.get_cached_property("Options")
- if options is not None:
- # NTP server addresses returned by DHCP are whitespace delimited
- for ip in options.unpack().split(" "):
- ntp_servers.append(ip)
+ # NetworkManager does not request NTP/SNTP options for DHCP6
return ntp_servers
def _device_settings(name):
The patch looks good to me, thanks!