diff options
Diffstat (limited to 'cloudinit')
-rw-r--r-- | cloudinit/config/cc_final_message.py | 6 | ||||
-rw-r--r-- | cloudinit/config/cc_keys_to_console.py | 6 | ||||
-rw-r--r-- | cloudinit/util.py | 11 |
3 files changed, 15 insertions, 8 deletions
diff --git a/cloudinit/config/cc_final_message.py b/cloudinit/config/cc_final_message.py index fd59aa1e..711e7b5b 100644 --- a/cloudinit/config/cc_final_message.py +++ b/cloudinit/config/cc_final_message.py @@ -18,8 +18,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -import sys - from cloudinit import templater from cloudinit import util from cloudinit import version @@ -57,9 +55,7 @@ def handle(_name, cfg, cloud, log, args): 'timestamp': ts, 'version': cver, } - # Use stdout, stderr or the logger?? - content = templater.render_string(msg_in, subs) - sys.stderr.write("%s\n" % (content)) + util.multi_log("%s\n" % (templater.render_string(msg_in, subs))) 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 d4c877f7..da7d5219 100644 --- a/cloudinit/config/cc_keys_to_console.py +++ b/cloudinit/config/cc_keys_to_console.py @@ -29,7 +29,7 @@ frequency = PER_INSTANCE HELPER_TOOL = '/usr/lib/cloud-init/write-ssh-key-fingerprints' -def handle(name, cfg, cloud, log, _args): +def handle(name, cfg, _cloud, log, _args): if not os.path.exists(HELPER_TOOL): log.warn(("Unable to activate module %s," " helper tool not found at %s"), name, HELPER_TOOL) @@ -46,7 +46,7 @@ def handle(name, cfg, cloud, log, _args): cmd.append(','.join(fp_blacklist)) cmd.append(','.join(key_blacklist)) (stdout, _stderr) = util.subp(cmd) - util.write_file(cloud.paths.join(False, '/dev/console'), stdout) + util.multi_log("%s\n" % (stdout.strip()), stderr=False) except: - log.warn("Writing keys to /dev/console failed!") + log.warn("Writing keys to the system console failed!") raise diff --git a/cloudinit/util.py b/cloudinit/util.py index 0c592656..e6219d66 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -271,6 +271,17 @@ def find_modules(root_dir): return entries +def multi_log(text, console=True, stderr=True, log=None): + if stderr: + sys.stderr.write(text) + if console: + with open('/dev/console', 'wb') as wfh: + wfh.write(text) + wfh.flush() + if log: + log.debug(text) + + def is_ipv4(instr): """ determine if input string is a ipv4 address. return boolean""" toks = instr.split('.') |