From 12301ae319cef8c5c59e044e6c078644416ff8c9 Mon Sep 17 00:00:00 2001 From: Robert Pothier Date: Fri, 5 Jan 2018 14:28:42 -0500 Subject: [PATCH] Kubeadm: clean up MarshalToYamlForCodecs Proxy will use PrintBytesWithLinePrefix to indent. --- cmd/kubeadm/app/phases/addons/proxy/proxy.go | 7 +++++-- cmd/kubeadm/app/util/marshal.go | 16 ---------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/cmd/kubeadm/app/phases/addons/proxy/proxy.go b/cmd/kubeadm/app/phases/addons/proxy/proxy.go index e8f71d11be1..2f47aa15547 100644 --- a/cmd/kubeadm/app/phases/addons/proxy/proxy.go +++ b/cmd/kubeadm/app/phases/addons/proxy/proxy.go @@ -17,6 +17,7 @@ limitations under the License. package proxy import ( + "bytes" "fmt" "runtime" @@ -57,11 +58,13 @@ func EnsureProxyAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Inte return err } - proxyBytes, err := kubeadmutil.MarshalToYamlForCodecsWithShift(cfg.KubeProxy.Config, kubeproxyconfigv1alpha1.SchemeGroupVersion, + proxyBytes, err := kubeadmutil.MarshalToYamlForCodecs(cfg.KubeProxy.Config, kubeproxyconfigv1alpha1.SchemeGroupVersion, kubeproxyconfigscheme.Codecs) if err != nil { return fmt.Errorf("error when marshaling: %v", err) } + var prefixBytes bytes.Buffer + apiclient.PrintBytesWithLinePrefix(&prefixBytes, proxyBytes, " ") var proxyConfigMapBytes, proxyDaemonSetBytes []byte proxyConfigMapBytes, err = kubeadmutil.ParseTemplate(KubeProxyConfigMap19, struct { @@ -69,7 +72,7 @@ func EnsureProxyAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Inte ProxyConfig string }{ MasterEndpoint: masterEndpoint, - ProxyConfig: proxyBytes, + ProxyConfig: prefixBytes.String(), }) if err != nil { return fmt.Errorf("error when parsing kube-proxy configmap template: %v", err) diff --git a/cmd/kubeadm/app/util/marshal.go b/cmd/kubeadm/app/util/marshal.go index 907a0f17794..67281d04732 100644 --- a/cmd/kubeadm/app/util/marshal.go +++ b/cmd/kubeadm/app/util/marshal.go @@ -18,7 +18,6 @@ package util import ( "fmt" - "strings" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -42,18 +41,3 @@ func MarshalToYamlForCodecs(obj runtime.Object, gv schema.GroupVersion, codecs s encoder := codecs.EncoderForVersion(info.Serializer, gv) return runtime.Encode(encoder, obj) } - -// MarshalToYamlForCodecsWithShift adds spaces in front of each line so the indents line up -// correctly in the manifest -func MarshalToYamlForCodecsWithShift(obj runtime.Object, gv schema.GroupVersion, codecs serializer.CodecFactory) (string, error) { - serial, err := MarshalToYamlForCodecs(obj, gv, codecs) - if err != nil { - return "", err - } - lines := strings.Split(string(serial), "\n") - var newSerial string - for _, line := range lines { - newSerial = newSerial + " " + line + "\n" - } - return newSerial, err -}