Monday 15 December 2014

Re: ntp by default on servers in Vivid

On Sat, Oct 25, 2014 at 01:17:33PM -0500, D. Jared Dominguez wrote:
> Out of curiosity, why ntpd/ntpdate instead of chrony? Chrony is
> designed to work well on both mobile systems and servers. As I
> understand, it's also the default of current Fedora and RHEL 7.

Having chrony default on RHEL/Fedora is only half a reason for me; what
are the interactions between the Ubuntu chrony package and the Ubuntu
desktop today? In particular, I'm thinking about interactions with DHCP,
boot time, if-up.d, any UI on the desktop itself, etc. And what about
the flavours? Do we know that the Ubuntu chrony package is a drop-in
replacement for ntpdate on all Ubuntu desktops today, and won't cause
any issues? And how do we know this?

These concerns are also why I'm focusing on server for now, and am not
proposing to do this for desktop right now. And then if this change does
not concern desktops, then what advantages does chrony have over ntpd on
servers?

ntpd/ntpdate has been the historical standard option. It's in main in
Ubuntu. According to Ubuntu popcon results:

#<name> is the package name;
#<inst> is the number of people who installed this package;
#<vote> is the number of people who use this package regularly;
#<old> is the number of people who installed, but don't use this package
# regularly;
#<recent> is the number of people who upgraded this package recently;
#<no-files> is the number of people whose entry didn't contain enough
# information (atime and ctime were 0).

#rank name inst vote old recent no-files (maintainer)
175 ntpdate 2684883 73461 2607034 3296 1092 (Debian Ntp Team)
2764 ntp 381958 10762 369315 1745 136 (Debian Ntp Team)
31365 chrony 1167 54 1112 1 0 (John Hasler)

(ntpdate in Ubuntu is presumably skewed upwards because it's installed by
default)

I don't see systemd-timesyncd in Ubuntu popcon results at all. Dimitri,
what's the reason for this, please?

and from Debian:

#rank name inst vote old recent no-files (maintainer)
1239 ntp 63593 34862 26282 2430 19 (Debian Ntp Team)
1669 ntpdate 43982 24994 17671 1297 20 (Debian Ntp Team)
10999 chrony 867 683 158 26 0 (Joachim Wiedorn)
94725 systemd-timesyncd 2 0 0 0 2 (Not in sid)

I'm seeking just to make default what people already use. My goal is to
make the time correct on Ubuntu server systems by default. Currently I'm
of the opinion that the daemon used doesn't really matter; all options
are by far good enough in standard use cases, and users of obscure use
cases have the option of switching to another.

I'm prepared to have my opinion swayed by evidence, but in the absense
of any evidence to the contrary, I'm not prepared to put effort into
picking some other solution and making it the default for no good
reason.

Given that my goal is to make things work by default, and what I do here
will impact pretty much all Ubuntu server users, it seems particularly
risky for me to also seek to switch the standard solution to another
daemon first; particularly when popcon shows us that these alternative
options are nowhere near as well tested and widely deployed. I'd rather
just get time working better by default from the next Ubuntu release;
coordinating a switch to another system and mitigating the risk this
imposes could potentially just delay this.

My understanding of the server world is that your average sysadmin who
needs time sync (ie. pretty much all of them) just "apt-get install ntp"
(or add the package to configuration management) and then don't worry
about it. They have already widely tested the ntp package for us. I'm
far less worried about breaking users by just making ntp the default,
than to favour and then push other projects instead.

On the other hand, if others want to take on the work of making chrony
and/or systemd-timesyncd excellent experiences in Ubuntu (presumably in
universe), then I welcome this work. When they are working well, looked
after in Ubuntu well, and either widely deployed or have somebody
familiar with it considering all the necessary use cases, *then* maybe
we should have a conversation about whether they should replace ntp in
main and whether they should be the default.

For the same reason, I think it makes sense to limit the change to
servers for now. But If somebody else wants to take on consideration and
testing of all the possible desktop use cases too, take on the
responsibility of dealing with any consequences of the change there, and
make the change at the same time, then please step up!

On Wed, Oct 22, 2014 at 05:18:29PM +0100, Dimitri John Ledkov wrote:
> I'd be in-favor for Ubuntu to adopt systemd-timesyncd.

Why? When I looked after you originally posted this, I could find
nothing to tell me why systemd-timesyncd is a better solution. And are
you proposing to take this work on, or are you asking me to also bring
systemd-timesyncd into Ubuntu at the same time as making it default and
(presumably) relegating ntp to universe in Ubuntu?

Robie