>> >> However, there's still different a problem that still exists with >> manifest-import. manifest-import doesn't import the updated >> manifests in any particular order. This means that when >> property/property-groups are added/removed from manifest, other >> services cannot assume that the change has taken place. Again, let >> me try with example services and properties: >> >> SMF service X already exists in the system and is online before >> manifest-import runs. SMF service Y is a new service that depends on >> X and is introduced by our project. Our project also added a >> property-group p to service X. Service Y uses property-group p in >> its start method. Now, manifest-import doesn't guarantee that the >> new manifest for X is imported before Y's. If the imports happened >> in that order, then there's no problem. But, if Y was imported >> before X, then Y's start method will look for the property-group p >> and fail. :(. There's error in /var/svc/log/Y.log saying "svccfg: >> property group p doesn't exist") >> >> For situations like this, can Y explicitly import X's new manifest? >> Or, is it better for Y to simply sleep and wait for X's new manifest >> to be imported? (Y can determine whether X's new manifest has been >> imported or not by checking for a property in property-group p that >> it know should/will exist after the new manifest is imported.) >> > > If Y does not need to start prior to manifest-import, can you try > define a dependency on manifest-import service for service Y? This > should make service Y wait until manifest-import service completely > imported all new manifests.
Thanks Tony, that solves the problem. It would have been nice if system/manifest-import created a dependency tree and then imported that new/changed manifests respecting the order. Anurag > > -tony