Bug #15477
open<single_instance> in service bundles is obsolete
0%
Description
There is a note in cmd/svc/svccfg/svccfg_libscf.c
to the effect that the <single_instance />
node in SMF service bundles is unimplemented and obsolete. The manual, in smf_restarter(7)
, says it is obsolete:
single_instance This is an optional property. When set, only one instance of the service is allowed to transition to an online or degraded status at any time. Note that no known implementation honours this setting, and it should be considered obsolete.
The language in svc.startd(8)
is a bit more explicit:
general/single_instance This was originally supposed to ensure that only one service instance could be in online or degraded state at once; however, it was never implemented, and is often incorrectly specified in multi- instance manifests. As such, it should be considered obsolete and not specified in new manifests.
There are a lot of manifests in the gate which still include this node, and people tend to copy-and-paste it into new things. We should:
- remove usage from all in-gate manifests
- update the DTD comments to reflect that the node is obsolete, do not use, merely ignored for backwards compatibility
- update smf_restarter(7)
to stop describing what the behaviour might have been in some alternate universe, and just say it is obsolete, do not use, ignored for compatibility
- it's possible svc.startd(8)
should have less commentary here and also merely say obsolete, do not use, ignored for compatibility
Related issues
Updated by Joshua M. Clulow 3 months ago
- Related to Bug #12071: clarify implementation of single_instance in SMF services added
Updated by Joshua M. Clulow 3 months ago
Apparently we were here already in #12071! We should probably go all the way and expunge it from the manifests, etc.