diff options
Diffstat (limited to 'cloudinit/CloudConfig/cc_rsyslog.py')
-rw-r--r-- | cloudinit/CloudConfig/cc_rsyslog.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/cloudinit/CloudConfig/cc_rsyslog.py b/cloudinit/CloudConfig/cc_rsyslog.py index a8ee8476..ac7f2c74 100644 --- a/cloudinit/CloudConfig/cc_rsyslog.py +++ b/cloudinit/CloudConfig/cc_rsyslog.py @@ -1,8 +1,10 @@ # vi: ts=4 expandtab syntax=python # # Copyright (C) 2009-2010 Canonical Ltd. +# Copyright (C) 2012 Hewlett-Packard Development Company, L.P. # # Author: Scott Moser <scott.moser@canonical.com> +# Author: Juerg Haefliger <juerg.haefliger@hp.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License version 3, as @@ -15,16 +17,17 @@ # # 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 cloudinit import logging import cloudinit.util as util -import subprocess import traceback DEF_FILENAME = "20-cloud-config.conf" DEF_DIR = "/etc/rsyslog.d" -def handle(name,cfg,cloud,log,args): + +def handle(_name, cfg, _cloud, log, _args): # rsyslog: # - "*.* @@192.158.1.1" # - content: "*.* @@192.0.2.1:10514" @@ -33,17 +36,16 @@ def handle(name,cfg,cloud,log,args): # *.* @@syslogd.example.com # process 'rsyslog' - if not 'rsyslog' in cfg: return + if not 'rsyslog' in cfg: + return def_dir = cfg.get('rsyslog_dir', DEF_DIR) def_fname = cfg.get('rsyslog_filename', DEF_FILENAME) - entries = cfg['rsyslog'] - - files = [ ] - elst = [ ] + files = [] + elst = [] for ent in cfg['rsyslog']: - if isinstance(ent,dict): + if isinstance(ent, dict): if not "content" in ent: elst.append((ent, "no 'content' entry")) continue @@ -54,7 +56,7 @@ def handle(name,cfg,cloud,log,args): filename = def_fname if not filename.startswith("/"): - filename = "%s/%s" % (def_dir,filename) + filename = "%s/%s" % (def_dir, filename) omode = "ab" # truncate filename first time you see it @@ -71,7 +73,7 @@ def handle(name,cfg,cloud,log,args): # need to restart syslogd restarted = False try: - # if this config module is running at cloud-init time + # if this config module is running at cloud-init time # (before rsyslog is running) we don't actually have to # restart syslog. # @@ -80,12 +82,12 @@ def handle(name,cfg,cloud,log,args): # it will also return failure on the attempt, so 'restarted' # won't get set log.debug("restarting rsyslog") - p = util.subp(['service', 'rsyslog', 'restart']) + util.subp(['service', 'rsyslog', 'restart']) restarted = True except Exception as e: elst.append(("restart", str(e))) - + if restarted: # this only needs to run if we *actually* restarted # syslog above. |