Skip to content

Commit

Permalink
fix: loop when paused and completed
Browse files Browse the repository at this point in the history
Signed-off-by: Zach Aller <zachaller@users.noreply.github.com>
  • Loading branch information
zachaller committed Feb 18, 2025
1 parent 688990d commit a70b960
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions rollout/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -490,11 +490,13 @@ func (c *rolloutContext) checkPausedConditions() error {
isPaused := len(c.rollout.Status.PauseConditions) > 0 || c.rollout.Spec.Paused
abortCondExists := progCond != nil && progCond.Reason == conditions.RolloutAbortedReason

isRolloutCompleted := c.rollout.Status.CurrentPodHash != c.rollout.Status.StableRS

var updatedConditions []*v1alpha1.RolloutCondition

if (isPaused != progCondPaused) && !abortCondExists && c.rollout.Status.StableRS != c.rollout.Status.CurrentPodHash {
//if (isPaused != progCondPaused) && !abortCondExists && c.rollout.Status.StableRS != c.rollout.Status.CurrentPodHash {
if (isPaused != progCondPaused) && !abortCondExists && !isRolloutCompleted {
if isPaused {
// TODO: pause
updatedConditions = append(updatedConditions, conditions.NewRolloutCondition(v1alpha1.RolloutProgressing, corev1.ConditionUnknown, conditions.RolloutPausedReason, conditions.RolloutPausedMessage))
} else {
updatedConditions = append(updatedConditions, conditions.NewRolloutCondition(v1alpha1.RolloutProgressing, corev1.ConditionUnknown, conditions.RolloutResumedReason, conditions.RolloutResumedMessage))
Expand Down Expand Up @@ -624,6 +626,7 @@ func (c *rolloutContext) calculateRolloutConditions(newStatus v1alpha1.RolloutSt

isHealthyRollout := newStatus.Replicas == newStatus.AvailableReplicas && currentCond != nil && currentCond.Reason == conditions.NewRSAvailableReason && currentCond.Type != v1alpha1.RolloutProgressing
// Check for progress. Only do this if the latest rollout hasn't completed yet and it is not aborted
// if !isHealthyRollout && !isAborted && newStatus.CurrentPodHash != newStatus.StableRS {
if !isHealthyRollout && !isAborted {
switch {
case conditions.RolloutHealthy(c.rollout, &newStatus):
Expand All @@ -634,7 +637,6 @@ func (c *rolloutContext) calculateRolloutConditions(newStatus v1alpha1.RolloutSt
rsName = c.newRS.Name
}
msg := fmt.Sprintf(conditions.ReplicaSetCompletedMessage, rsName)
// TODO: pause
progressingCondition := conditions.NewRolloutCondition(v1alpha1.RolloutProgressing, corev1.ConditionTrue, conditions.NewRSAvailableReason, msg)
conditions.SetRolloutCondition(&newStatus, *progressingCondition)
case conditions.RolloutProgressing(c.rollout, &newStatus) || becameUnhealthy:
Expand Down

0 comments on commit a70b960

Please sign in to comment.