summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-08-09 19:57:51 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-08-09 19:57:51 +0000
commit401a70ca7efa2fd922a0f3521b25b2cd4954676a (patch)
tree2b1337334e4c37bea51e5d96118e6c28fe5559d5 /src
parentc89844aaa8f2c9ac40d2d41a7736622e69db106b (diff)
downloadbcfg2-401a70ca7efa2fd922a0f3521b25b2cd4954676a.tar.gz
bcfg2-401a70ca7efa2fd922a0f3521b25b2cd4954676a.tar.bz2
bcfg2-401a70ca7efa2fd922a0f3521b25b2cd4954676a.zip
bundles hardcoded, but metadata works with new datastore
(Logical change 1.26) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@133 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/Metadata.py59
1 files changed, 8 insertions, 51 deletions
diff --git a/src/Metadata.py b/src/Metadata.py
index dc8e2029e..de83b229f 100644
--- a/src/Metadata.py
+++ b/src/Metadata.py
@@ -59,57 +59,6 @@ class ConfigurationRegion(object):
self.scope = scope
self.stype = stype
-class Store(object):
- def __init__(self):
- self.clients = {}
- self.default = {}
- self.bundles = {}
- self.mappings = {}
- self.rw = Lock()
- self.r = Lock()
-
- def __getstate__(self):
- d=self.__dict__.copy()
- del d['rw'], d['r']
- return d
-
- def __setstate__(self,d):
- self.__dict__=d
- self.rw=Lock()
- self.r=Lock()
-
- def GetImage(self,node):
- try:
- return self.clients[node].image
- except NodeConfigurationError, e:
- self.clients[node]=Node(node,self.default['image'],self.default['tags'])
- return self.clients[node].image
-
- def GetTags(self,node):
- try:
- return self.clients[node].tags
- except NodeConfigurationError, e:
- self.clients[node]=Node(node,self.default['image'],self.default['tags'])
- return self.clients[node].image
-
- def AddTag(self,node,tag):
- if GetTags(node).count(tag) == 0:
- self.clients[node].tags.append(tag)
-
- def DelTag(self,node,tag):
- if GetTags(node).count(tag) != 0:
- self.clients[node].tags.remove(tag)
-
- def GetBundles(self,tag):
- return self.bundles.get(tag,[])
-
- def GetNodeBundles(self,node):
- ret = {}
- for tag in self.GetTags(node):
- for bundle in self.GetBundles(tag):
- ret[bundle]=True
- return ret.keys()
-
class Metadata(object):
'''The Metadata class is a container for all classes of metadata used by Bcfg2'''
def __init__(self, all, image, classes, bundles, attributes, hostname):
@@ -133,3 +82,11 @@ class Metadata(object):
return False
return True
+class eMetadata(Metadata):
+ def __init__(self, element):
+ self.all = False
+ self.image = element.attrib['image']
+ self.classes = [x.attrib['name'] for x in element.findall(".//class")]
+ self.bundles = ['ssh']
+ self.attributes = []
+ self.hostname = element.attrib['client']