summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Client/Tools/RPMng.py14
-rw-r--r--src/lib/Client/Tools/__init__.py10
2 files changed, 23 insertions, 1 deletions
diff --git a/src/lib/Client/Tools/RPMng.py b/src/lib/Client/Tools/RPMng.py
index 6dca8e142..3d0522950 100644
--- a/src/lib/Client/Tools/RPMng.py
+++ b/src/lib/Client/Tools/RPMng.py
@@ -704,6 +704,12 @@ class RPMng(Bcfg2.Client.Tools.PkgTool):
if not self.handlesEntry(entry):
return False
+ if 'failure' in entry.attrib:
+ self.logger.error("Cannot install entry %s:%s with bind failure" % \
+ (entry.tag, entry.get('name')))
+ return False
+
+
instances = entry.findall('Instance')
# If the entry wasn't verifiable, then we really don't want to try and fix something
@@ -780,8 +786,14 @@ class RPMng(Bcfg2.Client.Tools.PkgTool):
if not self.handlesEntry(entry):
return False
+ if 'failure' in entry.attrib:
+ self.logger.error("Entry %s:%s reports bind failure: %s" % \
+ (entry.tag, entry.get('name'), entry.get('failure')))
+ return False
+
# We don't want to do any checks so we don't care what the entry has in it.
- if self.pkg_checks == 'false' or entry.get('pkg_checks', 'true').lower() == 'false':
+ if self.pkg_checks == 'false' or \
+ entry.get('pkg_checks', 'true').lower() == 'false':
return True
instances = entry.findall('Instance')
diff --git a/src/lib/Client/Tools/__init__.py b/src/lib/Client/Tools/__init__.py
index d44356f9b..79d273fb3 100644
--- a/src/lib/Client/Tools/__init__.py
+++ b/src/lib/Client/Tools/__init__.py
@@ -164,6 +164,11 @@ class Tool:
if not self.handlesEntry(entry):
return False
+ if 'failure' in entry.attrib:
+ self.logger.error("Entry %s:%s reports bind failure: %s" % \
+ (entry.tag, entry.get('name'), entry.get('failure')))
+ return False
+
missing = [attr for attr in self.__req__[entry.tag] \
if attr not in entry.attrib]
if missing:
@@ -188,6 +193,11 @@ class Tool:
if not self.handlesEntry(entry):
return False
+ if 'failure' in entry.attrib:
+ self.logger.error("Cannot install entry %s:%s with bind failure" % \
+ (entry.tag, entry.get('name')))
+ return False
+
missing = [attr for attr in self.__ireq__[entry.tag] \
if attr not in entry.attrib or not entry.attrib[attr]]
if missing: