<single_instance> in service bundles is obsolete
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
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