Plumb old pod spec into DropDisabledFields methods

This commit is contained in:
Jordan Liggitt
2018-12-17 12:49:29 -05:00
parent 49028df5f9
commit e486d486b1
11 changed files with 88 additions and 40 deletions

View File

@@ -81,7 +81,7 @@ func (rcStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) {
controller.Generation = 1
if controller.Spec.Template != nil {
pod.DropDisabledFields(&controller.Spec.Template.Spec)
pod.DropDisabledFields(&controller.Spec.Template.Spec, nil)
}
}
@@ -92,12 +92,16 @@ func (rcStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object)
// update is not allowed to set status
newController.Status = oldController.Status
var newSpec, oldSpec *api.PodSpec
if oldController.Spec.Template != nil {
pod.DropDisabledFields(&oldController.Spec.Template.Spec)
oldSpec = &oldController.Spec.Template.Spec
}
if newController.Spec.Template != nil {
pod.DropDisabledFields(&newController.Spec.Template.Spec)
newSpec = &newController.Spec.Template.Spec
} else {
newSpec = &api.PodSpec{}
}
pod.DropDisabledFields(newSpec, oldSpec)
// Any changes to the spec increment the generation number, any changes to the
// status should reflect the generation number of the corresponding object. We push