Thanks to visit codestin.com
Credit goes to github.com

Skip to content

RefreshError with config.load_kube_config() #339

Closed
@dizcology

Description

@dizcology

gcloud container clusters get-credentials my-cluster

Confirmed with gcloud container clusters get-credentials my-cluster, and ./kube/config was created.

Then in python:

from kubernetes import client, config
config.load_kube_config()

returns:

RefreshError: ('invalid_scope: Empty or missing scope not allowed.', u'{\n  "error" : "invalid_scope",\n  "error_description" : "Empty or missing scope not allowed."\n}')

What did I miss?


stack trace:

---------------------------------------------------------------------------
RefreshError                              Traceback (most recent call last)
<ipython-input-1-267adcf41323> in <module>()
      1 from kubernetes import client, config
----> 2 config.load_kube_config()

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/kubernetes/config/kube_config.pyc in load_kube_config(config_file, context, client_configuration, persist_config)
    359         config_file, active_context=context,
    360         client_configuration=client_configuration,
--> 361         config_persister=config_persister).load_and_set()
    362 
    363 

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/kubernetes/config/kube_config.pyc in load_and_set(self)
    251 
    252     def load_and_set(self):
--> 253         self._load_authentication()
    254         self._load_cluster_info()
    255         self._set_config()

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/kubernetes/config/kube_config.pyc in _load_authentication(self)
    174         if not self._user:
    175             return
--> 176         if self._load_gcp_token():
    177             return
    178         if self._load_user_token():

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/kubernetes/config/kube_config.pyc in _load_gcp_token(self)
    194                  _is_expired(provider['config']['expiry']))):
    195             # token is not available or expired, refresh it
--> 196             self._refresh_gcp_token()
    197 
    198         self.token = "Bearer %s" % provider['config']['access-token']

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/kubernetes/config/kube_config.pyc in _refresh_gcp_token(self)
    203             self._user['auth-provider'].value['config'] = {}
    204         provider = self._user['auth-provider']['config']
--> 205         credentials = self._get_google_credentials()
    206         provider.value['access-token'] = credentials.token
    207         provider.value['expiry'] = format_rfc3339(credentials.expiry)

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/kubernetes/config/kube_config.pyc in _refresh_credentials()
    133             credentials, project_id = google.auth.default()
    134             request = google.auth.transport.requests.Request()
--> 135             credentials.refresh(request)
    136             return credentials
    137 

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/google/oauth2/service_account.pyc in refresh(self, request)
    308         assertion = self._make_authorization_grant_assertion()
    309         access_token, expiry, _ = _client.jwt_grant(
--> 310             request, self._token_uri, assertion)
    311         self.token = access_token
    312         self.expiry = expiry

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/google/oauth2/_client.pyc in jwt_grant(request, token_uri, assertion)
    141     }
    142 
--> 143     response_data = _token_endpoint_request(request, token_uri, body)
    144 
    145     try:

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/google/oauth2/_client.pyc in _token_endpoint_request(request, token_uri, body)
    107 
    108     if response.status != http_client.OK:
--> 109         _handle_error_response(response_body)
    110 
    111     response_data = json.loads(response_body)

/Users/yuhanliu/.virtualenvs/hpsearch/lib/python2.7/site-packages/google/oauth2/_client.pyc in _handle_error_response(response_body)
     57 
     58     raise exceptions.RefreshError(
---> 59         error_details, response_body)
     60 
     61 

RefreshError: ('invalid_scope: Empty or missing scope not allowed.', u'{\n  "error" : "invalid_scope",\n  "error_description" : "Empty or missing scope not allowed."\n}')

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions