From 2ad656a8b9fe4fd364dff3a4f6e419699438c714 Mon Sep 17 00:00:00 2001 From: Matt Schwager Date: Wed, 10 Oct 2012 12:26:48 -0400 Subject: Fixed 'event name' error on server startup with ACL as a plugin. Now parsing IP XML file correctly --- src/lib/Bcfg2/Server/Plugins/Acl.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/Bcfg2/Server/Plugins/Acl.py b/src/lib/Bcfg2/Server/Plugins/Acl.py index 907d2b6a6..61162dfca 100644 --- a/src/lib/Bcfg2/Server/Plugins/Acl.py +++ b/src/lib/Bcfg2/Server/Plugins/Acl.py @@ -1,18 +1,35 @@ import os +import logging import Bcfg2.Server.Plugin class AclFile(Bcfg2.Server.Plugin.XMLFileBacked): """ representation of ACL config.xml """ + # 'name' error without this tag + __identifier__ = None + def __init__(self, filename, core=None): + # create config.xml if missing + if not os.path.exists(filename): + LOGGER.warning("Acl: %s missing. " + "Creating empty one for you." % filename) + open(filename, "w").write("") + try: fam = core.fam except AttributeError: fam = None + Bcfg2.Server.Plugin.XMLFileBacked.__init__(self, filename, fam=fam, should_monitor=True) self.core = core self.ips = [] + self.logger = logging.getLogger(self.__class__.__name__) + + def Index(self): + Bcfg2.Server.Plugin.XMLFileBacked.Index(self) + for entry in self.xdata.xpath('//IPs'): + [self.ips.append(i.get('name')) for i in entry.findall('IP')] class Acl(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Connector): @@ -22,3 +39,4 @@ class Acl(Bcfg2.Server.Plugin.Plugin, Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore) Bcfg2.Server.Plugin.Connector.__init__(self) self.config = AclFile(os.path.join(self.data, 'config.xml'), core=core) + -- cgit v1.2.3-1-g7c22