public class DeploymentStep extends AbstractStep
Modifier and Type | Class and Description |
---|---|
(package private) static class |
DeploymentStep.TaskStatusPair |
Modifier and Type | Field and Description |
---|---|
protected PodInstanceRequirement |
podInstanceRequirement |
protected StateStore |
stateStore |
id, logger
Constructor and Description |
---|
DeploymentStep(java.lang.String name,
PodInstanceRequirement podInstanceRequirement,
StateStore stateStore)
Creates a new instance with the provided
name , initial status , associated pod instance required
by the step, and any errors to be displayed to the user. |
Modifier and Type | Method and Description |
---|---|
DeploymentStep |
addError(java.lang.String error)
Sets the step to an
ERROR state with the provided error message. |
java.lang.String |
getDisplayStatus()
Returns a user-facing display status of this step, which may provide additional context on the work being
performed beyond the underlying progress
Status returned by Element.getStatus() . |
(package private) static java.lang.String |
getDisplayStatus(StateStore stateStore,
Status stepStatus,
java.util.Collection<java.lang.String> tasksToLaunch) |
java.util.List<java.lang.String> |
getErrors()
Returns a list of user-visible descriptive error messages associated with this Element.
|
java.util.Optional<PodInstanceRequirement> |
getPodInstanceRequirement()
Return the pod instance that this Step intends to work on.
|
(package private) static java.util.Optional<Status> |
getStatus(java.util.Set<Status> statuses,
boolean hasErrors,
boolean isPrepared) |
java.util.Optional<PodInstanceRequirement> |
start()
Starts the Step, whose
Status should be Status.PENDING . |
void |
update(Protos.TaskStatus status)
Synchronized to ensure consistency between this and
updateOfferStatus(Collection) . |
DeploymentStep |
updateInitialStatus(Status status)
Sets an initial status (other than
PENDING ) for the step. |
void |
updateOfferStatus(java.util.Collection<OfferRecommendation> recommendations)
Synchronized to ensure consistency between this and
update(Protos.TaskStatus) . |
void |
updateParameters(java.util.Map<java.lang.String,java.lang.String> parameters)
Provides the Element with a set of named string parameters that it can either use on start or provide to
children, if it has any.
|
equals, forceComplete, getId, getName, getStatus, hashCode, interrupt, isInterrupted, proceed, restart, setStatus, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getMessage, isAssetDirty, isEligible
hasErrors, isComplete, isPending, isPrepared, isRunning, isStarted, isStarting
protected final StateStore stateStore
protected final PodInstanceRequirement podInstanceRequirement
public DeploymentStep(java.lang.String name, PodInstanceRequirement podInstanceRequirement, StateStore stateStore)
name
, initial status
, associated pod instance required
by the step, and any errors
to be displayed to the user.public DeploymentStep addError(java.lang.String error)
ERROR
state with the provided error message.public DeploymentStep updateInitialStatus(Status status)
PENDING
) for the step. This status may later be updated as
Offers/TaskStatuses are received.public void updateParameters(java.util.Map<java.lang.String,java.lang.String> parameters)
Element
public java.util.Optional<PodInstanceRequirement> start()
Step
Status
should be Status.PENDING
. Returns an
PodInstanceRequirement
, or an empty Optional if obtaining/updating resource requirements are not
applicable to the Step. This will continue to be called for as long as Element.isPending()
returns
true.#updateOfferStatus(Collection)} which returns the outcome of
the {@link PodInstanceRequirement}
public java.util.Optional<PodInstanceRequirement> getPodInstanceRequirement()
Step
public void updateOfferStatus(java.util.Collection<OfferRecommendation> recommendations)
update(Protos.TaskStatus)
.public java.util.List<java.lang.String> getErrors()
Element
public java.lang.String getDisplayStatus()
Step
Status
returned by Element.getStatus()
.public void update(Protos.TaskStatus status)
updateOfferStatus(Collection)
.static java.lang.String getDisplayStatus(StateStore stateStore, Status stepStatus, java.util.Collection<java.lang.String> tasksToLaunch)