summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/cloud-init11
-rw-r--r--cloudinit/config/cc_final_message.py3
-rw-r--r--cloudinit/config/cc_keys_to_console.py3
-rw-r--r--cloudinit/util.py7
4 files changed, 17 insertions, 7 deletions
diff --git a/bin/cloud-init b/bin/cloud-init
index fce4fe8c..c7863db1 100755
--- a/bin/cloud-init
+++ b/bin/cloud-init
@@ -45,6 +45,10 @@ from cloudinit.settings import (PER_INSTANCE, PER_ALWAYS, PER_ONCE,
CLOUD_CONFIG)
+# Pretty little welcome message template
+WELCOME_MSG_TPL = ("Cloud-init v. {{version}} running '{{action}}' at "
+ "{{timestamp}}. Up {{uptime}} seconds.")
+
# Module section template
MOD_SECTION_TPL = "cloud_%s_modules"
@@ -56,6 +60,7 @@ QUERY_DATA_TYPES = [
]
# Frequency shortname to full name
+# (so users don't have to remember the full name...)
FREQ_SHORT_NAMES = {
'instance': PER_INSTANCE,
'always': PER_ALWAYS,
@@ -78,15 +83,15 @@ def print_exc(msg=''):
def welcome(action):
- msg = ("Cloud-init v. {{version}} running '{{action}}' at "
- "{{timestamp}}. Up {{uptime}} seconds.")
tpl_params = {
'version': version.version_string(),
'uptime': util.uptime(),
'timestamp': util.time_rfc2822(),
'action': action,
}
- util.multi_log("%s\n" % (templater.render_string(msg, tpl_params)))
+ tpl_msg = templater.render_string(WELCOME_MSG_TPL, tpl_params)
+ util.multi_log("%s\n" % (tpl_msg),
+ console=False, stderr=True)
def extract_fns(args):
diff --git a/cloudinit/config/cc_final_message.py b/cloudinit/config/cc_final_message.py
index 711e7b5b..b1caca47 100644
--- a/cloudinit/config/cc_final_message.py
+++ b/cloudinit/config/cc_final_message.py
@@ -55,7 +55,8 @@ def handle(_name, cfg, cloud, log, args):
'timestamp': ts,
'version': cver,
}
- util.multi_log("%s\n" % (templater.render_string(msg_in, subs)))
+ util.multi_log("%s\n" % (templater.render_string(msg_in, subs)),
+ console=False, stderr=True)
except Exception:
util.logexc(log, "Failed to render final message template")
diff --git a/cloudinit/config/cc_keys_to_console.py b/cloudinit/config/cc_keys_to_console.py
index da7d5219..ed7af690 100644
--- a/cloudinit/config/cc_keys_to_console.py
+++ b/cloudinit/config/cc_keys_to_console.py
@@ -46,7 +46,8 @@ def handle(name, cfg, _cloud, log, _args):
cmd.append(','.join(fp_blacklist))
cmd.append(','.join(key_blacklist))
(stdout, _stderr) = util.subp(cmd)
- util.multi_log("%s\n" % (stdout.strip()), stderr=False)
+ util.multi_log("%s\n" % (stdout.strip()),
+ stderr=False, console=True)
except:
log.warn("Writing keys to the system console failed!")
raise
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 6b23a0ee..4c29432b 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -275,15 +275,18 @@ def find_modules(root_dir):
return entries
-def multi_log(text, console=True, stderr=True, log=None):
+def multi_log(text, console=True, stderr=True,
+ log=None, log_level=logging.DEBUG):
if stderr:
sys.stderr.write(text)
if console:
+ # Don't use the write_file since
+ # this might be 'sensitive' info (not debug worthy?)
with open('/dev/console', 'wb') as wfh:
wfh.write(text)
wfh.flush()
if log:
- log.debug(text)
+ log.log(log_level, text)
def is_ipv4(instr):