...
- Instantiating: Once rsync is invoked to instantiate an AppContext, the state will be set to Instantiating.
- Instantiated: Rsyinc will set the .AppContext state to Instantiated after all Resources in the AppContext have been Applied.
- InstantiateFailed: This indicates that one or more Resources Failed to be applied.
- PreTerminate: If rsync is invoked to terminate an AppContext which is still in the Instantiating state, rsync needs to shutdown any threads in the process of trying to instantiate resources before beginning the terminate sequence.
- Terminating: When terminate is invoked, this state will be entered directly if the AppContext is in Instantiated or InstantiateFailed state. Otherwise, it will enter this state from PreTerminate after the initialize sequence has been shutdownIf a previous Instantiating sequence is still running, the transition process includes shutting down the instantiating sequence before entering the Terminating state.
- Terminated: This indicates that rsync has successfully Deleted all resources.
- TerminateFailed: This indicates that rsync has received a failure response from one or more Resources when attempting to delete them.
...
PlantUML Macro |
---|
@startuml
hide empty description
title AppContext State Transition
state Instantiated #LightBlue
state Instantiating #LightBlue
state InstantiateFailed #LightBlue
state PreTerminate #LightBlue
state Terminating #LightBlue
state Terminated #LightBlue
state TerminateFailed #LightBlue
[*] -> Instantiating : **gRPC instantiate**
Instantiating -> InstantiateFailed : //any resource//\n//Apply Failed//
Instantiating -> Instantiated : //all resources//\n//Applied//
Instantiating --> Terminating : **gRPC terminate**\n//old instantiate//\n//go routines//\n//cleaned up//
Instantiated --> Terminating : **gRPC terminate**
InstantiateFailed --> Terminating : **gRPC terminate**
note left of Terminating
Transition to Terminating
is allowed to occur when the controlling
EMCO resource (e.g. DeploymentIntentGroup
or Cluster) is in the Instantiated state
end note
Terminating -> Terminated : //all resources//\n//Deleted//
Terminating --> TerminateFailed : //some resources//\n//Delete Failed//
@enduml |
...