def main(): try: if len(sys.argv) < 2: raise Exception("Usage: remotestores.py <list>|<create>|<remove>|<createDisk>|<removeDisk>") action = sys.argv[1] stores = StoreList() if action == "list": stores.write(sys.stdout) elif action == "create": if len(sys.argv) < 5: raise Exception("Usage: remotestores.py create <disk uuid> <store uuid> <type>") ret = stores.addStore(sys.argv[2], sys.argv[3], sys.argv[4]) return xmlmsg("result", ret) elif action == "remove": if len(sys.argv) < 3: raise Exception("Usage: remotestores.py remove <store uuid>") ret = stores.removeStore(sys.argv[2]) return xmlmsg("result", ret) elif action == "createDisk": if len(sys.argv) < 4: raise Exception("Usage: remotestores.py createDisk <disk uuid> <host>") ret = stores.addDisk(sys.argv[2], sys.argv[3]) return xmlmsg("result", ret) elif action == "removeDisk": if len(sys.argv) < 3: raise Exception("Usage: remotestores.py removeDisk <disk uuid>") ret = stores.removeDisk(sys.argv[2]) return xmlmsg("result", ret) else: raise Exception("Usage: stores.py <list>|<create>|<remove>|<createDisk>|<removeDisk>") except Exception, e: return xmlmsg("error", str(e))