summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2013-03-21 09:36:34 -0500
committerSol Jerome <sol.jerome@gmail.com>2013-03-21 09:36:34 -0500
commit7d22e7fe4bff3c229ed0cb8d3a792e508ba13cce (patch)
tree54d1dfc689ef0e4bc0d0c178c45e3fd55901d77a /src
parent98ef06e6a0426958f476f2835839aea5de3f7bc6 (diff)
parent5feb76d97c6b26228dcf521659f434c6b576310c (diff)
downloadbcfg2-7d22e7fe4bff3c229ed0cb8d3a792e508ba13cce.tar.gz
bcfg2-7d22e7fe4bff3c229ed0cb8d3a792e508ba13cce.tar.bz2
bcfg2-7d22e7fe4bff3c229ed0cb8d3a792e508ba13cce.zip
Merge branch 'maint'
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Client/Tools/YUM.py12
-rw-r--r--src/lib/Bcfg2/Logger.py6
-rw-r--r--src/lib/Bcfg2/Reporting/templates/base.html2
-rw-r--r--src/lib/Bcfg2/Server/Admin/Init.py1
-rw-r--r--src/lib/Bcfg2/Server/FileMonitor/Inotify.py4
-rw-r--r--src/lib/Bcfg2/version.py2
-rwxr-xr-xsrc/sbin/bcfg2-reports12
7 files changed, 24 insertions, 15 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/YUM.py b/src/lib/Bcfg2/Client/Tools/YUM.py
index 7764a6808..c9fae7fc7 100644
--- a/src/lib/Bcfg2/Client/Tools/YUM.py
+++ b/src/lib/Bcfg2/Client/Tools/YUM.py
@@ -289,7 +289,7 @@ class YUM(Bcfg2.Client.Tools.PkgTool):
def missing_attrs(self, entry):
""" Implementing from superclass to check for existence of either
- name or group attribute for Package entry in the case of a YUM
+ name or group attribute for Package entry in the case of a YUM
group. """
missing = Bcfg2.Client.Tools.PkgTool.missing_attrs(self, entry)
@@ -456,16 +456,16 @@ class YUM(Bcfg2.Client.Tools.PkgTool):
group_type = entry.get('choose', 'default')
if group_type in ['default', 'optional', 'all']:
group_packages += [p
- for p, d in
+ for p, d in
group.default_packages.items()
if d]
if group_type in ['optional', 'all']:
group_packages += [p
- for p, d in
+ for p, d in
group.optional_packages.items()
if d]
if len(group_packages) == 0:
- self.logger.error("No packages found for group %s" %
+ self.logger.error("No packages found for group %s" %
entry.get("group"))
for pkg in group_packages:
# create package instances for each package in yum group
@@ -478,7 +478,7 @@ class YUM(Bcfg2.Client.Tools.PkgTool):
instance.attrib['version'] = newest['version']
instance.attrib['epoch'] = newest['epoch']
instance.attrib['release'] = newest['release']
- except:
+ except: # pylint: disable=W0702
self.logger.info("Error finding newest package "
"for %s" %
pkg)
@@ -511,7 +511,7 @@ class YUM(Bcfg2.Client.Tools.PkgTool):
continue # Ignore duplicate instances
else:
pkg_cache.append(nevra)
-
+
self.logger.debug("Verifying: %s" % nevra2string(nevra))
# Set some defaults here
diff --git a/src/lib/Bcfg2/Logger.py b/src/lib/Bcfg2/Logger.py
index c2eac1e60..89fa9fb79 100644
--- a/src/lib/Bcfg2/Logger.py
+++ b/src/lib/Bcfg2/Logger.py
@@ -105,7 +105,11 @@ class FragmentingSysLogHandler(logging.handlers.SysLogHandler):
(self.encodePriority(self.facility, newrec.levelname.lower()),
self.format(newrec))
try:
- self.socket.send(msg.encode('ascii'))
+ try:
+ encoded = msg.encode('utf-8')
+ except UnicodeDecodeError:
+ encoded = msg
+ self.socket.send(encoded)
except socket.error:
for i in range(10): # pylint: disable=W0612
try:
diff --git a/src/lib/Bcfg2/Reporting/templates/base.html b/src/lib/Bcfg2/Reporting/templates/base.html
index 67ff1fc36..c73339911 100644
--- a/src/lib/Bcfg2/Reporting/templates/base.html
+++ b/src/lib/Bcfg2/Reporting/templates/base.html
@@ -88,7 +88,7 @@
<div style='clear:both'></div>
</div><!-- document -->
<div id="footer">
- <span>Bcfg2 Version 1.3.0</span>
+ <span>Bcfg2 Version 1.3.1</span>
</div>
<div id="calendar_div" style='position:absolute; visibility:hidden; background-color:white; layer-background-color:white;'></div>
diff --git a/src/lib/Bcfg2/Server/Admin/Init.py b/src/lib/Bcfg2/Server/Admin/Init.py
index 3e642ee49..4b8d65597 100644
--- a/src/lib/Bcfg2/Server/Admin/Init.py
+++ b/src/lib/Bcfg2/Server/Admin/Init.py
@@ -13,6 +13,7 @@ import subprocess
import Bcfg2.Server.Admin
import Bcfg2.Server.Plugin
import Bcfg2.Options
+import Bcfg2.Server.Plugins.Metadata
from Bcfg2.Compat import input # pylint: disable=W0622
# default config file
diff --git a/src/lib/Bcfg2/Server/FileMonitor/Inotify.py b/src/lib/Bcfg2/Server/FileMonitor/Inotify.py
index 178a47b1a..b44ff6970 100644
--- a/src/lib/Bcfg2/Server/FileMonitor/Inotify.py
+++ b/src/lib/Bcfg2/Server/FileMonitor/Inotify.py
@@ -2,6 +2,7 @@
support. """
import os
+import errno
import logging
import pyinotify
from Bcfg2.Compat import reduce # pylint: disable=W0622
@@ -182,6 +183,9 @@ class Inotify(Pseudo, pyinotify.ProcessEvent):
try:
watchdir = self.watches_by_path[watch_path]
except KeyError:
+ if not os.path.exists(watch_path):
+ raise OSError(errno.ENOENT,
+ "No such file or directory: '%s'" % path)
watchdir = self.watchmgr.add_watch(watch_path, self.mask,
quiet=False)[watch_path]
self.watches_by_path[watch_path] = watchdir
diff --git a/src/lib/Bcfg2/version.py b/src/lib/Bcfg2/version.py
index 9ecd7f32d..6f3ba3e49 100644
--- a/src/lib/Bcfg2/version.py
+++ b/src/lib/Bcfg2/version.py
@@ -2,7 +2,7 @@
import re
-__version__ = "1.3.0"
+__version__ = "1.3.1"
class Bcfg2VersionInfo(tuple):
diff --git a/src/sbin/bcfg2-reports b/src/sbin/bcfg2-reports
index 9f2ff96c2..2c4a918be 100755
--- a/src/sbin/bcfg2-reports
+++ b/src/sbin/bcfg2-reports
@@ -10,7 +10,7 @@ from Bcfg2.Compat import ConfigParser
try:
import Bcfg2.settings
except ConfigParser.NoSectionError:
- print("Your bcfg2.conf is currently missing the statistics section which "
+ print("Your bcfg2.conf is currently missing the [database] section which "
"is necessary for the reporting interface. Please see bcfg2.conf(5) "
"for more details.")
sys.exit(1)
@@ -121,7 +121,7 @@ def main():
help="Show hosts that haven't run in the last 24 "
"hours")
parser.add_option_group(allhostmodes)
-
+
# entry modes
entrymodes = \
OptionGroup(parser, "Entry Modes",
@@ -166,7 +166,7 @@ def main():
(mode.get_opt_string(), opt.get_opt_string()))
mode = opt
mode_family = parser.get_option_group(opt.get_opt_string())
-
+
# you can specify more than one of --bad, --extra, --modified, --show, so
# consider single-host options separately
if not mode_family:
@@ -174,7 +174,7 @@ def main():
if getattr(options, opt.dest):
mode_family = parser.get_option_group(opt.get_opt_string())
break
-
+
if not mode_family:
parser.error("You must specify a mode")
@@ -243,7 +243,7 @@ def main():
parser.error("%s require either a list of entries on the "
"command line or the --file options" %
mode_family.title)
-
+
if options.badentry:
result = hosts_by_entry_type(clients, "bad", entries)
elif options.modifiedentry:
@@ -263,7 +263,7 @@ def main():
# todo batch fetch this. sqlite could break
for client in clients:
- ents = entry_cls.objects.filter(name=entries[0][1],
+ ents = entry_cls.objects.filter(name=entries[0][1],
interaction=client.current_interaction)
if len(ents) == 0:
continue