> This root cause presents one solution: Modify svc.startd to create > restarter property groups on all services before starting any of them. > This would provide the same SCF environment to early services as to late > ones. That is, service instances only lack restarter property groups > when they're not configured properly or something else is wrong. > I don't think this would cause a significant performance problem because > creating restarter property groups shouldn't require disk I/O and should > be relatively fast. It's a nontrivial change to a crucial component, > though, and certainly won't be done within the next few days. For now, > Clearview could use the shell script workaround Tony and Liane found. > > An alternative solution, however, is to modify svcadm enable -ts to stop > interpreting the restarter property group's absence as an error and > instead just wait for it to appear. Since it should be interpreted as > an error after boot, but we don't have a good way to tell when that's > the case, Tony and I think that for this situation svcadm should inform > the user that the restarter property group is missing, that that's > usually an error, and that it is waiting in case it isn't. This would > be a change in behavior for a relatively rare case, and could in theory > be problematic if a program is invoking svcadm enable -ts without > passing the message on to the user. This fix should be pretty simple > and might be doable with or before the Clearview putback. I don't like > the wishy-washy semantics, though. > > So it seems that our choice is between an easy svcadm special change and > an ugly Clearview workaround plus a more complicated startd fix later. > I like the startd fix better in the long-term, but I'm not sure it's > a slam-dunk. Please opine.
I agree about the wishy-washy semantics of the second solution. As far as expedient solutions go, I'd rather go with the shell script workaround in net-physical, as its blast radius is contained and its sins are obvious. Longer term, would the startd solution still be necessary once the changes have been made to make manifest-import run earlier? -- meem