summaryrefslogtreecommitdiff
path: root/cloudinit/config
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/config')
-rw-r--r--cloudinit/config/cc_keys_to_console.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/cloudinit/config/cc_keys_to_console.py b/cloudinit/config/cc_keys_to_console.py
index ed7af690..f1c1adff 100644
--- a/cloudinit/config/cc_keys_to_console.py
+++ b/cloudinit/config/cc_keys_to_console.py
@@ -26,13 +26,22 @@ from cloudinit import util
frequency = PER_INSTANCE
# This is a tool that cloud init provides
-HELPER_TOOL = '/usr/lib/cloud-init/write-ssh-key-fingerprints'
+HELPER_TOOL_TPL = '%s/cloud-init/write-ssh-key-fingerprints'
-def handle(name, cfg, _cloud, log, _args):
- if not os.path.exists(HELPER_TOOL):
+def _get_helper_tool_path(distro):
+ try:
+ base_lib = distro.usr_lib_exec
+ except AttributeError:
+ base_lib = '/usr/lib'
+ return HELPER_TOOL_TPL % base_lib
+
+
+def handle(name, cfg, cloud, log, _args):
+ helper_path = _get_helper_tool_path(cloud.distro)
+ if not os.path.exists(helper_path):
log.warn(("Unable to activate module %s,"
- " helper tool not found at %s"), name, HELPER_TOOL)
+ " helper tool not found at %s"), name, helper_path)
return
fp_blacklist = util.get_cfg_option_list(cfg,
@@ -42,7 +51,7 @@ def handle(name, cfg, _cloud, log, _args):
["ssh-dss"])
try:
- cmd = [HELPER_TOOL]
+ cmd = [helper_path]
cmd.append(','.join(fp_blacklist))
cmd.append(','.join(key_blacklist))
(stdout, _stderr) = util.subp(cmd)