Unhandled exception when we check k8s config
dgzlopes opened this issue Β· comments
Daniel GonzΓ‘lez Lopes commented
Describe the bug
Unhandled exception when we check k8s config.
To Reproduce
One way to reproduce the behavior:
β ~ minikube delete
π₯ Deleting "minikube" in docker ...
π₯ Deleting container "minikube" ...
π₯ Removing /home/dgzlopes/.minikube/machines/minikube ...
π Removed all traces of the "minikube" cluster.
β powerfulseal git:(master) β powerfulseal autonomous --policy-file=policy.yml
2020-07-08 22:38:37 INFO __main__ verbosity: None; log level: INFO; handler level: INFO
2020-07-08 22:38:37 INFO __main__ Creating kubernetes client with config /home/dgzlopes/.kube/config (path found for backwards compatibility)
Traceback (most recent call last):
File "/home/dgzlopes/.pyenv/versions/3.8.3/bin/powerfulseal", line 33, in <module>
sys.exit(load_entry_point('powerfulseal', 'console_scripts', 'powerfulseal')())
File "/home/dgzlopes/dnascimento/powerfulseal/powerfulseal/cli/__main__.py", line 656, in start
main(sys.argv[1:])
File "/home/dgzlopes/dnascimento/powerfulseal/powerfulseal/cli/__main__.py", line 482, in main
k8s_client = K8sClient(kube_config=kube_config)
File "/home/dgzlopes/dnascimento/powerfulseal/powerfulseal/k8s/k8s_client.py", line 32, in __init__
kubernetes.config.load_kube_config(config_file=kube_config)
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/kube_config.py", line 737, in load_kube_config
loader = _get_kube_config_loader_for_yaml_file(
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/kube_config.py", line 704, in _get_kube_config_loader_for_yaml_file
return KubeConfigLoader(
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/kube_config.py", line 197, in __init__
self.set_active_context(active_context)
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/kube_config.py", line 249, in set_active_context
self._current_context = self._config['contexts'].get_with_name(
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/kube_config.py", line 623, in get_with_name
raise ConfigException(
kubernetes.config.config_exception.ConfigException: Invalid kube-config file. Expected object with name in /home/dgzlopes/.kube/config/contexts list
Environment (please complete the following information):
β powerfulseal git:(master) β powerfulseal -V
powerfulseal 3.0.0rc9
Mikolaj Pawlikowski commented
It seems to have found the kubeconfig:
2020-07-08 22:38:37 INFO __main__ Creating kubernetes client with config /home/dgzlopes/.kube/config (path found for backwards compatibility)
But yeah, we should make the error more pretty.
Daniel GonzΓ‘lez Lopes commented
Yep, we should improve the error.
It can be triggered in some other ways:
β powerfulseal git:(crd) β powerfulseal autonomous --policy-file=policy.yml
2020-07-08 23:10:10 INFO __main__ verbosity: None; log level: INFO; handler level: INFO
2020-07-08 23:10:10 INFO __main__ Creating kubernetes client with in-cluster config
Traceback (most recent call last):
File "/home/dgzlopes/.pyenv/versions/3.8.3/bin/powerfulseal", line 33, in <module>
sys.exit(load_entry_point('powerfulseal', 'console_scripts', 'powerfulseal')())
File "/home/dgzlopes/dnascimento/powerfulseal/powerfulseal/cli/__main__.py", line 656, in start
main(sys.argv[1:])
File "/home/dgzlopes/dnascimento/powerfulseal/powerfulseal/cli/__main__.py", line 482, in main
k8s_client = K8sClient(kube_config=kube_config)
File "/home/dgzlopes/dnascimento/powerfulseal/powerfulseal/k8s/k8s_client.py", line 34, in __init__
kubernetes.config.load_incluster_config()
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/incluster_config.py", line 93, in load_incluster_config
InClusterConfigLoader(token_filename=SERVICE_TOKEN_FILENAME,
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/incluster_config.py", line 45, in load_and_set
self._load_config()
File "/home/dgzlopes/.pyenv/versions/3.8.3/lib/python3.8/site-packages/kubernetes/config/incluster_config.py", line 51, in _load_config
raise ConfigException("Service host/port is not set.")
kubernetes.config.config_exception.ConfigException: Service host/port is not set.