import boto.sdb import sys from pprint import pprint appId = "{{ priam_clustername }}" def put_record(domain, prop, val): print "Inserting into %s: %s -> %s" % (domain, prop, val) itemname = "%s.%s" % (appId, prop) sdb.put_attributes(domain, itemname, {"appId" : appId, "property" : prop, "value" : val}) return sdb = boto.sdb.connect_to_region("us-east-1") ii = sdb.lookup("InstanceIdentity", validate=True) if ii is None: print "No InstanceIdentity, creating." ii = sdb.create_domain("InstanceIdentity") pp = sdb.lookup("PriamProperties", validate=True) if pp is None: print "No PriamProperties, creating." pp = sdb.create_domain("PriamProperties") put_record("PriamProperties", "priam.s3.bucket", "{{ priam_s3_bucket }}") put_record("PriamProperties", "priam.s3.base_dir", "{{ priam_s3_base_dir }}") put_record("PriamProperties", "priam.clustername", "{{ priam_clustername }}") put_record("PriamProperties", "priam.data.location", "{{ cassandra_data_location }}") put_record("PriamProperties", "priam.cache.location", "{{ cassandra_cache_location }}") put_record("PriamProperties", "priam.commitlog.location", "{{ cassandra_commitlog_location }}")
#!/usr/bin/python import sys import boto.sdb if len(sys.argv) != 3: print "must supply cluster and hostname to remove" sys.exit(1) cluster = sys.argv[1] hostname = sys.argv[2] print "Removing hostname %s from cluster %s:" % (hostname, cluster) sdb = boto.sdb.connect_to_region("us-east-1") ii = sdb.lookup("InstanceIdentity", validate=True) result = sdb.select( 'InstanceIdentity', 'select * from InstanceIdentity where (appId="%s" or appId="%s-dead") and hostname="%s"' % (cluster, cluster, hostname)) for l in result: print "Removing Item %s: " % l.name ii.delete_item(l)
#!/usr/bin/python import sys import boto.sdb if len(sys.argv) != 2: print "must supply cluster to remove" sys.exit(1) cluster = sys.argv[1] print "Removing cluster %s:" % cluster sdb = boto.sdb.connect_to_region("us-east-1") pp = sdb.lookup("PriamProperties", validate=True) result = sdb.select( 'PriamProperties', 'select * from PriamProperties where appId="%s" or appId="%s-dead"' % (cluster, cluster)) for l in result: print "Removing Item %s: " % l.name pp.delete_item(l)
#!/usr/bin/python import sys import boto.sdb if len(sys.argv) != 2: print "must supply cluster to remove" sys.exit(1) cluster = sys.argv[1] print "Removing cluster %s:" % cluster sdb = boto.sdb.connect_to_region("us-east-1") ii = sdb.lookup("InstanceIdentity", validate=True) result = sdb.select('InstanceIdentity', 'select * from InstanceIdentity where appId="%s" or appId="%s-dead"' % (cluster, cluster)) for l in result: print "Removing Item %s: " % l.name ii.delete_item(l)
#!/usr/bin/python import sys import boto.sdb if len(sys.argv) != 4: print "must supply cluster name, key, and value to set" sys.exit(1) cluster = sys.argv[1] key = "priam.%s" % sys.argv[2] val = sys.argv[3] sdb = boto.sdb.connect_to_region("us-east-1") pp = sdb.lookup("PriamProperties", validate=True) itemname = "%s.%s" % (cluster, key) if val != "DELETE": sdb.put_attributes(pp, itemname, {"appId" : cluster, "property" : key, "value" : val}) else: sdb.delete_attributes(pp, itemname)