From 3ff79da50cd4f02cb789eee12461ad70ba151303 Mon Sep 17 00:00:00 2001 From: ACXLM Date: Tue, 2 Jun 2020 13:55:43 +0800 Subject: [PATCH 1/2] fix cfg is none, load kube config error Signed-off-by: zhu hui --- config/kube_config.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/kube_config.py b/config/kube_config.py index 436767281..cb7a9bb30 100644 --- a/config/kube_config.py +++ b/config/kube_config.py @@ -663,9 +663,8 @@ class KubeConfigMerger: for item in ('clusters', 'contexts', 'users'): config_merged[item] = [] self.config_merged = ConfigNode(path, config_merged, path) - for item in ('clusters', 'contexts', 'users'): - self._merge(item, config.get(item, {}), path) + self._merge(item, config.get(item, []) or [], path) self.config_files[path] = config def _merge(self, item, add_cfg, path): From 30d9e2af1cb7d1416ba4e4f3ddc3c36653b7284f Mon Sep 17 00:00:00 2001 From: ACXLM Date: Tue, 9 Jun 2020 17:53:06 +0800 Subject: [PATCH 2/2] change test case --- config/kube_config_test.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/config/kube_config_test.py b/config/kube_config_test.py index c8a4c93bb..792d4bde5 100644 --- a/config/kube_config_test.py +++ b/config/kube_config_test.py @@ -1342,7 +1342,7 @@ class TestKubeConfigLoader(BaseTestCase): actual = _get_kube_config_loader_for_yaml_file(config_file, persist_config=True) self.assertTrue(callable(actual._config_persister)) - self.assertEquals(actual._config_persister.__name__, "save_changes") + self.assertEqual(actual._config_persister.__name__, "save_changes") class TestKubernetesClientConfiguration(BaseTestCase): @@ -1517,6 +1517,26 @@ class TestKubeConfigMerger(BaseTestCase): } ] } + TEST_KUBE_CONFIG_PART6 = { + "current-context": "no_user", + "contexts": [ + { + "name": "no_user", + "context": { + "cluster": "default" + } + }, + ], + "clusters": [ + { + "name": "default", + "cluster": { + "server": TEST_HOST + } + }, + ], + "users": None + } def _create_multi_config(self): files = [] @@ -1525,7 +1545,8 @@ class TestKubeConfigMerger(BaseTestCase): self.TEST_KUBE_CONFIG_PART2, self.TEST_KUBE_CONFIG_PART3, self.TEST_KUBE_CONFIG_PART4, - self.TEST_KUBE_CONFIG_PART5): + self.TEST_KUBE_CONFIG_PART5, + self.TEST_KUBE_CONFIG_PART6): files.append(self._create_temp_file(yaml.safe_dump(part))) return ENV_KUBECONFIG_PATH_SEPARATOR.join(files)