in playbooks/roles/cyclecloud/files/configure.py [0:0]
def get_vm_metadata():
metadata_url = "http://169.254.169.254/metadata/instance?api-version=2019-08-15"
metadata_req = Request(metadata_url, headers={"Metadata": True})
for _ in range(30):
print("Fetching metadata")
metadata_response = urlopen(metadata_req, timeout=2)
try:
return json.load(metadata_response)
except ValueError as e:
print("Failed to get metadata %s" % e)
print(" Retrying")
sleep(2)
continue
except:
print("Unable to obtain metadata after 30 tries")
raise