Bug 734806

Summary: remove dependency on ntpdate
Product: [Fedora] Fedora Reporter: Zing <zing>
Component: ntpAssignee: Miroslav Lichvar <mlichvar>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: mlichvar, pertusus
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-31 16:06:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Zing 2011-08-31 14:20:20 UTC
Description of problem:
Please remove the dependency on ntpdate in the ntpd unit file.  

1. Systemd will not allow you to disable ntpdate with this hard dep encoded in the unit file. It should be a suggestion to use ntpdate, not a hard requirement.
2. It's more work to cp and carry around an edited ntpd unit file with the hard dep removed than it is to have people that need ntpdate to just enable ntpdate. 
3. sysvinit never forced this type of depencency.  I personally never used or needed ntpdate (especially after iburst got implemented).  If you want to avoid the one-shot, non-smooth setting time set of ntpdate then you have to do 2.
4. ntpdate is deprecated.  We may want to always carry around a one-shot quick and dirty time set utility, but we should leave the choice to use it up to the administrator.

Version-Release number of selected component (if applicable):
ntp-4.2.6p3-4.fc15.x86_64

How reproducible:
always

Steps to Reproduce:
(sc is systemctl)
1. "sc enable ntpd.service" enables both ntpd and ntpdate
2. "sc -a|grep ntp" returns both ntpd and ntpdate services
3. "sc disable ntpdate" does not work.
  
Expected results:
don't run/be able to disable ntpdate

Comment 1 Miroslav Lichvar 2011-08-31 14:56:50 UTC
Hm, there is only an ordering dependency on ntpdate, enabling one service shouldn't enable the other.

Can you try this?

systemctl disable ntpdate.service ntpd.service
systemctl is-enabled ntpd.service; echo $?
systemctl is-enabled ntpdate.service; echo $?
systemctl enable ntpd.service
systemctl is-enabled ntpd.service; echo $?
systemctl is-enabled ntpdate.service; echo $?

Comment 2 Zing 2011-08-31 16:02:56 UTC
# systemctl disable ntpdate.service ntpd.service
[root@nysa-bh3 ~]# systemctl is-enabled ntpd.service; echo $?
1
[root@nysa-bh3 ~]# systemctl is-enabled ntpdate.service; echo $?
1
[root@nysa-bh3 ~]# systemctl enable ntpd.service
ln -s '/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service'
[root@nysa-bh3 ~]# systemctl is-enabled ntpd.service; echo $?
0
[root@nysa-bh3 ~]# systemctl is-enabled ntpdate.service; echo $?
1

Ah, so this is a weakness on my end of not understanding the systemctl -a output... the ntpdate.service was not actually run then?  Very confusing.  Thanks for clarifying.

Comment 3 Zing 2011-08-31 16:06:44 UTC
Btw, systemd does not respect ordering if you manually start