From 40a32456af1ab8b3355e1df84dc7e83c4f0e090f Mon Sep 17 00:00:00 2001 From: ignertic Date: Sun, 28 Oct 2018 08:53:50 +0200 Subject: [PATCH 1/2] Add files via upload Fix-599: FileNotFound for multiple config files --- config/kube_config.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/config/kube_config.py b/config/kube_config.py index a5396b95..6e18d383 100644 --- a/config/kube_config.py +++ b/config/kube_config.py @@ -481,11 +481,17 @@ def _get_kube_config_loader_for_yaml_file(filename, **kwargs): config_base_path=os.path.abspath(os.path.dirname(filename)), **kwargs) +def _config_last_modified_time(file): + stat = os.stat(file) + return stat.st_mtime def list_kube_config_contexts(config_file=None): if config_file is None: - config_file = os.path.expanduser(KUBE_CONFIG_DEFAULT_LOCATION) + config_files = KUBE_CONFIG_DEFAULT_LOCATION.split(":") + config_file_mtimes = map(_config_last_modified_time, config_files) + # grab the last modified config file + config_file = config_files[config_file_mtime.index(max(config_file_mtimes))] #os.path.expanduser(KUBE_CONFIG_DEFAULT_LOCATION) loader = _get_kube_config_loader_for_yaml_file(config_file) return loader.list_contexts(), loader.current_context From e226cbe50242986f1e4d4b4b6c9f5df426f39537 Mon Sep 17 00:00:00 2001 From: ignertic Date: Sun, 28 Oct 2018 08:58:53 +0200 Subject: [PATCH 2/2] Fix-599: Multiple Config Files load_kube_config() uses last modified config file using the os.stat