public interface Plan extends ParentElement<Phase>
Phase
s, along with any errors encountered while
processing those Phase
s. The Plan is a representation of any work that is currently being
performed. A Plan is divided into one or more Phase
s, each of which is divided
into one or more Step
s. This structure is a logical abstraction of a multi-phase process
for performing upgrades or maintenance on a service.
To give a more concrete example, imagine a database which contains both "Data" nodes and "Index"
nodes, and which must be upgraded by first rolling out new Data nodes followed by new Index
nodes. This upgrade process could be represented as a single Plan with two Phases, where Phase-0
is upgrading the Data nodes and Phase-1 is upgrading the Index nodes. Each Phase would then
contain a list of Step
s which each reference an individual Data or Index node to be upgraded.
If any errors occurred during the rollout, the process would pause and the Plan would contain a
list of one or more error messages to be shown to the user.
LOGGER
Modifier and Type | Method and Description |
---|---|
default java.util.Collection<? extends Step> |
getCandidates(java.util.Collection<PodInstanceRequirement> dirtyAssets) |
default boolean |
isDeployPlan() |
forceComplete, getChildren, getErrors, getStatus, getStrategy, interrupt, isEligible, isInterrupted, proceed, restart, update, updateParameters
getErrors, getId, getMessage, getName, hasErrors, isComplete, isPending, isPrepared, isRunning, isStarted, isStarting
default java.util.Collection<? extends Step> getCandidates(java.util.Collection<PodInstanceRequirement> dirtyAssets)
default boolean isDeployPlan()