summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-08-10 21:16:10 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-08-10 21:16:10 +0000
commit7a33177fca8c028badbdf682208e30d713a1ff1e (patch)
tree38d028f19606004fb76aec11bb278efe50b02233 /src
parent68b399fa374665be21053eaf13aaff634f164a86 (diff)
downloadbcfg2-7a33177fca8c028badbdf682208e30d713a1ff1e.tar.gz
bcfg2-7a33177fca8c028badbdf682208e30d713a1ff1e.tar.bz2
bcfg2-7a33177fca8c028badbdf682208e30d713a1ff1e.zip
(Logical change 1.29)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@146 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/bcfg2meta57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/bcfg2meta b/src/bcfg2meta
index e69de29bb..4b5e94a97 100644
--- a/src/bcfg2meta
+++ b/src/bcfg2meta
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+
+# $Id: $
+
+from getopt import getopt, GetoptError
+from string import join
+from sys import argv, exit
+
+from Metadata import MetadataStore
+
+def dgetopt(arglist, opt, vopt):
+ r = {}
+ for o in opt.values() + vopt.values():
+ r[o] = False
+ gstr = join(opt.keys()) + join([x+':' for x in vopt.keys()])
+ try:
+ (o, a) = getopt(arglist, gstr)
+ except GetoptError, g:
+ print g
+ print "bcfg2 Usage:"
+ for (k,v) in opt.iteritems():
+ print " -%s %s"%(k,v)
+ for (k,v) in vopt.iteritems():
+ print " -%s <%s>"%(k,v)
+ exit(1)
+ for (gopt,garg) in o:
+ option = gopt[1:]
+ if opt.has_key(option):
+ r[opt[option]] = True
+ else:
+ r[vopt[option]] = garg
+ return r
+
+class StaticMetadataStore(MetadataStore):
+ def __init__(self, filename):
+ self.data = open(filename).read()
+ self.Index()
+
+if __name__ == '__main__':
+ vopts = {'g':'get', 's':'set', 'i':'image', 'c':'classes'}
+ setup = dgetopt(argv[1:], {}, vopts)
+
+ ops = filter(lambda x:setup[x], ['get','set'])
+ if len(filter(lambda x:setup[x], ['get','set'])) != 1:
+ print "confused"
+ exit(1)
+
+ op = ops[0]
+
+ data = StaticMetadataStore('/home/desai/data/b2/common/metadata.xml')
+
+ client = setup[op]
+
+ if op == 'get':
+ if data.clients.has_key(client):
+ m = data.clients[client]
+ print "Host: %s\t\tImage: %s\n\tClasses: %s\n\tBundles: %s"%(client, m.image, join(m.classes,','), join(m.bundles,','))