Comment 9 for bug 999725

Revision history for this message
Nathan Stratton Treadway (nathanst) wrote : Re: [Bug 999725] Re: broken start-up dependencies for ntp

On Thu, May 17, 2012 at 19:33:37 -0000, Paul Crawford wrote:
> $ cat /etc/nsswitch.conf
[...]
> hosts: files nis dns

> domain, I think). I don't really understand NIS, and the
> guy usually responsible for this sort of thing is away,
> but as far as I know it only provides local-area
> user/machine authentication and so I would be surprised
> if it 'knows' about anything outside of our sub-domain
> (like google, or even the other university machines as
> they are not part of our NIS set-up).

Yes, I would also have assumed that NIS wouldn't know
anything about google.com or other names, but given that
/etc/hosts is empty and the contents of the nsswitch.conf
hosts line, I can't think of any other place that host-name
information would be coming from...

Anyway, back to the question of getting ntpd working at
boot time:

Given that it seems your system does currently require NIS
to get host information, it makes sense that ntpd would
fail if it started before NIS was up.

While I don't have NIS installed anywhere, when I browse
the package source code it appears that there is not a
direct dependency between ntpd and NIS startup in the boot
scripts. (NIS is brought up via Upstart, while ntpd is
brought up via the /etc/rc*.d/S*ntp script.)

So I'm pretty sure that does explaion why you have problems
with ntpd at first but it works if you restart it later
(since by that point the NIS servers are running.)

However, based on what you said about the /etc/resolv.conf
on your Lucid machine, it sounds like your site does have
normal DNS name resolution available. If that's true, then
I believe adding that information to your eth0 stanza in
/etc/network/interfaces would allow DNS-based name
resolution to work as soon as that interface is brought up
-- and since the /etc/rc*.d scripts aren't run until static
networking is up, that should mean that DNS would be
available by the time ntpd started.

(See the "ifup" sections of "man resolvconf" and
/usr/share/doc/resolvconf/README.gz for more info on adding
that info to the interfaces file.)

Since your nsswitch.conf "hosts" line does include "dns",
presumably ntpd will then be able to successfully look up
the ntp-server names, even if NIS isn't yet running at that
point in the booting process.

If that isn't a viable work-around, then hopefully someone
with more Upstart knowledge will be able to suggest the
proper way to resolve this NIS v.s. ntpd start-up
dependency issue....

     Nathan