diff options
Diffstat (limited to 'generators/servicemgr.py')
-rw-r--r-- | generators/servicemgr.py | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/generators/servicemgr.py b/generators/servicemgr.py index 40c4ffc47..98d3aa274 100644 --- a/generators/servicemgr.py +++ b/generators/servicemgr.py @@ -1,8 +1,18 @@ #!/usr/bin/env python from Generator import Generator -from GeneratorUtils import DirectoryBacked -from Types import Service +from GeneratorUtils import XMLFileBacked + + +class ServiceList(XMLFileBacked): + def __init__(self, filename, fam): + XMLFileBacked.__init__(self, filename) + fam.AddMonitor(filename) + + def Index(self): + a = XML(self.data) + self.name = a.attrib['name'] + self.entries = a.getchildren() class servicemgr(Generator): '''This is a generator that handles service assignments''' @@ -10,12 +20,14 @@ class servicemgr(Generator): __version__ = '$Id$' __author__ = 'bcfg-dev@mcs.anl.gov' - __provides__ = {'Service':{'sshd':'GetService'}} + def __setup__(self): + self.__provides__ = {'Service':{'sshd':self.GetService}} + #self.datafile = ServiceList("%s/packages.xml"%(self.data)) + pass - def GetService(self,name,metadata): + def GetService(self,entry,metadata): # for now sshd is on - if name == 'sshd': - return Service('sshd','chkconfig','on','global') - else: - return Service(name,'chkconfig','off','local') + if entry.attrib['name'] == 'sshd': + entry.attrib['status'] = 'on' + |