Merge pull request #198 from ACXLM/fix/load-kube-config

fix cfg is none, load kube config error
This commit is contained in:
Kubernetes Prow Robot 2020-06-25 10:10:38 -07:00 committed by GitHub
commit 3ea80032c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 4 deletions

View File

@ -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):

View File

@ -1353,7 +1353,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")
def test__get_kube_config_loader_file_no_persist(self):
expected = FakeConfig(host=TEST_HOST,
@ -1553,6 +1553,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 = []
@ -1561,7 +1581,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)