Skip to content
This repository has been archived by the owner on Mar 13, 2022. It is now read-only.

Commit

Permalink
Merge pull request #169 from jfrabaute/save
Browse files Browse the repository at this point in the history
config: Fix persist_config flag and function calls
  • Loading branch information
k8s-ci-robot committed Feb 21, 2020
2 parents a25f49e + 64662bb commit ff9a5f3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
8 changes: 4 additions & 4 deletions config/kube_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ def _refresh_azure_token(self, config):
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
Expand All @@ -357,7 +357,7 @@ def _refresh_gcp_token(self):
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:
Expand Down Expand Up @@ -398,7 +398,7 @@ def _load_oid_token(self, provider):
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']

Expand Down Expand Up @@ -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(
Expand Down
19 changes: 19 additions & 0 deletions config/kube_config_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
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)

Expand Down Expand Up @@ -1388,6 +1389,24 @@ def test_user_cmd_path_with_scope(self):
"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.
Expand Down

0 comments on commit ff9a5f3

Please sign in to comment.