Skip to content

Commit

Permalink
Do not try to merge deprecated replication controller spec fields wit…
Browse files Browse the repository at this point in the history
…h new ones, mixed use-cases are now prevented
  • Loading branch information
pdecat committed Nov 12, 2018
1 parent a7e4d62 commit 899e08e
Showing 1 changed file with 14 additions and 18 deletions.
32 changes: 14 additions & 18 deletions kubernetes/structures_replication_controller.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package kubernetes

import (
"github.com/imdario/mergo"
"k8s.io/api/core/v1"
)

Expand Down Expand Up @@ -70,24 +69,21 @@ func expandReplicationControllerTemplate(rct []interface{}, selector map[string]
}
obj.ObjectMeta = metadata

// Get pod spec from new fields
podSpec, err := expandPodSpec(in["spec"].([]interface{}))
if err != nil {
return obj, err
}

// Get pod spec from deprecated fields
podSpecDeprecated, err := expandPodSpec(rct)
if err != nil {
return obj, err
}

// Merge them overriding the new ones by the deprecated ones
if err := mergo.MergeWithOverwrite(&podSpec, podSpecDeprecated); err != nil {
return obj, err
if len(in["spec"].([]interface{})) > 0 {
// Get pod spec from new fields
podSpec, err := expandPodSpec(in["spec"].([]interface{}))
if err != nil {
return obj, err
}
obj.Spec = podSpec
} else {
// Get pod spec from deprecated fields
podSpecDeprecated, err := expandPodSpec(rct)
if err != nil {
return obj, err
}
obj.Spec = podSpecDeprecated
}

obj.Spec = podSpec

return obj, nil
}

0 comments on commit 899e08e

Please sign in to comment.