diff options
Diffstat (limited to 'cloudinit/sources/DataSourceVultr.py')
-rw-r--r-- | cloudinit/sources/DataSourceVultr.py | 86 |
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)) |