diff --git a/kubernetes/base/config/kube_config.py b/kubernetes/base/config/kube_config.py index 7077955ca6..91ee77b037 100644 --- a/kubernetes/base/config/kube_config.py +++ b/kubernetes/base/config/kube_config.py @@ -510,14 +510,19 @@ def _load_from_exec_plugin(self): base64_file_content=False, temp_file_path=self._temp_file_path).as_file() else: - logging.error('exec: missing token or clientCertificateData ' - 'field in plugin output') - return None + logging.error("exec: missing token or clientCertificateData " + " field in plugin output") + return None + if 'expirationTimestamp' in status: - self.expiry = parse_rfc3339(status['expirationTimestamp']) + try: + self.expiry = parse_rfc3339(status['expirationTimestamp']) + except Exception as e: + logging.error("Failed to parse expirationTimestamp '%s': %s", + status['expirationTimestamp'], str(e) ) + raise return True - except Exception as e: - logging.error(str(e)) + def _load_user_token(self): base_path = self._get_base_path(self._user.path)