@Override @Transactional @Retryable(include = { ConcurrencyFailureException.class }, maxAttempts = Constants.TX_RT_MAX, backoff = @Backoff(delay = Constants.TX_RT_DELAY)) public Rollout approveOrDeny(final long rolloutId, final Rollout.ApprovalDecision decision, final String remark) { LOGGER.debug("approveOrDeny rollout called for rollout {} with decision {}", rolloutId, decision); final JpaRollout rollout = getRolloutAndThrowExceptionIfNotFound(rolloutId); RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.WAITING_FOR_APPROVAL); switch (decision) { case APPROVED: rollout.setStatus(RolloutStatus.READY); break; case DENIED: rollout.setStatus(RolloutStatus.APPROVAL_DENIED); break; default: throw new IllegalArgumentException("Unknown approval decision: " + decision); } rollout.setApprovalDecidedBy(rolloutApprovalStrategy.getApprovalUser(rollout)); if (remark != null) { rollout.setApprovalRemark(remark); } return rolloutRepository.save(rollout); }
@Override @Transactional @Retryable(include = { ConcurrencyFailureException.class }, maxAttempts = Constants.TX_RT_MAX, backoff = @Backoff(delay = Constants.TX_RT_DELAY)) public Rollout approveOrDeny(final long rolloutId, final Rollout.ApprovalDecision decision, final String remark) { LOGGER.debug("approveOrDeny rollout called for rollout {} with decision {}", rolloutId, decision); final JpaRollout rollout = getRolloutAndThrowExceptionIfNotFound(rolloutId); RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.WAITING_FOR_APPROVAL); switch (decision) { case APPROVED: rollout.setStatus(RolloutStatus.READY); break; case DENIED: rollout.setStatus(RolloutStatus.APPROVAL_DENIED); break; default: throw new IllegalArgumentException("Unknown approval decision: " + decision); } rollout.setApprovalDecidedBy(rolloutApprovalStrategy.getApprovalUser(rollout)); if (remark != null) { rollout.setApprovalRemark(remark); } return rolloutRepository.save(rollout); }
private void startFirstRolloutGroup(final Rollout rollout) { LOGGER.debug("startFirstRolloutGroup called for rollout {}", rollout.getId()); RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.STARTING); final JpaRollout jpaRollout = (JpaRollout) rollout; final List<JpaRolloutGroup> rolloutGroups = rolloutGroupRepository.findByRolloutOrderByIdAsc(jpaRollout); final JpaRolloutGroup rolloutGroup = rolloutGroups.get(0); if (rolloutGroup.getParent() != null) { throw new RolloutIllegalStateException("First Group is not the first group."); } deploymentManagement.startScheduledActionsByRolloutGroupParent(rollout.getId(), rollout.getDistributionSet().getId(), null); rolloutGroup.setStatus(RolloutGroupStatus.RUNNING); rolloutGroupRepository.save(rolloutGroup); jpaRollout.setStatus(RolloutStatus.RUNNING); jpaRollout.setLastCheck(0); rolloutRepository.save(jpaRollout); }
private void startFirstRolloutGroup(final Rollout rollout) { LOGGER.debug("startFirstRolloutGroup called for rollout {}", rollout.getId()); RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.STARTING); final JpaRollout jpaRollout = (JpaRollout) rollout; final List<JpaRolloutGroup> rolloutGroups = rolloutGroupRepository.findByRolloutOrderByIdAsc(jpaRollout); final JpaRolloutGroup rolloutGroup = rolloutGroups.get(0); if (rolloutGroup.getParent() != null) { throw new RolloutIllegalStateException("First Group is not the first group."); } deploymentManagement.startScheduledActionsByRolloutGroupParent(rollout.getId(), rollout.getDistributionSet().getId(), null); rolloutGroup.setStatus(RolloutGroupStatus.RUNNING); rolloutGroupRepository.save(rolloutGroup); jpaRollout.setStatus(RolloutStatus.RUNNING); jpaRollout.setLastCheck(0); rolloutRepository.save(jpaRollout); }
private RolloutGroup fillRolloutGroupWithTargets(final JpaRollout rollout, final RolloutGroup group1) { RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.CREATING);
private RolloutGroup fillRolloutGroupWithTargets(final JpaRollout rollout, final RolloutGroup group1) { RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.CREATING);
private Rollout createRolloutGroups(final List<RolloutGroupCreate> groupList, final RolloutGroupConditions conditions, final Rollout rollout) { RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.CREATING); final JpaRollout savedRollout = (JpaRollout) rollout;
private Rollout createRolloutGroups(final List<RolloutGroupCreate> groupList, final RolloutGroupConditions conditions, final Rollout rollout) { RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.CREATING); final JpaRollout savedRollout = (JpaRollout) rollout;
private Rollout createRolloutGroups(final int amountOfGroups, final RolloutGroupConditions conditions, final JpaRollout rollout) { RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.CREATING); RolloutHelper.verifyRolloutGroupConditions(conditions);
private Rollout createRolloutGroups(final int amountOfGroups, final RolloutGroupConditions conditions, final JpaRollout rollout) { RolloutHelper.verifyRolloutInStatus(rollout, RolloutStatus.CREATING); RolloutHelper.verifyRolloutGroupConditions(conditions);