summaryrefslogtreecommitdiffstats
path: root/generators/servicemgr.py
diff options
context:
space:
mode:
Diffstat (limited to 'generators/servicemgr.py')
-rw-r--r--generators/servicemgr.py28
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'
+