From 25c01c28b75b8c1b799c61be7981b3aff8fb1f1e Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Mon, 9 Aug 2004 19:57:51 +0000 Subject: make probes work and establish linkage for probe-data }(Logical change 1.26) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@135 ce84e21b-d406-0410-9b95-82705330c041 --- src/BcfgServer.py | 68 ------------------------------------------------------- 1 file changed, 68 deletions(-) delete mode 100644 src/BcfgServer.py (limited to 'src') diff --git a/src/BcfgServer.py b/src/BcfgServer.py deleted file mode 100644 index 81fe72818..000000000 --- a/src/BcfgServer.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python -# $Id: $ - -from syslog import syslog, LOG_INFO -from time import time - -from elementtree.ElementTree import Element, tostring - -from Bcfg2.Core import Core -from Bcfg2.Metadata import Metadata - -from sss.restriction import DataSet, Data -from sss.server import Server - -class MetadataStore(object): - def __init__(self): - self.classes = {} - self.images = {'debian-3.1':['topaz']} - self.tags = {'laptop':['topaz']} - self.bundles = {'global':['ssh'], 'tags':{'laptop':[]}, 'hosts':{}} - - def GetMetadata(self, client): - tags = [k for (k,v) in self.tags.iteritems() if client in v] - bundles = self.bundles['global'] + self.bundles['hosts'].get(client,[]) - bundles += reduce(lambda x,y:x+y, map(lambda b:self.bundles.get(b,[]), tags)) - return Metadata(False, self.images[client], bundles, tags, client) - -class BcfgServer(Server): - __implementation__ = 'Bcfg2' - __component__ = 'bcfg2' - __dispatch__ = {'get-config':'BuildConfig', 'get-probes':'GetProbes', 'probe-data':'CommitProbeData'} - __statefields__ = ['metadata'] - __validate__ = 0 - - def __setup__(self): - self.metadata = MetadataStore() - self.core=Core('/home/desai/data/b2',['bundler'],['sshbase','fstab','myri','cfg','pkgmgr','servicemgr']) - self.__progress__() - - def __progress__(self): - while self.core.fam.fm.pending(): - self.core.fam.HandleEvent() - return 1 - - def BuildConfig(self, xml, (peer,port)): - t = time() - # get metadata for host - 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) - syslog(LOG_INFO, "Generated config for %s in %s seconds"%(peer, time()-t)) - 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() - for i in range(10): - server.__progress__() -- cgit v1.2.3-1-g7c22