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).
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