summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2014-02-23 23:54:28 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2014-02-23 23:54:59 -0500
commit1f0515a25551eee4dce6af96210aef8f6fdc0e8c (patch)
tree49243d3cd3aba10556df4baef334a5bcc94bcfb9
parentc6a1de59fbd49b3e1b24a7fb4e55f109e8a54e2e (diff)
downloadbcfg2-1f0515a25551eee4dce6af96210aef8f6fdc0e8c.tar.gz
bcfg2-1f0515a25551eee4dce6af96210aef8f6fdc0e8c.tar.bz2
bcfg2-1f0515a25551eee4dce6af96210aef8f6fdc0e8c.zip
bcfg2-lint: Verify abstract Package tags
-rw-r--r--src/lib/Bcfg2/Server/Lint/RequiredAttrs.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Lint/RequiredAttrs.py b/src/lib/Bcfg2/Server/Lint/RequiredAttrs.py
index 1d12ee461..ce8b237b9 100644
--- a/src/lib/Bcfg2/Server/Lint/RequiredAttrs.py
+++ b/src/lib/Bcfg2/Server/Lint/RequiredAttrs.py
@@ -214,6 +214,16 @@ class RequiredAttrs(Bcfg2.Server.Lint.ServerPlugin):
xdata.xpath("//*[substring(name(), 1, 5) = 'Bound']"):
self.check_entry(path, bundle.name)
+ # ensure that abstract Package tags have either name
+ # or group specified
+ for package in xdata.xpath("//Package"):
+ if ('name' not in package.attrib and
+ 'group' not in package.attrib):
+ self.LintError(
+ "required-attrs-missing",
+ "Package tags require either a 'name' or 'group' "
+ "attribute: \n%s" % self.RenderXML(package))
+
def check_entry(self, entry, filename):
""" Generic entry check.