uninstalling chrony leaves no time service running
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd |
New
|
Unknown
|
|||
chrony (Debian) |
Fix Released
|
Unknown
|
|||
chrony (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Currently the situation seems rather awkward and does not work how one would want it (IMHO):
Chrony
- has conflicts with systemd-timesyncd and openntp.service
- ok to not start both at once
- definition of conflicts is rather unclear, but due to condition checks in systemd-timesyncd this was working so far
- but it misses a conflicts with ntp.service
Systemd (systemd-timesyncd)
- used to not-start in presence of the others being installed
- xenial had https:/
- the tail was from /lib/systemd/
- that is gone now (Bionic)
- since other sevrices could be installed, but disabled this isn't perfect
- but better than not disabling (that seems to be the current state)
NTP
- installing ntp masks chrony (where is that done/how, does not seem to be postinst ?)
- uninstall does not remove the mask so chrony is perma disabled after that
What do we actually want?
Well IMHO I think it is best described as "If pick the first from the following list IF INSTALLED AND RUNNING, if not fall through to next entry"
1. chrony
2. ntp
3. systemd-timesyncd
This might be a case of "perfection is the enemy of progress" but lets evaluate the details and consider what should be done now and what maybe later on.
Related branches
- Andreas Hasenack (community): Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 516 lines (+374/-5)11 files modifieddebian/README.container (+60/-0)
debian/changelog (+193/-0)
debian/chrony.conf (+18/-1)
debian/chrony.default (+4/-0)
debian/chrony.service (+2/-2)
debian/chronyd-starter.sh (+70/-0)
debian/control (+4/-1)
debian/docs (+1/-0)
debian/install (+1/-0)
debian/links (+5/-0)
debian/postrm (+16/-1)
- Robie Basak: Approve
- Canonical Server: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 534 lines (+391/-5)13 files modifieddebian/README.container (+60/-0)
debian/changelog (+143/-0)
debian/chrony.conf (+18/-1)
debian/chrony.default (+4/-0)
debian/chrony.service (+2/-2)
debian/chronyd-starter.sh (+70/-0)
debian/control (+4/-1)
debian/docs (+1/-0)
debian/install (+1/-0)
debian/links (+5/-0)
debian/patches/lp-1718227-nm-dispatcher-for-networkd.patch (+66/-0)
debian/patches/series (+1/-0)
debian/postrm (+16/-1)
- Steve Langasek (community): Needs Fixing
- Nish Aravamudan (community): Approve
- Canonical Server packageset reviewers: Pending requested
- git-ubuntu developers: Pending requested
-
Diff: 199 lines (+136/-1)7 files modifieddebian/changelog (+13/-0)
debian/control (+1/-0)
debian/links (+5/-0)
debian/patches/lp-1718227-ignore-non-up-down-events-in-nm-dispatcher.patch (+32/-0)
debian/patches/lp-1718227-nm-dispatcher-for-networkd.patch (+67/-0)
debian/patches/series (+2/-0)
debian/postrm (+16/-1)
summary: |
- uninstalling chrony leaved no time service running + uninstalling chrony leaves no time service running |
Changed in chrony (Debian): | |
status: | Unknown → New |
Changed in systemd: | |
status: | Unknown → New |
Changed in chrony (Debian): | |
status: | New → Fix Released |
Lets break this into use cases in Bionic:
I was not sure who should win in each case.
We might either want the clear "order" chrony > ntp > openntp > systemd-timesyncd
Or we might want a "last installed" approach, but that is hard as upgrades to not count here only real "install". What would "--reinstall" be in these cases?
Maybe we should stick with the clear order, that at least seems more deterministic.
Cases 4-6 try to cover testing that order invariancy.
This is an "ideal world" approach, not sure if we can achieve that in the short term.
After the "=>" assignment is the service that should run (and only this one).
0. default install - systemd-timesyncd
1. default install - install chrony => Chrony
1b. - remove chrony => systemd-timesyncd
2. default install - install ntp => NTP
2b. - remove ntp => systemd-timesyncd
3. default install - install openntp => openntp
3b. - remove openntp => systemd-timesyncd
4. default install - install ntp, install chrony => Chrony
4b. remove chrony => NTP
4c. remove NTP => systemd-timesyncd
5. default install - install chrony, install NTP => Chrony
5b. remove Chrony => NTP
5c. remove NTP => systemd-timesyncd
6. default install - install openntp => openntp
6b. install NTP => NTP
6c. install chrony => chrony
6d. remote NTP & Chrony => openntp
6e. remove openntp => systemd-timesyncd
7. xenial with ntp - upgrade to B => NTP
8. xenial with ntp - upgrade to B, install chrony => Chrony
9. xenial with ntp - upgrade to B, remove NTP => systemd-timesyncd
10. xenial without ntp - upgrade to B => systemd-timesyncd