>> What I would like to have seen is the ability of a service to specify >> how to transition from maintenance to offline (which may or may not >> be the same as "disable") is made, and for the service to be parked >> in that state until there's an external event (enable/boot.) As it is >> now, it is assumed that "disable" is the correct way to make that >> transition, and I'd be tempted to argue that going from "online" >> to "offline" can be different to a "failed online" to "offline".
Please try to keep the user-visible complexity of the state diagram to a minimum. In addition, it'd probably best best if any discussion of how a service moves between states included a state diagram. (Unfortunately, I think the only SMF state diagram I've found was in PostScript. Yuck.) Here's my understanding of the current state diagram. This can both serve as a basis for any additional discussion, and if it's wrong somebody can educate me. offline: svcadm enable runs start method OK --> online fails --> maintenance online: svcadm disable runs stop method --> offline reboot runs start method OK --> online fails --> maintenance (is there a direct route to maintenance?) maintenance: svcadm clear --> offline (?) --- This diagram should perhaps be enhanced to include the results of "enable -t" and "disable -t" and the transition states while it's running the start and stop methods.