diff options
| author | eb3095 <45504889+eb3095@users.noreply.github.com> | 2023-01-09 16:08:53 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-09 14:08:53 -0700 |
| commit | cb128dc1b76bf0a48783ecb815e02ecbc0f1a41f (patch) | |
| tree | 801aaec60da99e378f66a8c444cf65db37836b6a /cloudinit/sources | |
| parent | f82f18b28b02b6ffa438b43ac16578f05a331565 (diff) | |
| download | cloud-init-git-cb128dc1b76bf0a48783ecb815e02ecbc0f1a41f.tar.gz | |
vultr: Fix issue regarding cache and region codes (#1938)
Diffstat (limited to 'cloudinit/sources')
| -rw-r--r-- | cloudinit/sources/DataSourceVultr.py | 6 | ||||
| -rw-r--r-- | cloudinit/sources/helpers/vultr.py | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/cloudinit/sources/DataSourceVultr.py b/cloudinit/sources/DataSourceVultr.py index 93b04829..a2c16991 100644 --- a/cloudinit/sources/DataSourceVultr.py +++ b/cloudinit/sources/DataSourceVultr.py @@ -48,12 +48,6 @@ class DataSourceVultr(sources.DataSource): # Fetch metadata self.metadata = self.get_metadata() - self.metadata["instance-id"] = self.metadata["instance-v2-id"] - self.metadata["local-hostname"] = self.metadata["hostname"] - region = self.metadata["region"]["regioncode"] - if "countrycode" in self.metadata["region"]: - region = self.metadata["region"]["countrycode"] - self.metadata["region"] = region.lower() self.userdata_raw = self.metadata["user-data"] # Generate config and process data diff --git a/cloudinit/sources/helpers/vultr.py b/cloudinit/sources/helpers/vultr.py index de2d0eb0..30c8cfee 100644 --- a/cloudinit/sources/helpers/vultr.py +++ b/cloudinit/sources/helpers/vultr.py @@ -37,7 +37,9 @@ def get_metadata(url, timeout, retries, sec_between, agent, tmp_dir=None): # Fetch the metadata v1 = read_metadata(url, timeout, retries, sec_between, agent) - return json.loads(v1) + metadata = json.loads(v1) + refactor_metadata(metadata) + return metadata except ( NoDHCPLeaseError, subp.ProcessExecutionError, @@ -49,6 +51,16 @@ def get_metadata(url, timeout, retries, sec_between, agent, tmp_dir=None): raise exception +# Refactor metadata into acceptable format +def refactor_metadata(metadata): + metadata["instance-id"] = metadata["instance-v2-id"] + metadata["local-hostname"] = metadata["hostname"] + region = metadata["region"]["regioncode"] + if "countrycode" in metadata["region"]: + region = metadata["region"]["countrycode"] + metadata["region"] = region.lower() + + # Get interface list, sort, and clean def get_interface_list(): ifaces = [] |
