While these days the systemd based timesync* things are doing most of
the work there is still a lot of buzz around the automated ntpdate on
ifup. I'll try to to summarize the outcome of multiple discussions and
bugs around this and propose a solution.

- I've seen various reports of ntpdate syncing too much or time changes due to 
that annoying people.
- but then there are different user scenarios so some want and others won't 
"autoupdate" feature on ifup
- the ones that want it disabled are usually only "inconvenience issues" like 
too much calls, but also cases like "know it will hang", so could I disable it 
in advance
- the ones require the updates are mostly having more severe issues (like 
breaking authentication due to time being off afterwards)

We should try to create a solution for both parties to be able to config the 
system to their way.
So lets keep the default to sync (as it seems the more critical way), but 
provide a way to disable it via the config files.

Doing it via an environment variable also allows to "overwrite" it in ifup 
calls like
  DISABLE_NTPDATE=1 ifup eth0

The config file has to be read in ntpdate-debian if the variable is not
set.

Then just a simple check for that variable in the script to exit if disabled:
[ "${DISABLE_NTPDATE:-0}" != "0" ] && exit 0

So the behavior would be like:
1. default it is running on ifup
2. one could set a different default in the config file
3. one can overwrite whatever was set via an environment variable

... creating a patch for that and providing to Debian for a latter sync.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ntp in Ubuntu.
https://bugs.launchpad.net/bugs/1206164

Title:
  /etc/network/if-up.d/ntpdate does not detach correctly

Status in ntp package in Ubuntu:
  Triaged

Bug description:
  It seems that the intent of /etc/network/if-up.d/ntpdate is to
  background itself, as it creates a subshell with &.

  As reported in bug 1202758, this doesn't seem to work correctly.  That
  doesn't close the file descriptors.  As a result, if something is
  waiting on the output of 'ifup', it will sit and wait until ntpdate is
  finished.

  Example:
  $ time sudo sh -c 'o=$(sh -c "ifdown eth0 ; ifup eth0" 2>&1) ; echo $o'

  If we change the way it detaches itself to close stdout, stdderr, and
  stdin, then we're fine.

  I'm reporting this, but I'm not sure how much of a real problem it is.  As if 
th
  e command sends stdin and stdout to /dev/null, then debugging its output 
would b
  e more difficult.

  Example diff:
  $ diff -u /etc/network/if-up.d/ntpdate.dist /etc/network/if-up.d/ntpdate
  --- /etc/network/if-up.d/ntpdate.dist  2013-07-29 15:47:54.242781947 +0000
  +++ /etc/network/if-up.d/ntpdate 2013-07-29 15:48:06.946781947 +0000
  @@ -56,4 +56,4 @@
     lockfile-remove $LOCKFILE
   fi

  -) &
  +) </dev/null >/dev/null 2>&1 &

  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: ntpdate 1:4.2.6.p5+dfsg-2ubuntu2
  ProcVersionSignature: User Name 3.10.0-5.15-generic 3.10.2
  Uname: Linux 3.10.0-5-generic x86_64
  ApportVersion: 2.11-0ubuntu1
  Architecture: amd64
  Date: Mon Jul 29 15:32:30 2013
  MarkForUpload: True
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: ntp
  UpgradeStatus: No upgrade log present (probably fresh install)
  mtime.conffile..etc.network.if.up.d.ntpdate: 2013-07-29T15:32:03.567775

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/1206164/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to