Lifecycle¶
Lifecycle State Labels¶
Each state in the lifecycle has a label
attribute, which is used by the UI to mark service instances in these states visually,
according to the labels.
The possible values are:
info: This is the default label, it represents states the instance goes through normally, which don’t require special attention.
success: This label should be used for states when there are no problems with the instance, and it’s stable in this state.
warning: The warning label should be applied for states where the instance requires attention, because it might have run into some problems.
danger: The danger label represents the situation when there are serious problems with the instance.
Lifecycle construction¶
When creating a new lifecycle, it is important to know where validation states should be added in order to avoid invalid lifecycles.
Creating/deleting and exporting/not-exporting states¶
If services are guaranteed to be independent, the validation states can be ommited.
If one service depends on another, they could conflict when creating/exporting. If an Entity Child
has an inter_service_relation to another Entity Parent
, than the Parent
instance should be created first. Otherwise Child
will have a dangling reference.
Another way they could come into conflict is if they use any kind of identifier: Multiple instances could be created with the same identifier.
Conflicts could also arise when deleting/not-exporting: If the Parent
instance used in a Child
is deleted, Child
will have a reference to something that no longer exist, which will result in an invalid desired state (see delete-validating state).