Merge pull request #169 from jfrabaute/save

config: Fix persist_config flag and function calls
This commit is contained in:
Kubernetes Prow Robot 2020-02-21 13:36:47 -08:00 committed by GitHub
commit ff9a5f35a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 4 deletions

View File

@ -336,7 +336,7 @@ class KubeConfigLoader(object):
provider.value['access-token'] = token_response['accessToken']
provider.value['expires-on'] = token_response['expiresOn']
if self._config_persister:
self._config_persister(self._config.value)
self._config_persister()
def _load_gcp_token(self, provider):
if (('config' not in provider) or
@ -357,7 +357,7 @@ class KubeConfigLoader(object):
provider.value['access-token'] = credentials.token
provider.value['expiry'] = format_rfc3339(credentials.expiry)
if self._config_persister:
self._config_persister(self._config.value)
self._config_persister()
def _load_oid_token(self, provider):
if 'config' not in provider:
@ -398,7 +398,7 @@ class KubeConfigLoader(object):
self._refresh_oidc(provider)
if self._config_persister:
self._config_persister(self._config.value)
self._config_persister()
self.token = "Bearer %s" % provider['config']['id-token']
@ -691,7 +691,7 @@ def _get_kube_config_loader_for_yaml_file(
kcfg = KubeConfigMerger(filename)
if persist_config and 'config_persister' not in kwargs:
kwargs['config_persister'] = kcfg.save_changes()
kwargs['config_persister'] = kcfg.save_changes
if kcfg.config is None:
raise ConfigException(

View File

@ -33,6 +33,7 @@ from .kube_config import (ENV_KUBECONFIG_PATH_SEPARATOR, CommandTokenSource,
ConfigNode, FileOrData, KubeConfigLoader,
KubeConfigMerger, _cleanup_temp_files,
_create_temp_file_with_content,
_get_kube_config_loader_for_yaml_file,
list_kube_config_contexts, load_kube_config,
new_client_from_config)
@ -1388,6 +1389,24 @@ class TestKubeConfigLoader(BaseTestCase):
"scopes can only be used when kubectl is using "
"a gcp service account key")
def test__get_kube_config_loader_for_yaml_file_no_persist(self):
expected = FakeConfig(host=TEST_HOST,
token=BEARER_TOKEN_FORMAT % TEST_DATA_BASE64)
config_file = self._create_temp_file(
yaml.safe_dump(self.TEST_KUBE_CONFIG))
actual = _get_kube_config_loader_for_yaml_file(config_file)
self.assertIsNone(actual._config_persister)
def test__get_kube_config_loader_for_yaml_file_persist(self):
expected = FakeConfig(host=TEST_HOST,
token=BEARER_TOKEN_FORMAT % TEST_DATA_BASE64)
config_file = self._create_temp_file(
yaml.safe_dump(self.TEST_KUBE_CONFIG))
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")
class TestKubernetesClientConfiguration(BaseTestCase):
# Verifies properties of kubernetes.client.Configuration.