Skip to content

Commit

Permalink
Issue #3534: Tag compute resources according to the tool's metadata -…
Browse files Browse the repository at this point in the history
… remove instance tags during pipeline stop
  • Loading branch information
ekazachkova committed May 23, 2024
1 parent a596c9d commit e89bdcb
Showing 1 changed file with 12 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
import com.epam.pipeline.entity.user.PipelineUser;
import com.epam.pipeline.entity.utils.DateUtils;
import com.epam.pipeline.exception.git.GitClientException;
import com.epam.pipeline.manager.cloud.CloudFacade;
import com.epam.pipeline.manager.cluster.InstanceOfferManager;
import com.epam.pipeline.manager.cluster.KubernetesConstants;
import com.epam.pipeline.manager.cluster.NodesManager;
Expand All @@ -78,6 +79,7 @@
import com.epam.pipeline.manager.execution.PipelineLauncher;
import com.epam.pipeline.manager.git.GitManager;
import com.epam.pipeline.manager.metadata.MetadataEntityManager;
import com.epam.pipeline.manager.metadata.MetadataManager;
import com.epam.pipeline.manager.notification.ContextualNotificationRegistrationManager;
import com.epam.pipeline.manager.pipeline.runner.ConfigurationProviderManager;
import com.epam.pipeline.manager.pipeline.runner.PipeRunCmdBuilder;
Expand Down Expand Up @@ -236,6 +238,12 @@ public class PipelineRunManager {
@Autowired
private MetadataEntityManager metadataEntityManager;

@Autowired
private MetadataManager metadataManager;

@Autowired
private CloudFacade cloudFacade;

/**
* Launches cmd command execution, uses Tool as ACL identity
* @param runVO
Expand Down Expand Up @@ -689,6 +697,10 @@ public PipelineRun updatePipelineStatus(final PipelineRun run) {
*/
@Transactional(propagation = Propagation.REQUIRED)
public PipelineRun stop(Long runId) {
final PipelineRun run = loadPipelineRun(runId);
final Map<String, String> tags = metadataManager.buildCustomInstanceTags(run);
final RunInstance instance = run.getInstance();
cloudFacade.deleteInstanceTags(instance.getCloudRegionId(), instance.getNodeName(), tags.keySet());
return updatePipelineStatusIfNotFinal(runId, TaskStatus.STOPPED);
}

Expand Down

0 comments on commit e89bdcb

Please sign in to comment.