Check client_ca configmap needs update

This commit is contained in:
Joel Speed 2018-06-25 17:16:06 +01:00
parent c1ad6e961a
commit 4a66016389
No known key found for this signature in database
GPG Key ID: 6E80578D6751DEFB
2 changed files with 29 additions and 2 deletions

View File

@ -19,6 +19,7 @@ package master
import (
"encoding/json"
"fmt"
"reflect"
"time"
apierrors "k8s.io/apimachinery/pkg/api/errors"
@ -131,7 +132,9 @@ func writeConfigMap(client coreclient.ConfigMapsGetter, name string, data map[st
return err
}
existing.Data = data
_, err = client.ConfigMaps(metav1.NamespaceSystem).Update(existing)
if !reflect.DeepEqual(existing.Data, data) {
existing.Data = data
_, err = client.ConfigMaps(metav1.NamespaceSystem).Update(existing)
}
return err
}

View File

@ -186,6 +186,30 @@ func TestWriteClientCAs(t *testing.T) {
},
},
},
{
name: "skip on no change",
hook: ClientCARegistrationHook{
RequestHeaderUsernameHeaders: []string{},
RequestHeaderGroupHeaders: []string{},
RequestHeaderExtraHeaderPrefixes: []string{},
RequestHeaderCA: []byte("bar"),
RequestHeaderAllowedNames: []string{},
},
preexistingObjs: []runtime.Object{
&api.ConfigMap{
ObjectMeta: metav1.ObjectMeta{Namespace: metav1.NamespaceSystem, Name: "extension-apiserver-authentication"},
Data: map[string]string{
"requestheader-username-headers": `[]`,
"requestheader-group-headers": `[]`,
"requestheader-extra-headers-prefix": `[]`,
"requestheader-client-ca-file": "bar",
"requestheader-allowed-names": `[]`,
},
},
},
expectedConfigMaps: map[string]*api.ConfigMap{},
expectUpdate: false,
},
}
for _, test := range tests {