Merge pull request #625 from monopole/fix602

Reduce log messages.
This commit is contained in:
Kubernetes Prow Robot
2018-12-14 13:26:33 -08:00
committed by GitHub
4 changed files with 15 additions and 21 deletions

View File

@@ -57,7 +57,7 @@ func (rmF *Factory) FromFiles(
} }
result = append(result, res) result = append(result, res)
} }
return MergeWithoutOverride(result...) return MergeWithErrorOnIdCollision(result...)
} }
// newResMapFromBytes decodes a list of objects in byte array format. // newResMapFromBytes decodes a list of objects in byte array format.

View File

@@ -20,7 +20,6 @@ package resmap
import ( import (
"bytes" "bytes"
"fmt" "fmt"
"log"
"reflect" "reflect"
"sort" "sort"
@@ -140,9 +139,10 @@ func (m ResMap) FilterBy(inputId resid.ResId) ResMap {
return result return result
} }
// MergeWithoutOverride combines multiple ResMap instances, failing on key collision // MergeWithErrorOnIdCollision combines multiple ResMap instances, failing on
// and skipping nil maps. In case if all of the maps are nil, an empty ResMap is returned. // key collision and skipping nil maps.
func MergeWithoutOverride(maps ...ResMap) (ResMap, error) { // If all of the maps are nil, an empty ResMap is returned.
func MergeWithErrorOnIdCollision(maps ...ResMap) (ResMap, error) {
result := ResMap{} result := ResMap{}
for _, m := range maps { for _, m := range maps {
if m == nil { if m == nil {
@@ -164,10 +164,10 @@ func MergeWithoutOverride(maps ...ResMap) (ResMap, error) {
// "replace" option in its generation instructions, meaning it is supposed // "replace" option in its generation instructions, meaning it is supposed
// to replace something from the raw resources list. // to replace something from the raw resources list.
// If all of the maps are nil, an empty ResMap is returned. // If all of the maps are nil, an empty ResMap is returned.
// When looping over the instances to combine them, if a resource id for resource X // When looping over the instances to combine them, if a resource id for
// is found to be already in the combined map, then the behavior field for X // resource X is found to be already in the combined map, then the behavior
// must be BehaviorMerge or BehaviorReplace. If X is not in the map, then it's // field for X must be BehaviorMerge or BehaviorReplace. If X is not in the
// behavior cannot be merge or replace. // map, then it's behavior cannot be merge or replace.
func MergeWithOverride(maps ...ResMap) (ResMap, error) { func MergeWithOverride(maps ...ResMap) (ResMap, error) {
result := maps[0] result := maps[0]
if result == nil { if result == nil {
@@ -183,18 +183,12 @@ func MergeWithOverride(maps ...ResMap) (ResMap, error) {
id = matchedId[0] id = matchedId[0]
switch r.Behavior() { switch r.Behavior() {
case ifc.BehaviorReplace: case ifc.BehaviorReplace:
log.Printf(
"Replace %v with %v", result[id].Map(), r.Map())
r.Replace(result[id]) r.Replace(result[id])
result[id] = r result[id] = r
result[id].SetBehavior(ifc.BehaviorCreate) result[id].SetBehavior(ifc.BehaviorCreate)
case ifc.BehaviorMerge: case ifc.BehaviorMerge:
log.Printf(
"Merging %v with %v", result[id].Map(), r.Map())
r.Merge(result[id]) r.Merge(result[id])
result[id] = r result[id] = r
log.Printf(
"Merged object is %v", result[id].Map())
result[id].SetBehavior(ifc.BehaviorCreate) result[id].SetBehavior(ifc.BehaviorCreate)
default: default:
return nil, fmt.Errorf("id %#v exists; must merge or replace", id) return nil, fmt.Errorf("id %#v exists; must merge or replace", id)

View File

@@ -410,7 +410,7 @@ func TestMergeWithoutOverride(t *testing.T) {
}, },
}), }),
} }
merged, err := MergeWithoutOverride(input...) merged, err := MergeWithErrorOnIdCollision(input...)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -418,7 +418,7 @@ func TestMergeWithoutOverride(t *testing.T) {
t.Fatalf("%#v doesn't equal expected %#v", merged, expected) t.Fatalf("%#v doesn't equal expected %#v", merged, expected)
} }
input3 := []ResMap{merged, nil} input3 := []ResMap{merged, nil}
merged1, err := MergeWithoutOverride(input3...) merged1, err := MergeWithErrorOnIdCollision(input3...)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
@@ -426,7 +426,7 @@ func TestMergeWithoutOverride(t *testing.T) {
t.Fatalf("%#v doesn't equal expected %#v", merged1, expected) t.Fatalf("%#v doesn't equal expected %#v", merged1, expected)
} }
input4 := []ResMap{nil, merged} input4 := []ResMap{nil, merged}
merged2, err := MergeWithoutOverride(input4...) merged2, err := MergeWithErrorOnIdCollision(input4...)
if err != nil { if err != nil {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }

View File

@@ -218,7 +218,7 @@ func (kt *KustTarget) generateConfigMapsAndSecrets(
if err != nil { if err != nil {
errs.Append(errors.Wrap(err, "NewResMapFromSecretArgs")) errs.Append(errors.Wrap(err, "NewResMapFromSecretArgs"))
} }
return resmap.MergeWithoutOverride(cms, secrets) return resmap.MergeWithErrorOnIdCollision(cms, secrets)
} }
// Gets Bases and Resources as advertised. // Gets Bases and Resources as advertised.
@@ -232,7 +232,7 @@ func (kt *KustTarget) loadResMapFromBasesAndResources() (resmap.ResMap, error) {
if len(errs.Get()) > 0 { if len(errs.Get()) > 0 {
return nil, errs return nil, errs
} }
return resmap.MergeWithoutOverride(resources, bases) return resmap.MergeWithErrorOnIdCollision(resources, bases)
} }
// Loop through the Bases of this kustomization recursively loading resources. // Loop through the Bases of this kustomization recursively loading resources.
@@ -261,7 +261,7 @@ func (kt *KustTarget) loadCustomizedBases() (resmap.ResMap, *interror.Kustomizat
ldr.Cleanup() ldr.Cleanup()
list = append(list, resMap) list = append(list, resMap)
} }
result, err := resmap.MergeWithoutOverride(list...) result, err := resmap.MergeWithErrorOnIdCollision(list...)
if err != nil { if err != nil {
errs.Append(errors.Wrap(err, "Merge failed")) errs.Append(errors.Wrap(err, "Merge failed"))
} }