From 826f385767ccf9f608fcfbe35e381a9dbc59db4b Mon Sep 17 00:00:00 2001 From: Mike McCallister Date: Sat, 15 Oct 2011 22:06:31 -0500 Subject: Improve error handling of Packages plugin. Provide a descriptive error message that avoids logging a traceback. Error out (instead of continuing) upon receiving an HTTP error or an indication that the URL is malformed. Only write data to the cache file if it was successfully retrieved from the URL. Make log messages for Packages plugin use consistent "Packages:" prefix. --- src/lib/Server/Plugins/Packages/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/lib/Server/Plugins/Packages/__init__.py') diff --git a/src/lib/Server/Plugins/Packages/__init__.py b/src/lib/Server/Plugins/Packages/__init__.py index 4fe785f40..3ee4f21dd 100644 --- a/src/lib/Server/Plugins/Packages/__init__.py +++ b/src/lib/Server/Plugins/Packages/__init__.py @@ -140,7 +140,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin, base.update(collection.get_group(pkg.get("group"))) to_remove.append(pkg) else: - self.logger.error("Malformed Package: %s" % + self.logger.error("Packages: Malformed Package: %s" % lxml.etree.tostring(pkg)) base.update(initial) for el in to_remove: @@ -148,10 +148,10 @@ class Packages(Bcfg2.Server.Plugin.Plugin, packages, unknown = collection.complete(base) if unknown: - self.logger.info("Got %d unknown entries" % len(unknown)) - self.logger.info(list(unknown)) + self.logger.info("Packages: Got %d unknown entries" % len(unknown)) + self.logger.info("Packages: %s" % list(unknown)) newpkgs = list(packages.difference(initial)) - self.logger.debug("%d initial, %d complete, %d new" % + self.logger.debug("Packages: %d initial, %d complete, %d new" % (len(initial), len(packages), len(newpkgs))) newpkgs.sort() for pkg in newpkgs: @@ -221,7 +221,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin, keyfiles.append(localfile) if ((force_update and key not in keys) or not os.path.exists(localfile)): - self.logger.info("Downloading and parsing %s" % key) + self.logger.info("Packages: Downloading and parsing %s" % key) response = urlopen(key) open(localfile, 'w').write(response.read()) keys.append(key) -- cgit v1.2.3-1-g7c22