Look at the v1 endpoint for the GCE metadata server
We are updating all uses of the legacy GCE metadata server endpoints (0.1 and v1beta) to use the current endpoint.
This commit is contained in:
@@ -32,8 +32,8 @@ __author__ = 'jcgregorio@google.com (Joe Gregorio)'
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# URI Template for the endpoint that returns access_tokens.
|
||||
META = ('http://metadata.google.internal/0.1/meta-data/service-accounts/'
|
||||
'default/acquire{?scope}')
|
||||
META = ('http://metadata.google.internal/computeMetadata/v1/instance/'
|
||||
'service-accounts/default/acquire{?scope}')
|
||||
|
||||
|
||||
class AppAssertionCredentials(AssertionCredentials):
|
||||
@@ -84,7 +84,8 @@ class AppAssertionCredentials(AssertionCredentials):
|
||||
"""
|
||||
query = '?scope=%s' % urllib.parse.quote(self.scope, '')
|
||||
uri = META.replace('{?scope}', query)
|
||||
response, content = http_request(uri)
|
||||
response, content = http_request(
|
||||
uri, headers={'Metadata-Flavor': 'Google'})
|
||||
content = _from_bytes(content)
|
||||
if response.status == 200:
|
||||
try:
|
||||
|
||||
@@ -66,11 +66,13 @@ class AppAssertionCredentialsTests(unittest.TestCase):
|
||||
credentials.refresh(http)
|
||||
self.assertEquals(access_token, credentials.access_token)
|
||||
|
||||
base_metadata_uri = ('http://metadata.google.internal/0.1/meta-data/'
|
||||
'service-accounts/default/acquire')
|
||||
base_metadata_uri = (
|
||||
'http://metadata.google.internal/computeMetadata/v1/instance/'
|
||||
'service-accounts/default/acquire')
|
||||
escaped_scopes = urllib.parse.quote(' '.join(scopes), safe='')
|
||||
request_uri = base_metadata_uri + '?scope=' + escaped_scopes
|
||||
http.request.assert_called_once_with(request_uri)
|
||||
http.request.assert_called_once_with(
|
||||
request_uri, headers={'Metadata-Flavor': 'Google'})
|
||||
|
||||
def test_refresh_success(self):
|
||||
self._refresh_success_helper(bytes_response=False)
|
||||
@@ -158,8 +160,9 @@ class AppAssertionCredentialsTests(unittest.TestCase):
|
||||
self.assertEqual(None, token.expires_in)
|
||||
|
||||
http.request.assert_called_once_with(
|
||||
'http://metadata.google.internal/0.1/meta-data/service-accounts/'
|
||||
'default/acquire?scope=dummy_scope')
|
||||
'http://metadata.google.internal/computeMetadata/v1/instance/'
|
||||
'service-accounts/default/acquire?scope=dummy_scope',
|
||||
headers={'Metadata-Flavor': 'Google'})
|
||||
|
||||
def test_save_to_well_known_file(self):
|
||||
import os
|
||||
|
||||
Reference in New Issue
Block a user