diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-08-02 18:25:00 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-08-02 18:25:00 +0000 |
commit | 9c7ec661cb558e74e5f669d534346f2a5c7b3777 (patch) | |
tree | 177f7b57783f00b8ff23b982773d32359b8406ff | |
parent | e2ef1002043847c0d90dc64a7c96cee6c7781a8c (diff) | |
download | bcfg2-9c7ec661cb558e74e5f669d534346f2a5c7b3777.tar.gz bcfg2-9c7ec661cb558e74e5f669d534346f2a5c7b3777.tar.bz2 bcfg2-9c7ec661cb558e74e5f669d534346f2a5c7b3777.zip |
basically working
(Logical change 1.24)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@113 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r-- | src/BcfgServer.py | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/BcfgServer.py b/src/BcfgServer.py index 9ad2d90b3..8a403ac5a 100644 --- a/src/BcfgServer.py +++ b/src/BcfgServer.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # $Id: $ +from elementtree.ElementTree import Element, tostring + from Bcfg2.Core import Core from Bcfg2.Metadata import Metadata @@ -22,8 +24,9 @@ class MetadataStore(object): class BcfgServer(Server): __implementation__ = 'Bcfg2' __component__ = 'bcfg2' - __dispatch__ = {'get-config':'GetConfig'} + __dispatch__ = {'get-config':'BuildConfig', 'get-probes':'GetProbes', 'probe-data':'CommitProbeData'} __statefields__ = ['metadata'] + __validate__ = 0 def __setup__(self): self.metadata = MetadataStore() @@ -33,15 +36,27 @@ class BcfgServer(Server): def __progress__(self): while self.core.fam.fm.pending(): self.core.fam.HandleEvent() + return 1 def BuildConfig(self, xml, (peer,port)): # get metadata for host - # m = Metadata(???) - for s in self.core.GetStructures(m): - # build the actual config - pass + config = Element("Configuration", version='2.0') + m = Metadata(False, 'chiba-rh73', ['ssh'], [], 'topaz') + structures = self.core.GetStructures(m) + # for s in structures: + # self.core.BindStructure(s, m) + # config.append(s) + # for x in s.getchildren(): + # print x.attrib['name'], '\000' in tostring(x) + return config + + def GetProbes(self, xml, (peer,port)): + return Element("probes") + + def CommitProbeData(self, xml, (peer,port)): + return Element("success") if __name__ == '__main__': server = BcfgServer() - while server.core.fam.fm.pending(): - server.core.fam.HandleEvent() + for i in range(10): + server.__progress__() |