summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 15:49:25 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 15:49:25 -0400
commit3b3ecb4fcba471d33dbd118c02798e6f3f4b9927 (patch)
treeaf85e3850935cd9e076d4e0da29f287fa9dcaefe /src/lib/Bcfg2/Server/Plugins
parenta74636278353b829f3589f6e671f1d56172b291c (diff)
downloadbcfg2-3b3ecb4fcba471d33dbd118c02798e6f3f4b9927.tar.gz
bcfg2-3b3ecb4fcba471d33dbd118c02798e6f3f4b9927.tar.bz2
bcfg2-3b3ecb4fcba471d33dbd118c02798e6f3f4b9927.zip
various pylint fixes
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Bzr.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/DBStats.py5
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Git.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Guppy.py3
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Ldap.py11
-rw-r--r--src/lib/Bcfg2/Server/Plugins/NagiosGen.py100
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Ohai.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Yum.py4
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Probes.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/PuppetENC.py2
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Svn2.py2
11 files changed, 42 insertions, 93 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Bzr.py b/src/lib/Bcfg2/Server/Plugins/Bzr.py
index 4de204468..a8b4113ff 100644
--- a/src/lib/Bcfg2/Server/Plugins/Bzr.py
+++ b/src/lib/Bcfg2/Server/Plugins/Bzr.py
@@ -2,10 +2,8 @@
bazaar. """
import Bcfg2.Server.Plugin
-# pylint: disable=F0401
from bzrlib.workingtree import WorkingTree
from bzrlib import errors
-# pylint: enable=F0401
class Bzr(Bcfg2.Server.Plugin.Plugin,
diff --git a/src/lib/Bcfg2/Server/Plugins/DBStats.py b/src/lib/Bcfg2/Server/Plugins/DBStats.py
index 16e9e4a8a..b796b3431 100644
--- a/src/lib/Bcfg2/Server/Plugins/DBStats.py
+++ b/src/lib/Bcfg2/Server/Plugins/DBStats.py
@@ -5,10 +5,7 @@ import platform
import sys
import time
-try:
- from django.core.exceptions import MultipleObjectsReturned
-except ImportError:
- pass
+from django.core.exceptions import MultipleObjectsReturned
import Bcfg2.Server.Plugin
from Bcfg2.Server.Reports.importscript import load_stat
diff --git a/src/lib/Bcfg2/Server/Plugins/Git.py b/src/lib/Bcfg2/Server/Plugins/Git.py
index 30416a147..56f05e4f6 100644
--- a/src/lib/Bcfg2/Server/Plugins/Git.py
+++ b/src/lib/Bcfg2/Server/Plugins/Git.py
@@ -1,7 +1,7 @@
""" The Git plugin provides a revision interface for Bcfg2 repos using
git. """
-from dulwich.repo import Repo # pylint: disable=F0401
+from dulwich.repo import Repo
import Bcfg2.Server.Plugin
diff --git a/src/lib/Bcfg2/Server/Plugins/Guppy.py b/src/lib/Bcfg2/Server/Plugins/Guppy.py
index d13e3f061..4f2601f15 100644
--- a/src/lib/Bcfg2/Server/Plugins/Guppy.py
+++ b/src/lib/Bcfg2/Server/Plugins/Guppy.py
@@ -27,6 +27,7 @@ Remote interactive console. To return to Annex, type '-'.
"""
import Bcfg2.Server.Plugin
+from guppy.heapy import Remote
class Guppy(Bcfg2.Server.Plugin.Plugin):
@@ -45,7 +46,6 @@ class Guppy(Bcfg2.Server.Plugin.Plugin):
def Enable(self):
"""Enable remote debugging"""
try:
- from guppy.heapy import Remote
Remote.on()
except:
self.logger.error("Failed to create Heapy context")
@@ -54,7 +54,6 @@ class Guppy(Bcfg2.Server.Plugin.Plugin):
def Disable(self):
"""Disable remote debugging"""
try:
- from guppy.heapy import Remote
Remote.off()
except:
self.logger.error("Failed to disable Heapy")
diff --git a/src/lib/Bcfg2/Server/Plugins/Ldap.py b/src/lib/Bcfg2/Server/Plugins/Ldap.py
index 8e5ce2624..f724402d0 100644
--- a/src/lib/Bcfg2/Server/Plugins/Ldap.py
+++ b/src/lib/Bcfg2/Server/Plugins/Ldap.py
@@ -10,7 +10,7 @@ logger = logging.getLogger('Bcfg2.Plugins.Ldap')
try:
import ldap
-except:
+except ImportError:
logger.error("Unable to load ldap module. Is python-ldap installed?")
raise ImportError
@@ -21,16 +21,18 @@ RETRY_DELAY = 5
RETRY_COUNT = 3
SCOPE_MAP = {
- "base" : ldap.SCOPE_BASE,
- "one" : ldap.SCOPE_ONELEVEL,
- "sub" : ldap.SCOPE_SUBTREE,
+ "base": ldap.SCOPE_BASE,
+ "one": ldap.SCOPE_ONELEVEL,
+ "sub": ldap.SCOPE_SUBTREE,
}
LDAP_QUERIES = []
+
def register_query(query):
LDAP_QUERIES.append(query)
+
class ConfigFile(Bcfg2.Server.Plugin.FileBacked):
"""
Config file for the Ldap plugin
@@ -58,6 +60,7 @@ class ConfigFile(Bcfg2.Server.Plugin.FileBacked):
LDAP_QUERIES = []
imp.load_source("ldap_cfg", self.filename)
+
class Ldap(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Connector):
"""
The Ldap plugin allows adding data from an LDAP server to your metadata.
diff --git a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py
index f2b8336e0..d815999f0 100644
--- a/src/lib/Bcfg2/Server/Plugins/NagiosGen.py
+++ b/src/lib/Bcfg2/Server/Plugins/NagiosGen.py
@@ -6,15 +6,15 @@ import sys
import glob
import socket
import logging
-import lxml.etree
import Bcfg2.Server
import Bcfg2.Server.Plugin
-LOGGER = logging.getLogger('Bcfg2.Plugins.NagiosGen')
+LOGGER = logging.getLogger(__name__)
-line_fmt = '\t%-32s %s'
class NagiosGenConfig(Bcfg2.Server.Plugin.StructFile):
+ """ NagiosGen config file handler """
+
def __init__(self, filename, fam):
# create config.xml if missing
if not os.path.exists(filename):
@@ -28,11 +28,10 @@ class NagiosGenConfig(Bcfg2.Server.Plugin.StructFile):
class NagiosGen(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.Generator):
- """NagiosGen is a Bcfg2 plugin that dynamically generates
- Nagios configuration file based on Bcfg2 data.
- """
- name = 'NagiosGen'
+ """ NagiosGen is a Bcfg2 plugin that dynamically generates Nagios
+ configuration file based on Bcfg2 data. """
__author__ = 'bcfg-dev@mcs.anl.gov'
+ line_fmt = '\t%-32s %s'
def __init__(self, core, datastore):
Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
@@ -59,84 +58,47 @@ class NagiosGen(Bcfg2.Server.Plugin.Plugin,
try:
host_address = socket.gethostbyname(metadata.hostname)
except socket.gaierror:
- LOGGER.error("Failed to find IP address for %s" %
- metadata.hostname)
+ self.logger.error("Failed to find IP address for %s" %
+ metadata.hostname)
raise Bcfg2.Server.Plugin.PluginExecutionError
host_groups = [grp for grp in metadata.groups
if os.path.isfile('%s/%s-group.cfg' % (self.data, grp))]
host_config = ['define host {',
- line_fmt % ('host_name', metadata.hostname),
- line_fmt % ('alias', metadata.hostname),
- line_fmt % ('address', host_address)]
+ self.line_fmt % ('host_name', metadata.hostname),
+ self.line_fmt % ('alias', metadata.hostname),
+ self.line_fmt % ('address', host_address)]
if host_groups:
- host_config.append(line_fmt % ("hostgroups",
- ",".join(host_groups)))
+ host_config.append(self.line_fmt % ("hostgroups",
+ ",".join(host_groups)))
- # read the old-style Properties config, but emit a warning.
+ # read the config
xtra = dict()
- props = None
- if (hasattr(metadata, 'Properties') and
- 'NagiosGen.xml' in metadata.Properties):
- props = metadata.Properties['NagiosGen.xml'].data
- if props is not None:
- LOGGER.warn("Parsing deprecated Properties/NagiosGen.xml. "
- "Update to the new-style config with "
- "nagiosgen-convert.py.")
- xtra = dict((el.tag, el.text)
- for el in props.find(metadata.hostname))
- # hold off on parsing the defaults until we've checked for
- # a new-style config
-
- # read the old-style parents.xml, but emit a warning
- pfile = os.path.join(self.data, "parents.xml")
- if os.path.exists(pfile):
- LOGGER.warn("Parsing deprecated NagiosGen/parents.xml. "
- "Update to the new-style config with "
- "nagiosgen-convert.py.")
- parents = lxml.etree.parse(pfile,
- parser=Bcfg2.Server.XMLParser)
- for el in parents.xpath("//Depend[@name='%s']" % metadata.hostname):
- if 'parent' in xtra:
- xtra['parent'] += "," + el.get("on")
- else:
- xtra['parent'] = el.get("on")
-
- # read the new-style config and overwrite the old-style config
for el in self.config.Match(metadata):
if el.tag == 'Option':
xtra[el.get("name")] = el.text
- # if we haven't found anything in the new- or old-style
- # configs, finally read defaults from old-style config
- if not xtra and props is not None:
- xtra = dict((el.tag, el.text) for el in props.find('default'))
-
if xtra:
- host_config.extend([line_fmt % (opt, val)
+ host_config.extend([self.line_fmt % (opt, val)
for opt, val in list(xtra.items())])
else:
- host_config.append(line_fmt % ('use', 'default'))
+ host_config.append(self.line_fmt % ('use', 'default'))
host_config.append('}')
entry.text = "%s\n" % "\n".join(host_config)
- [entry.attrib.__setitem__(key, value)
- for (key, value) in list(self.client_attrib.items())]
+ for (key, value) in list(self.client_attrib.items()):
+ entry.attrib.__setitem__(key, value)
+ fname = os.path.join(self.data, metadata.hostname + "-host.cfg")
try:
- fileh = open("%s/%s-host.cfg" %
- (self.data, metadata.hostname), 'w')
- fileh.write(entry.text)
- fileh.close()
+ open(fname, 'w').write(entry.text)
except OSError:
- ioerr = sys.exc_info()[1]
- LOGGER.error("Failed to write %s/%s-host.cfg" %
- (self.data, metadata.hostname))
- LOGGER.error(ioerr)
+ err = sys.exc_info()[1]
+ self.logger.error("Failed to write %s: %s" % (fname, err))
def createserverconfig(self, entry, _):
"""Build monolithic server configuration file."""
- host_configs = glob.glob('%s/*-host.cfg' % self.data)
- group_configs = glob.glob('%s/*-group.cfg' % self.data)
+ host_configs = glob.glob(os.path.join(self.data, '*-host.cfg'))
+ group_configs = glob.glob(os.path.join(self.data, '*-group.cfg'))
host_data = []
group_data = []
for host in host_configs:
@@ -150,13 +112,11 @@ class NagiosGen(Bcfg2.Server.Plugin.Plugin,
groupfile.close()
entry.text = "%s\n\n%s" % ("\n".join(group_data), "\n".join(host_data))
- [entry.attrib.__setitem__(key, value)
- for (key, value) in list(self.server_attrib.items())]
+ for (key, value) in list(self.server_attrib.items()):
+ entry.attrib.__setitem__(key, value)
+ fname = os.path.join(self.data, "nagiosgen.cfg")
try:
- fileh = open("%s/nagiosgen.cfg" % self.data, 'w')
- fileh.write(entry.text)
- fileh.close()
+ open(fname, 'w').write(entry.text)
except OSError:
- ioerr = sys.exc_info()[1]
- LOGGER.error("Failed to write %s/nagiosgen.cfg" % self.data)
- LOGGER.error(ioerr)
+ err = sys.exc_info()[1]
+ self.logger.error("Failed to write %s: %s" % (fname, err))
diff --git a/src/lib/Bcfg2/Server/Plugins/Ohai.py b/src/lib/Bcfg2/Server/Plugins/Ohai.py
index fbb46f004..ebc03197e 100644
--- a/src/lib/Bcfg2/Server/Plugins/Ohai.py
+++ b/src/lib/Bcfg2/Server/Plugins/Ohai.py
@@ -6,12 +6,10 @@ import lxml.etree
import os
import Bcfg2.Server.Plugin
-# pylint: disable=F0401
try:
import json
except ImportError:
import simplejson as json
-# pylint: enable=F0401
PROBECODE = """#!/bin/sh
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
index 592369029..420c65844 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
@@ -69,7 +69,7 @@ from Bcfg2.Server.Plugins.Packages.Source import SourceInitError, Source, \
LOGGER = logging.getLogger(__name__)
-# pylint: disable=E0611,F0401
+# pylint: disable=E0611
try:
from pulp.client.consumer.config import ConsumerConfig
from pulp.client.api.repository import RepositoryAPI
@@ -78,6 +78,7 @@ try:
HAS_PULP = True
except ImportError:
HAS_PULP = False
+# pylint: enable=E0611
try:
import yum
@@ -91,7 +92,6 @@ except ImportError:
LOGGER.info("Packages: No yum libraries found; forcing use of internal "
"dependency resolver")
-# pylint: enable=E0611,F0401
XP = '{http://linux.duke.edu/metadata/common}'
RP = '{http://linux.duke.edu/metadata/rpm}'
diff --git a/src/lib/Bcfg2/Server/Plugins/Probes.py b/src/lib/Bcfg2/Server/Plugins/Probes.py
index e0f527f2c..872cbb34e 100644
--- a/src/lib/Bcfg2/Server/Plugins/Probes.py
+++ b/src/lib/Bcfg2/Server/Plugins/Probes.py
@@ -10,7 +10,6 @@ import lxml.etree
import Bcfg2.Server
import Bcfg2.Server.Plugin
-# pylint: disable=F0401
try:
from django.db import models
HAS_DJANGO = True
@@ -52,7 +51,6 @@ except ImportError:
HAS_YAML = True
except ImportError:
HAS_YAML = False
-# pylint: enable=F0401
class ClientProbeDataSet(dict):
diff --git a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
index ebcbf3bcc..801e7006d 100644
--- a/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
+++ b/src/lib/Bcfg2/Server/Plugins/PuppetENC.py
@@ -6,7 +6,6 @@ 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:
@@ -14,7 +13,6 @@ 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):
diff --git a/src/lib/Bcfg2/Server/Plugins/Svn2.py b/src/lib/Bcfg2/Server/Plugins/Svn2.py
index 110f2c2eb..19093eb6a 100644
--- a/src/lib/Bcfg2/Server/Plugins/Svn2.py
+++ b/src/lib/Bcfg2/Server/Plugins/Svn2.py
@@ -4,13 +4,11 @@ XML-RPC methods. """
import sys
import Bcfg2.Server.Plugin
-# pylint: disable=F0401
try:
import pysvn
HAS_SVN = False
except ImportError:
HAS_SVN = True
-# pylint: enable=F0401
class Svn2(Bcfg2.Server.Plugin.Plugin,