def join_cluster(instance_path, source_name): print("Connecting to {}:1234".format(source_name)) # Get the peerid of the source conn, cg = network.connect(None, (source_name, 1234)) msg = pb2.JoinCluster() msg.peer_id = userconfig.get_user_config()["peerid"] msg.version = "0.1" msg.proto_version = 1 conn.send(pb2.JOIN_CLUSTER, msg) cluster_info_pkt = conn.get_result(pb2.CLUSTER_INFO) msg = cluster_info_pkt.message print("Joining cluster {}".format(msg.cluster_id)) static_info = {"cluster_id": msg.cluster_id} if not os.path.isdir(instance_path): os.makedirs(instance_path) inst = instance.Instance.create(instance_path, static_info) print("Unpickling file index") inst.fi = pickle.loads(cluster_info_pkt.data) peer_info_pkt = conn.get_result(pb2.PEER_ANNOUNCE) msg = peer_info_pkt.message conn.close() pi = inst.get_peer_info(msg.peer_id) pi.update_addr((source_name, 1234)) inst.save()
def setUp(self): self.tempdir = tempfile.mkdtemp("autofs") self.inst = instance.Instance.create(self.tempdir) self.server = network.start_server(self.inst) gevent.sleep(1) self.pc = network.connect(None, ("127.0.0.1", 1234)) userconfig._uc = {"peerid": "254af13a-e698-11e1-a3d2-68a86d09cc32"}