diff --git a/clouddriver-titus/src/main/groovy/com/netflix/spinnaker/clouddriver/titus/deploy/ops/CloneTitusServerGroupAtomicOperation.groovy b/clouddriver-titus/src/main/groovy/com/netflix/spinnaker/clouddriver/titus/deploy/ops/CloneTitusServerGroupAtomicOperation.groovy index 6d30ec1c623..1add2f65969 100644 --- a/clouddriver-titus/src/main/groovy/com/netflix/spinnaker/clouddriver/titus/deploy/ops/CloneTitusServerGroupAtomicOperation.groovy +++ b/clouddriver-titus/src/main/groovy/com/netflix/spinnaker/clouddriver/titus/deploy/ops/CloneTitusServerGroupAtomicOperation.groovy @@ -20,11 +20,14 @@ import com.netflix.spinnaker.clouddriver.data.task.Task import com.netflix.spinnaker.clouddriver.data.task.TaskRepository import com.netflix.spinnaker.clouddriver.deploy.DeploymentResult import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation +import com.netflix.spinnaker.clouddriver.orchestration.SagaContextAware import com.netflix.spinnaker.clouddriver.titus.TitusClientProvider import com.netflix.spinnaker.clouddriver.titus.deploy.description.TitusDeployDescription import com.netflix.spinnaker.clouddriver.titus.deploy.handlers.TitusDeployHandler -class CloneTitusServerGroupAtomicOperation implements AtomicOperation { +import javax.annotation.Nonnull + +class CloneTitusServerGroupAtomicOperation implements AtomicOperation, SagaContextAware { private static final String PHASE = "CLONE_TITUS_SERVER_GROUP" @@ -50,4 +53,11 @@ class CloneTitusServerGroupAtomicOperation implements AtomicOperation { +import javax.annotation.Nonnull + +class RunTitusJobAtomicOperation implements AtomicOperation, SagaContextAware { private static final String PHASE = "RUN_TITUS_JOB" @@ -51,4 +54,11 @@ class RunTitusJobAtomicOperation implements AtomicOperation { private static Task getTask() { TaskRepository.threadLocalTask.get() } + + @Override + void setSagaContext(@Nonnull SagaContext sagaContext) { + if (description instanceof SagaContextAware) { + ((SagaContextAware) description).sagaContext = sagaContext + } + } }