Description of problem: The content in configmap is hard to read and maintain and is error-prone. Version-Release number of the following components: openshift-ansible-3.10.0-0.22.0.git.0.b6ec617.el7 How reproducible: Always Steps to Reproduce: 1. try to modify configmap # oc edit cm node-config-master -n openshift-node Actual results: apiVersion: v1 data: node-config.yaml: "kind: NodeConfig\napiVersion: v1\nauthConfig:\n authenticationCacheSize: 1000\n authenticationCacheTTL: 5m\n authorizationCacheSize: 1000\n authorizationCacheTTL: 5m\ndnsBindAddress: \"127.0.0.1:53\"\ndnsDomain: cluster.local\ndnsIP: 0.0.0.0\ndnsNameservers: null\ndnsRecursiveResolvConf: /etc/origin/node/resolv.conf\ndockerConfig:\n dockerShimRootDirectory: /var/lib/dockershim\n dockerShimSocket: /var/run/dockershim.sock\n execHandlerName: native\nenableUnidling: true\nimageConfig:\n format: \"registry.reg-aws.openshift.com:443/openshift3/ose-${component}:v3.10\"\n \ latest: false\niptablesSyncPeriod: 30s\nkubeletArguments:\n pod-manifest-path:\n \ - /etc/origin/node/pods\n bootstrap-kubeconfig:\n - /etc/origin/node/bootstrap.kubeconfig\n \ feature-gates:\n - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true\n \ rotate-certificates:\n - \"true\"\n cert-dir:\n - /etc/origin/node/certificates\n \ cloud-config:\n - /etc/origin/cloudprovider/aws.conf\n cloud-provider:\n - aws\n node-labels: \n - \"node-role.kubernetes.io/master=true\"\n enable-controller-attach-detach:\n \ - 'true'\nmasterClientConnectionOverrides:\n acceptContentTypes: application/vnd.kubernetes.protobuf,application/json\n \ burst: 40\n contentType: application/vnd.kubernetes.protobuf\n qps: 20\nmasterKubeConfig: node.kubeconfig\nnetworkConfig:\n mtu: 8951\n networkPluginName: redhat/openshift-ovs-networkpolicy\nservingInfo:\n \ bindAddress: 0.0.0.0:10250\n bindNetwork: tcp4\n clientCA: client-ca.crt\nvolumeConfig:\n \ localQuota:\n perFSGroup: null\nvolumeDirectory: /var/lib/origin/openshift.local.volumes\n" kind: ConfigMap Expected results: style easy to read and understand by human kind: NodeConfig apiVersion: v1 authConfig: authenticationCacheSize: 1000 authenticationCacheTTL: 5m authorizationCacheSize: 1000 authorizationCacheTTL: 5m dnsBindAddress: "127.0.0.1:53" dnsDomain: cluster.local dnsIP: 0.0.0.0 dnsNameservers: null dnsRecursiveResolvConf: /etc/origin/node/resolv.conf dockerConfig: dockerShimRootDirectory: /var/lib/dockershim dockerShimSocket: /var/run/dockershim.sock execHandlerName: native enableUnidling: true imageConfig: format: "registry.reg-aws.openshift.com:443/openshift3/ose-${component}:v3.10" latest: false iptablesSyncPeriod: 30s
Better use literal block scalar styles instead of the strings. # oc get cm -n openshift-template-service-broker apiserver-config -o yaml apiVersion: v1 data: apiserver-config.yaml: | kind: TemplateServiceBrokerConfig apiVersion: config.templateservicebroker.openshift.io/v1 templateNamespaces: - openshift kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"apiserver-config.yaml":"kind: TemplateServiceBrokerConfig\napiVersion: config.templateservicebroker.openshift.io/v1\ntemplateNamespaces:\n- openshift\n"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"apiserver-config","namespace":"openshift-template-service-broker"}} creationTimestamp: 2018-04-20T03:37:03Z name: apiserver-config namespace: openshift-template-service-broker resourceVersion: "2720" selfLink: /api/v1/namespaces/openshift-template-service-broker/configmaps/apiserver-config uid: 1756c6b6-444c-11e8-adbc-42010af00059
Currently we can use below command to update a node-config.yaml for configmap: 1. oc extract cm/node-config-compute -n openshift-node --to=/tmp 2. Update the extracted file in local (eg: vim /tmp/node-config.yaml) 3. oc create cm node-config-compute -n openshift-node --from-file=/tmp/node-config.yaml --dry-run -o yaml | oc replace -f -
*** Bug 1571933 has been marked as a duplicate of this bug. ***
I'm going to convert this to RFE, similarly how https://bugzilla.redhat.com/show_bug.cgi?id=1571933 was. Also moving the target date for 4.1 or even later, this was discussed upstream but there are not action in that direction, yet.
Moving to JIRA: https://jira.coreos.com/browse/MSTR-282