I'd like to renew my past proposal targeted at service stop failures. The
proposal was here:
https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.or...
It was related specifically to system shutdown and we didn't reach an
agreement. Some ideas presented there were interesting, though, and I also
thought about the whole concept and realized I don't need to talk
specifically about system shutdown, but rather about stopping services in
general. So here's a new take on that proposal.
The new idea is to talk about stopping a service and the negative effects a
stop failure might have. We already have a criterion that services must
start properly:
*"All system services present after installation with one of the
release-blocking package sets must start properly, unless they require
hardware which is not present."*
https://fedoraproject.org/wiki/Fedora_33_Final_Release_Criteria#System_se...
And it would make sense to require them to also stop properly,
unconditionally. But that would immediately bring arguments like "if the
service crashes while being stopped, but it has no negative effect, so
what?". And that's why I'd like to specify which negative effects the act
of stopping a service must not have. Something like this:
*"The same set of services [1] are also expected to stop properly, without
crashing, hanging or timing out groundlessly. If a service doesn't stop
properly, it must not break any release-blocking functionality, immediately
or in the future. An improper stop operation must also not delay system
shutdown/reboot/suspend or user login/logout/switch by more than 30
seconds.*
*Note: Stop failures examples*
*As an example, manually stopping a bluetooth service, because the user
wants to save battery, must not prevent the user from starting the
bluetooth service again, even if the service previously didn't stop
properly. Similarly, if a remote desktop service crashes after the active
remote connection is disconnected or lost, it must not prevent future
remote desktop connections. In both examples, it is assumed that the
described functionality is considered release-blocking.*
*Note: System delays*
*The 30 seconds maximum delay for specified system actions only applies to
services not stopping properly (crashing, hanging). If a service correctly
performs a time-consuming task (e.g. saving the state of multiple running
virtual machines during system shutdown, or applying system updates at
system shutdown), that is not a violation of this criterion."*
[1] Referring to the first sentence in
https://fedoraproject.org/wiki/Fedora_33_Final_Release_Criteria#System_se...
What do you think?