forked from github/multus-cni
* types: fix usage of strings.Split() for parsing CNI_ARGS strings.Split() returns a slice, in this case with two elements of the key and value. As such we shouldn't range over the slice when the code is expecting a 2-element slice of key/value. Otherwise we get errors for valid CNI_ARGS like: 2022-04-22T11:53:54Z [error] CreateCNIRuntimeConf: CNI_ARGS K8S_POD_NAMESPACE=openshift-etcd K8S_POD_NAMESPACE 17 is not recognized as CNI arg, skipped 2022-04-22T11:53:54Z [error] CreateCNIRuntimeConf: CNI_ARGS K8S_POD_NAMESPACE=openshift-etcd openshift-etcd 14 is not recognized as CNI arg, skipped Fixes: d7d2a99ab5b8 ("Replace setenv with runtimeConfig set") Signed-off-by: Dan Williams <dcbw@redhat.com> * types/conf: fix handling of CNI_ARGS additions to rt.Args We want to set the CNI_ARGS value in rt.Args if the existing value is empty, not if the key doesn't exist yet. Since the rt.Args array is pre-created with the K8S args keys, empty values of those keys couldn't be overwritten with the previous scheme that just checked if the key existed. If the CNI_ARGS key wasn't found in rt.Args then add it; previously a typo ("isExists != false") prevented that with inverted logic. Signed-off-by: Dan Williams <dcbw@redhat.com>