etcdclient = etcdlib.Client(etcdaddr, prefix = G_clustername) except Exception: logger.error ("connect etcd failed, maybe etcd address not correct...") sys.exit(1) mode = 'recovery' if len(sys.argv) > 1 and sys.argv[1] == "new": mode = 'new' # do some initialization for mode: new/recovery if mode == 'new': # clean and initialize the etcd table if etcdclient.isdir(""): etcdclient.clean() else: etcdclient.createdir("") token = tools.gen_token() tokenfile = open(fs_path+"/global/token", 'w') tokenfile.write(token) tokenfile.write("\n") tokenfile.close() etcdclient.setkey("token", token) etcdclient.setkey("service/master", ipaddr) etcdclient.setkey("service/mode", mode) etcdclient.createdir("machines/allnodes") etcdclient.createdir("machines/runnodes") etcdclient.setkey("vcluster/nextid", "1") # clean all users vclusters files : FS_PREFIX/global/users/<username>/clusters/<clusterid> usersdir = fs_path+"/global/users/" for user in os.listdir(usersdir): shutil.rmtree(usersdir+user+"/clusters") shutil.rmtree(usersdir+user+"/hosts")
if len(sys.argv) > 1 and sys.argv[1] == "new": mode = 'new' # get public IP and set public Ip in etcd public_IP = env.getenv("PUBLIC_IP") etcdclient.setkey("machines/publicIP/" + ipaddr, public_IP) # do some initialization for mode: new/recovery if mode == 'new': # clean and initialize the etcd table if etcdclient.isdir(""): etcdclient.clean() else: etcdclient.createdir("") # token is saved at fs_path/golbal/token token = tools.gen_token() tokenfile = open(fs_path + "/global/token", 'w') tokenfile.write(token) tokenfile.write("\n") tokenfile.close() etcdclient.setkey("token", token) etcdclient.setkey("service/master", ipaddr) etcdclient.setkey("service/mode", mode) etcdclient.createdir("machines/allnodes") etcdclient.createdir("machines/runnodes") etcdclient.setkey("vcluster/nextid", "1") # clean all users vclusters files : FS_PREFIX/global/users/<username>/clusters/<clusterid> usersdir = fs_path + "/global/users/" for user in os.listdir(usersdir): shutil.rmtree(usersdir + user + "/clusters") shutil.rmtree(usersdir + user + "/hosts")