summaryrefslogtreecommitdiff
path: root/cloudinit/sources/DataSourceVultr.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/sources/DataSourceVultr.py')
-rw-r--r--cloudinit/sources/DataSourceVultr.py86
1 files changed, 46 insertions, 40 deletions
diff --git a/cloudinit/sources/DataSourceVultr.py b/cloudinit/sources/DataSourceVultr.py
index abeefbc5..13f7c24d 100644
--- a/cloudinit/sources/DataSourceVultr.py
+++ b/cloudinit/sources/DataSourceVultr.py
@@ -5,35 +5,37 @@
# Vultr Metadata API:
# https://www.vultr.com/metadata/
-from cloudinit import log as log
-from cloudinit import sources
-from cloudinit import util
-from cloudinit import version
-
import cloudinit.sources.helpers.vultr as vultr
+from cloudinit import log as log
+from cloudinit import sources, util, version
LOG = log.getLogger(__name__)
BUILTIN_DS_CONFIG = {
- 'url': 'http://169.254.169.254',
- 'retries': 30,
- 'timeout': 10,
- 'wait': 5,
- 'user-agent': 'Cloud-Init/%s - OS: %s Variant: %s' %
- (version.version_string(),
- util.system_info()['system'],
- util.system_info()['variant'])
+ "url": "http://169.254.169.254",
+ "retries": 30,
+ "timeout": 10,
+ "wait": 5,
+ "user-agent": "Cloud-Init/%s - OS: %s Variant: %s"
+ % (
+ version.version_string(),
+ util.system_info()["system"],
+ util.system_info()["variant"],
+ ),
}
class DataSourceVultr(sources.DataSource):
- dsname = 'Vultr'
+ dsname = "Vultr"
def __init__(self, sys_cfg, distro, paths):
super(DataSourceVultr, self).__init__(sys_cfg, distro, paths)
- self.ds_cfg = util.mergemanydict([
- util.get_cfg_by_path(sys_cfg, ["datasource", "Vultr"], {}),
- BUILTIN_DS_CONFIG])
+ self.ds_cfg = util.mergemanydict(
+ [
+ util.get_cfg_by_path(sys_cfg, ["datasource", "Vultr"], {}),
+ BUILTIN_DS_CONFIG,
+ ]
+ )
# Initiate data and check if Vultr
def _get_data(self):
@@ -46,8 +48,8 @@ class DataSourceVultr(sources.DataSource):
# Fetch metadata
self.metadata = self.get_metadata()
- self.metadata['instance-id'] = self.metadata['instanceid']
- self.metadata['local-hostname'] = self.metadata['hostname']
+ self.metadata["instance-id"] = self.metadata["instanceid"]
+ self.metadata["local-hostname"] = self.metadata["hostname"]
self.userdata_raw = self.metadata["user-data"]
# Generate config and process data
@@ -55,9 +57,9 @@ class DataSourceVultr(sources.DataSource):
# Dump some data so diagnosing failures is manageable
LOG.debug("Vultr Vendor Config:")
- LOG.debug(util.json_dumps(self.metadata['vendor-data']))
- LOG.debug("SUBID: %s", self.metadata['instance-id'])
- LOG.debug("Hostname: %s", self.metadata['local-hostname'])
+ LOG.debug(util.json_dumps(self.metadata["vendor-data"]))
+ LOG.debug("SUBID: %s", self.metadata["instance-id"])
+ LOG.debug("Hostname: %s", self.metadata["local-hostname"])
if self.userdata_raw is not None:
LOG.debug("User-Data:")
LOG.debug(self.userdata_raw)
@@ -70,16 +72,16 @@ class DataSourceVultr(sources.DataSource):
if "cloud_interfaces" in md:
# In the future we will just drop pre-configured
# network configs into the array. They need names though.
- self.netcfg = vultr.add_interface_names(md['cloud_interfaces'])
+ self.netcfg = vultr.add_interface_names(md["cloud_interfaces"])
else:
- self.netcfg = vultr.generate_network_config(md['interfaces'])
+ self.netcfg = vultr.generate_network_config(md["interfaces"])
# Grab vendordata
- self.vendordata_raw = md['vendor-data']
+ self.vendordata_raw = md["vendor-data"]
# Default hostname is "guest" for whitelabel
- if self.metadata['local-hostname'] == "":
- self.metadata['local-hostname'] = "guest"
+ if self.metadata["local-hostname"] == "":
+ self.metadata["local-hostname"] = "guest"
self.userdata_raw = md["user-data"]
if self.userdata_raw == "":
@@ -87,11 +89,13 @@ class DataSourceVultr(sources.DataSource):
# Get the metadata by flag
def get_metadata(self):
- return vultr.get_metadata(self.ds_cfg['url'],
- self.ds_cfg['timeout'],
- self.ds_cfg['retries'],
- self.ds_cfg['wait'],
- self.ds_cfg['user-agent'])
+ return vultr.get_metadata(
+ self.ds_cfg["url"],
+ self.ds_cfg["timeout"],
+ self.ds_cfg["retries"],
+ self.ds_cfg["wait"],
+ self.ds_cfg["user-agent"],
+ )
# Compare subid as instance id
def check_instance_id(self, sys_cfg):
@@ -102,7 +106,7 @@ class DataSourceVultr(sources.DataSource):
if vultr.is_baremetal():
return False
- subid = vultr.get_sysinfo()['subid']
+ subid = vultr.get_sysinfo()["subid"]
return sources.instance_id_matches_system_uuid(subid)
# Currently unsupported
@@ -117,7 +121,7 @@ class DataSourceVultr(sources.DataSource):
# Used to match classes to dependencies
datasources = [
- (DataSourceVultr, (sources.DEP_FILESYSTEM, )),
+ (DataSourceVultr, (sources.DEP_FILESYSTEM,)),
]
@@ -133,12 +137,14 @@ if __name__ == "__main__":
print("Machine is not a Vultr instance")
sys.exit(1)
- md = vultr.get_metadata(BUILTIN_DS_CONFIG['url'],
- BUILTIN_DS_CONFIG['timeout'],
- BUILTIN_DS_CONFIG['retries'],
- BUILTIN_DS_CONFIG['wait'],
- BUILTIN_DS_CONFIG['user-agent'])
- config = md['vendor-data']
+ md = vultr.get_metadata(
+ BUILTIN_DS_CONFIG["url"],
+ BUILTIN_DS_CONFIG["timeout"],
+ BUILTIN_DS_CONFIG["retries"],
+ BUILTIN_DS_CONFIG["wait"],
+ BUILTIN_DS_CONFIG["user-agent"],
+ )
+ config = md["vendor-data"]
sysinfo = vultr.get_sysinfo()
print(util.json_dumps(sysinfo))