take care of empty kube_config files
This commit is contained in:
parent
b002110430
commit
8a3bdb8ebe
@ -682,6 +682,9 @@ class KubeConfigMerger:
|
||||
else:
|
||||
config = yaml.safe_load(string.read())
|
||||
|
||||
if config is None:
|
||||
raise ConfigException(
|
||||
'Invalid kube-config.')
|
||||
if self.config_merged is None:
|
||||
self.config_merged = copy.deepcopy(config)
|
||||
# doesn't need to do any further merging
|
||||
@ -699,6 +702,11 @@ class KubeConfigMerger:
|
||||
with open(path) as f:
|
||||
config = yaml.safe_load(f)
|
||||
|
||||
if config is None:
|
||||
raise ConfigException(
|
||||
'Invalid kube-config. '
|
||||
'%s file is empty' % path)
|
||||
|
||||
if self.config_merged is None:
|
||||
config_merged = copy.deepcopy(config)
|
||||
for item in ('clusters', 'contexts', 'users'):
|
||||
|
||||
@ -1290,6 +1290,15 @@ class TestKubeConfigLoader(BaseTestCase):
|
||||
client_configuration=actual)
|
||||
self.assertEqual(expected, actual)
|
||||
|
||||
def test_load_kube_config_from_empty_file(self):
|
||||
config_file_like_object = io.StringIO()
|
||||
self.assertRaises(ConfigException, load_kube_config, config_file_like_object)
|
||||
|
||||
def test_load_kube_config_from_empty_file_like_object(self):
|
||||
config_file = self._create_temp_file(
|
||||
yaml.safe_dump(None))
|
||||
self.assertRaises(ConfigException, load_kube_config, config_file)
|
||||
|
||||
def test_list_kube_config_contexts(self):
|
||||
config_file = self._create_temp_file(
|
||||
yaml.safe_dump(self.TEST_KUBE_CONFIG))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user