feature<rollout> When the data type of spec.replicas is int, cancel the upper limit of 100. #141

Signed-off-by: zhousong <zhousong@onething.net>
This commit is contained in:
zhousong 2023-05-06 15:27:05 +08:00
parent c8ecfda823
commit bc3ed6213e
2 changed files with 10 additions and 2 deletions

View File

@ -240,9 +240,11 @@ func validateRolloutSpecCanarySteps(steps []appsv1alpha1.CanaryStep, fldPath *fi
}
if s.Replicas != nil {
canaryReplicas, err := intstr.GetScaledValueFromIntOrPercent(s.Replicas, 100, true)
if err != nil || canaryReplicas <= 0 || canaryReplicas > 100 {
if err != nil ||
canaryReplicas <= 0 ||
(canaryReplicas > 100 && s.Replicas.Type == intstr.String) {
return field.ErrorList{field.Invalid(fldPath.Index(i).Child("CanaryReplicas"),
s.Replicas, `canaryReplicas must be positive number with with "0" < canaryReplicas <= "100", or a percentage with "0%" < canaryReplicas <= "100%"`)}
s.Replicas, `canaryReplicas must be positive number, or a percentage with "0%" < canaryReplicas <= "100%"`)}
}
}
}

View File

@ -72,6 +72,12 @@ var (
{
Weight: utilpointer.Int32Ptr(100),
},
{
Weight: utilpointer.Int32Ptr(101),
},
{
Weight: utilpointer.Int32Ptr(200),
},
},
TrafficRoutings: []*appsv1alpha1.TrafficRouting{
{