fix: add logging when configmap not exists

This commit is contained in:
yufei.li
2022-10-31 19:12:25 +08:00
parent 0d7c56dcf8
commit 0235f10b09
2 changed files with 26 additions and 11 deletions

View File

@@ -6,6 +6,7 @@ package remove
import (
"errors"
"fmt"
"log"
"strings"
"github.com/spf13/cobra"
@@ -67,12 +68,25 @@ func (o *removeConfigMapOptions) RunRemoveConfigMap(fSys filesys.FileSystem) err
}
var newConfigMaps []types.ConfigMapArgs
for _, configMap := range m.ConfigMapGenerator {
if kustfile.StringInSlice(configMap.Name, o.configMapNames) {
foundConfigMaps := make(map[string]bool)
for _, removeName := range o.configMapNames {
foundConfigMaps[removeName] = false
}
for _, currentConfigMap := range m.ConfigMapGenerator {
if kustfile.StringInSlice(currentConfigMap.Name, o.configMapNames) {
foundConfigMaps[currentConfigMap.Name] = true
continue
}
newConfigMaps = append(newConfigMaps, configMap)
newConfigMaps = append(newConfigMaps, currentConfigMap)
}
for name, found := range foundConfigMaps {
if !found {
log.Printf("configmap %s doesn't exist in kustomization file", name)
}
}
m.ConfigMapGenerator = newConfigMaps
return mf.Write(m)
}

View File

@@ -14,7 +14,8 @@ import (
)
func TestRemoveConfigMap(t *testing.T) {
const configMapName = "example-configmap"
const configMapName01 = "example-configmap-01"
const configMapName02 = "example-configmap-02"
tests := map[string]struct {
input string
@@ -29,23 +30,23 @@ configMapGenerator:
- name: %s
files:
- application.properties
`, configMapName),
args: []string{configMapName},
`, configMapName01),
args: []string{configMapName01},
},
"multiple": {
input: fmt.Sprintf(`
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
configMapGenerator:
- name: %s-01
- name: %s
files:
- application.properties
- name: %s-02
- name: %s
files:
- application.properties
`, configMapName, configMapName),
`, configMapName01, configMapName02),
args: []string{
fmt.Sprintf("%s-01,%s-02", configMapName, configMapName),
fmt.Sprintf("%s,%s", configMapName01, configMapName02),
},
},
"miss": {
@@ -56,7 +57,7 @@ configMapGenerator:
- name: %s
files:
- application.properties
`, configMapName),
`, configMapName01),
args: []string{"foo"},
},
}