These files define clusters, contexts, and users each on their own.
What you expected to happen:
The load_kube_config call should behave just like kubectl which merges all files first and then attempts to load them and thus does not care about the order of these files.
How to reproduce it (as minimally and precisely as possible):
What happened (please include outputs or screenshots):
Calling
config.load_kube_config()
with a KUBECONFIG that uses colon delimited files throws an error:The code that causes this is just:
KUBECONFIG
is defined as follows:These files define clusters, contexts, and users each on their own.
What you expected to happen:
The
load_kube_config
call should behave just like kubectl which merges all files first and then attempts to load them and thus does not care about the order of these files.How to reproduce it (as minimally and precisely as possible):
Create 3 files for cluster, context, and user:
Then define
KUBECONFIG
to something likecluster.yaml:context.yaml:user.yaml
.Anything else we need to know?:
Changing the order of these files so that the context file is at the first position fixes this!
Support for colon separated files was introduced with https://github.com/kubernetes-client/python/issues/636 (?)
Environment:
kubectl version
): v1.29.0python --version
): 3.11.7pip list | grep kubernetes
): 29.0.0