Class PhaseExecution

  • All Implemented Interfaces:
    ModelObject

    public final class PhaseExecution
    extends Object
    implements ModelObject
    Phase execution record.

    While the phases starts in declared order, they might not complete in that order. Much less previous phase will be completed before next one starts.

    There are several reasons for that: provisioning listener is called when the results are picked up, the agent might have started launching in the meantime. There are plugins that in fact enforce the launch to complete, before completing the NodeProvisioner.PlannedNode.future. To avoid any problems this can cause, the execution of phases is expected to occur in order, the execution will accept attachments regardless if the next phase started or not. For the time tracking purposes, the phase is considered completed as soon as the next phase begins. IOW, despite the fact the agent already started launching, plugin can still append provisioning log.