summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-21 13:55:05 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 11:58:47 -0400
commitdd28e90f183972cc2a395094ce3e3f72e861953f (patch)
treedfe10fd66e0535763d953333ed49f6467762fbd6 /src/lib/Bcfg2/Server/Plugins/PuppetENC.py
parenteec8f653c0235bde8d3a754802a4485f0d542ea3 (diff)
downloadbcfg2-dd28e90f183972cc2a395094ce3e3f72e861953f.tar.gz
bcfg2-dd28e90f183972cc2a395094ce3e3f72e861953f.tar.bz2
bcfg2-dd28e90f183972cc2a395094ce3e3f72e861953f.zip
run pylint for errors on almost everything, full runs on some selected stuff
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/PuppetENC.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/PuppetENC.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
index 341d63118..ebcbf3bcc 100644
--- a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
+++ b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
@@ -1,8 +1,12 @@
+""" A plugin to run Puppet external node classifiers """
+
import os
+import sys
import Bcfg2.Server
import Bcfg2.Server.Plugin
from subprocess import Popen, PIPE
+# pylint: disable=F0401
try:
from syck import load as yaml_load, error as yaml_error
except ImportError:
@@ -10,8 +14,12 @@ except ImportError:
from yaml import load as yaml_load, YAMLError as yaml_error
except ImportError:
raise ImportError("No yaml library could be found")
+# pylint: enable=F0401
+
class PuppetENCFile(Bcfg2.Server.Plugin.FileBacked):
+ """ A representation of a Puppet external node classifier script """
+
def HandleEvent(self, event=None):
return
@@ -22,7 +30,6 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.DirectoryBacked):
""" A plugin to run Puppet external node classifiers
(http://docs.puppetlabs.com/guides/external_nodes.html) """
- name = 'PuppetENC'
experimental = True
__child__ = PuppetENCFile
@@ -35,6 +42,7 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
self.cache = dict()
def _run_encs(self, metadata):
+ """ Run all Puppet ENCs """
cache = dict(groups=[], params=dict())
for enc in self.entries.keys():
epath = os.path.join(self.data, enc)
@@ -46,8 +54,8 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
rv = proc.wait()
if rv != 0:
msg = "PuppetENC: Error running ENC %s for %s (%s): %s" % \
- (enc, metadata.hostname, rv)
- self.logger.error("%s: %s" % (msg, err))
+ (enc, metadata.hostname, rv, err)
+ self.logger.error(msg)
raise Bcfg2.Server.Plugin.PluginExecutionError(msg)
if err:
self.debug_log("ENC Error: %s" % err)
@@ -62,8 +70,8 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
(enc, metadata.hostname, err)
self.logger.error(msg)
raise Bcfg2.Server.Plugin.PluginExecutionError(msg)
-
- groups = []
+
+ groups = dict()
if "classes" in yaml:
# stock Puppet ENC output format
groups = yaml['classes']
@@ -87,7 +95,7 @@ class PuppetENC(Bcfg2.Server.Plugin.Plugin,
if "environment" in yaml:
self.logger.info("Ignoring unsupported environment section of "
"ENC %s for %s" % (enc, metadata.hostname))
-
+
self.cache[metadata.hostname] = cache
def get_additional_groups(self, metadata):