in src/setup.py [0:0]
def _get_metadata(self, request):
"""
This method retrieves values from metadata service.
request -- The request part after the metadata service address, for example if full request is:
'http://169.254.169.254/latest/meta-data/placement/availability-zone/'
then the request part is 'latest/meta-data/placement/availability-zone/'.
"""
from requests import Session, codes
from requests.adapters import HTTPAdapter
try:
result = self._v2_call(request)
# fallback to v1
if not (result and result.status_code is codes.ok):
print("Fallback to IMDSV1")
result = self._v1_call(request)
except Exception as e:
raise MetadataRequestException("Cannot access metadata service. Cause: " + str(e))
if result.status_code is not codes.ok:
raise MetadataRequestException("Cannot retrieve configuration from metadata service. Status code: " + str(result.status_code))
return str(result.text)