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.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/cloudinit/sources/DataSourceVultr.py b/cloudinit/sources/DataSourceVultr.py
index f7c56780..7b7cc696 100644
--- a/cloudinit/sources/DataSourceVultr.py
+++ b/cloudinit/sources/DataSourceVultr.py
@@ -7,7 +7,7 @@
import cloudinit.sources.helpers.vultr as vultr
from cloudinit import log as log
-from cloudinit import sources, util, version
+from cloudinit import sources, stages, util, version
LOG = log.getLogger(__name__)
BUILTIN_DS_CONFIG = {
@@ -88,6 +88,7 @@ class DataSourceVultr(sources.DataSource):
# Get the metadata by flag
def get_metadata(self):
return vultr.get_metadata(
+ self.distro,
self.ds_cfg["url"],
self.ds_cfg["timeout"],
self.ds_cfg["retries"],
@@ -136,7 +137,16 @@ if __name__ == "__main__":
print("Machine is not a Vultr instance")
sys.exit(1)
+ # It should probably be safe to try to detect distro via stages.Init(),
+ # which will fall back to Ubuntu if no distro config is found.
+ # this distro object is only used for dhcp fallback. Feedback from user(s)
+ # of __main__ would help determine if a better approach exists.
+ #
+ # we don't needReportEventStack, so reporter=True
+ distro = stages.Init(reporter=True).distro
+
md = vultr.get_metadata(
+ distro,
BUILTIN_DS_CONFIG["url"],
BUILTIN_DS_CONFIG["timeout"],
BUILTIN_DS_CONFIG["retries"],
@@ -148,5 +158,3 @@ if __name__ == "__main__":
print(util.json_dumps(sysinfo))
print(util.json_dumps(config))
-
-# vi: ts=4 expandtab