mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-22 10:06:15 +00:00
Default extensions/v1beta1 Deployment's RevisionHistoryLimit to MaxInt32
This commit is contained in:
parent
fbb2dfcc6a
commit
1f921760d6
@ -118,6 +118,12 @@ func SetDefaults_Deployment(obj *extensionsv1beta1.Deployment) {
|
|||||||
obj.Spec.ProgressDeadlineSeconds = new(int32)
|
obj.Spec.ProgressDeadlineSeconds = new(int32)
|
||||||
*obj.Spec.ProgressDeadlineSeconds = math.MaxInt32
|
*obj.Spec.ProgressDeadlineSeconds = math.MaxInt32
|
||||||
}
|
}
|
||||||
|
// Set extensionsv1beta1.DeploymentSpec.RevisionHistoryLimit to MaxInt32,
|
||||||
|
// which has the same meaning as unset.
|
||||||
|
if obj.Spec.RevisionHistoryLimit == nil {
|
||||||
|
obj.Spec.RevisionHistoryLimit = new(int32)
|
||||||
|
*obj.Spec.RevisionHistoryLimit = math.MaxInt32
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetDefaults_ReplicaSet(obj *extensionsv1beta1.ReplicaSet) {
|
func SetDefaults_ReplicaSet(obj *extensionsv1beta1.ReplicaSet) {
|
||||||
|
@ -191,6 +191,7 @@ func TestSetDefaultDeployment(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Template: defaultTemplate,
|
Template: defaultTemplate,
|
||||||
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
|
RevisionHistoryLimit: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -217,6 +218,7 @@ func TestSetDefaultDeployment(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Template: defaultTemplate,
|
Template: defaultTemplate,
|
||||||
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
|
RevisionHistoryLimit: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -242,6 +244,7 @@ func TestSetDefaultDeployment(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Template: defaultTemplate,
|
Template: defaultTemplate,
|
||||||
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
|
RevisionHistoryLimit: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -262,6 +265,7 @@ func TestSetDefaultDeployment(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Template: defaultTemplate,
|
Template: defaultTemplate,
|
||||||
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
ProgressDeadlineSeconds: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
|
RevisionHistoryLimit: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -283,6 +287,7 @@ func TestSetDefaultDeployment(t *testing.T) {
|
|||||||
},
|
},
|
||||||
Template: defaultTemplate,
|
Template: defaultTemplate,
|
||||||
ProgressDeadlineSeconds: utilpointer.Int32Ptr(30),
|
ProgressDeadlineSeconds: utilpointer.Int32Ptr(30),
|
||||||
|
RevisionHistoryLimit: utilpointer.Int32Ptr(math.MaxInt32),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -424,7 +424,7 @@ func (dc *DeploymentController) scaleReplicaSet(rs *apps.ReplicaSet, newScale in
|
|||||||
// where N=d.Spec.RevisionHistoryLimit. Old replica sets are older versions of the podtemplate of a deployment kept
|
// where N=d.Spec.RevisionHistoryLimit. Old replica sets are older versions of the podtemplate of a deployment kept
|
||||||
// around by default 1) for historical reasons and 2) for the ability to rollback a deployment.
|
// around by default 1) for historical reasons and 2) for the ability to rollback a deployment.
|
||||||
func (dc *DeploymentController) cleanupDeployment(oldRSs []*apps.ReplicaSet, deployment *apps.Deployment) error {
|
func (dc *DeploymentController) cleanupDeployment(oldRSs []*apps.ReplicaSet, deployment *apps.Deployment) error {
|
||||||
if deployment.Spec.RevisionHistoryLimit == nil {
|
if !deploymentutil.HasRevisionHistoryLimit(deployment) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package deployment
|
package deployment
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -393,6 +394,16 @@ func TestDeploymentController_cleanupDeployment(t *testing.T) {
|
|||||||
revisionHistoryLimit: 0,
|
revisionHistoryLimit: 0,
|
||||||
expectedDeletions: 0,
|
expectedDeletions: 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// with unlimited revisionHistoryLimit
|
||||||
|
oldRSs: []*apps.ReplicaSet{
|
||||||
|
newRSWithStatus("foo-1", 0, 0, selector),
|
||||||
|
newRSWithStatus("foo-2", 0, 0, selector),
|
||||||
|
newRSWithStatus("foo-3", 0, 0, selector),
|
||||||
|
},
|
||||||
|
revisionHistoryLimit: math.MaxInt32,
|
||||||
|
expectedDeletions: 0,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := range tests {
|
for i := range tests {
|
||||||
@ -418,6 +429,7 @@ func TestDeploymentController_cleanupDeployment(t *testing.T) {
|
|||||||
defer close(stopCh)
|
defer close(stopCh)
|
||||||
informers.Start(stopCh)
|
informers.Start(stopCh)
|
||||||
|
|
||||||
|
t.Logf(" &test.revisionHistoryLimit: %d", test.revisionHistoryLimit)
|
||||||
d := newDeployment("foo", 1, &test.revisionHistoryLimit, nil, nil, map[string]string{"foo": "bar"})
|
d := newDeployment("foo", 1, &test.revisionHistoryLimit, nil, nil, map[string]string{"foo": "bar"})
|
||||||
controller.cleanupDeployment(test.oldRSs, d)
|
controller.cleanupDeployment(test.oldRSs, d)
|
||||||
|
|
||||||
|
@ -886,3 +886,6 @@ func ResolveFenceposts(maxSurge, maxUnavailable *intstrutil.IntOrString, desired
|
|||||||
func HasProgressDeadline(d *apps.Deployment) bool {
|
func HasProgressDeadline(d *apps.Deployment) bool {
|
||||||
return d.Spec.ProgressDeadlineSeconds != nil && *d.Spec.ProgressDeadlineSeconds != math.MaxInt32
|
return d.Spec.ProgressDeadlineSeconds != nil && *d.Spec.ProgressDeadlineSeconds != math.MaxInt32
|
||||||
}
|
}
|
||||||
|
func HasRevisionHistoryLimit(d *apps.Deployment) bool {
|
||||||
|
return d.Spec.RevisionHistoryLimit != nil && *d.Spec.RevisionHistoryLimit != math.MaxInt32
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user