Bug 1571933

Summary: Editing node-config configmaps is very error-prone
Product: OpenShift Container Platform Reporter: Mike Fiedler <mifiedle>
Component: RFEAssignee: Maciej Szulik <maszulik>
Status: CLOSED DUPLICATE QA Contact: Xiaoli Tian <xtian>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.10.0CC: aos-bugs, hongkliu, jeder, jokerman, mfojtik, mmccomas, wmeng
Target Milestone: ---   
Target Release: 3.12.0   
Hardware: x86_64   
OS: Linux   
Whiteboard: aos-scalability-310
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-18 11:04:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mike Fiedler 2018-04-25 18:28:41 UTC
Description of problem:

Editing the node-config ConfigMaps in the current format is very error prone.   oc get configmap node-config-compute or oc edit cm node-config-compute gives you this block of text to edit:

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  max-pods:\n  -                                                           
    \"510\"\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/compute=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                    

Finding the section in the yaml where a configuration item needs to go (in my case the max-pods KubeletArgument) is difficult and then getting it formatted as yaml within a block that has no visual cues is nearly impossible to get correct the first time.

Version-Release number of selected component (if applicable): 3.10.0-0.27.0


How reproducible: Always


Steps to Reproduce:
1.  oc edit -n openshift-node node-config-compute
2.  try to add the max-pods kubelet flag
3.

Comment 1 Michal Fojtik 2018-04-26 10:23:37 UTC
Moving to CLI as this is general CLI problem where we want to improve editing YAML inside config maps.

Comment 2 Michal Fojtik 2018-04-26 10:24:12 UTC
(converting to RFE)

Comment 3 Maciej Szulik 2018-12-18 11:04:55 UTC

*** This bug has been marked as a duplicate of bug 1569870 ***