Skip to content

Commit bfcf9ff

Browse files
[release-1.16] Leave the resourceUtil mode as it bahaves now (#327)
Leave the resourceUtil mode as it bahaves now Shifting traffic after the pods are up is not intuitive as the resourceUtil mode scales down the old revision first. Co-authored-by: Vincent Hou <shou73@bloomberg.net>
1 parent b8e2817 commit bfcf9ff

File tree

1 file changed

+29
-25
lines changed

1 file changed

+29
-25
lines changed

pkg/reconciler/service/service.go

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -938,39 +938,42 @@ func convertIntoTrafficTarget(name string, ro *v1.RolloutOrchestrator, rc *Rollo
938938
// The name is the same as the revision name.
939939
spaTargetRevName := targetRevName
940940
targetNumberReplicas, minScale := finalTargetRevs[0].MinScale, finalTargetRevs[0].MinScale
941-
var minScalingDown *int32
942-
targetNameScalingDown := ""
943-
var targetReplicasPercentage *int64
941+
942+
// Comment out the following lines for further consideration with resourceUtil mode
943+
//var minScalingDown *int32
944+
//targetNameScalingDown := ""
945+
//var targetReplicasPercentage *int64
944946

945947
// Find the target number of replicas for the current stage.
946948
for _, revision := range ro.Spec.StageTargetRevisions {
947949
if revision.RevisionName == spaTargetRevName && revision.TargetReplicas != nil {
948950
targetNumberReplicas = revision.TargetReplicas
949-
targetReplicasPercentage = revision.Percent
951+
// targetReplicasPercentage = revision.Percent
950952
}
951953

952-
if revision.Direction == v1.DirectionDown {
953-
targetNameScalingDown = revision.RevisionName
954-
minScalingDown = revision.MinScale
955-
}
954+
//if revision.Direction == v1.DirectionDown {
955+
// targetNameScalingDown = revision.RevisionName
956+
// minScalingDown = revision.MinScale
957+
//}
956958
}
957959

958960
// Verify if the revision scaling down is traffic driven or not.
959-
spa, err := spaLister.Get(targetNameScalingDown)
960-
trafficDriven := true
961-
962-
if apierrs.IsNotFound(err) || (err == nil && ((spa.Status.ActualScale != nil && minScalingDown != nil &&
963-
*spa.Status.ActualScale <= *minScalingDown) ||
964-
(spa.Status.ActualScale != nil && *spa.Status.ActualScale == 0 && minScalingDown == nil))) {
965-
trafficDriven = false
966-
}
967-
968-
lastStage := false
969-
if targetReplicasPercentage != nil && *targetReplicasPercentage == 100 {
970-
lastStage = true
971-
}
972-
973-
spa, err = spaLister.Get(spaTargetRevName)
961+
// Comment out the following lines for further consideration with resourceUtil mode
962+
//spa, err := spaLister.Get(targetNameScalingDown)
963+
//trafficDriven := true
964+
//
965+
//if apierrs.IsNotFound(err) || (err == nil && ((spa.Status.ActualScale != nil && minScalingDown != nil &&
966+
// *spa.Status.ActualScale <= *minScalingDown) ||
967+
// (spa.Status.ActualScale != nil && *spa.Status.ActualScale == 0 && minScalingDown == nil))) {
968+
// trafficDriven = false
969+
//}
970+
//
971+
//lastStage := false
972+
//if targetReplicasPercentage != nil && *targetReplicasPercentage == 100 {
973+
// lastStage = true
974+
//}
975+
976+
spa, err := spaLister.Get(spaTargetRevName)
974977
// Check the number of replicas has reached the target number of replicas for the revision scaling up
975978
if apierrs.IsNotFound(err) || (err == nil && targetNumberReplicas != nil && spa.Status.ActualScale != nil &&
976979
minScale != nil && *targetNumberReplicas <= *minScale && *spa.Status.ActualScale < *targetNumberReplicas) {
@@ -980,8 +983,9 @@ func convertIntoTrafficTarget(name string, ro *v1.RolloutOrchestrator, rc *Rollo
980983
// However, if there is no issue getting yhe spa, and the actual number of replicas is less than
981984
// the target number of replicas, we need to use ro.Status.StageRevisionStatus or route.Status.Traffic
982985
// as the traffic information for the route.
983-
if strings.EqualFold(rc.ProgressiveRolloutStrategy, strategies.AvailabilityStrategy) ||
984-
(strings.EqualFold(rc.ProgressiveRolloutStrategy, strategies.ResourceUtilStrategy) && !trafficDriven && !lastStage) {
986+
if strings.EqualFold(rc.ProgressiveRolloutStrategy, strategies.AvailabilityStrategy) {
987+
// Comment out the following lines for further consideration with resourceUtil mode
988+
// || (strings.EqualFold(rc.ProgressiveRolloutStrategy, strategies.ResourceUtilStrategy) && !trafficDriven && !lastStage) {
985989
if len(ro.Status.StageRevisionStatus) > 0 {
986990
// If the ro has the StageRevisionStatus in the status, use it.
987991
revisionTarget = ro.Status.StageRevisionStatus

0 commit comments

Comments
 (0)