// Validate function checks all validation for AddPeer at server side func (p *PeerService) ValidateAdd(args *RPCPeerAddReq, reply *RPCPeerAddResp) error { opRet = 0 opError = "" if context.MaxOpVersion < 40000 { opRet = -1 opError = fmt.Sprintf("GlusterD instance running on %s is not compatible", *args.Name) } peers, _ := peer.GetPeers() if len(peers) != 0 { opRet = -1 opError = fmt.Sprintf("Peer %s is already part of another cluster", *args.Name) } volumes, _ := volume.GetVolumes() if len(volumes) != 0 { opRet = -1 opError = fmt.Sprintf("Peer %s already has existing volumes", *args.Name) } reply.OpRet = &opRet reply.OpError = &opError return nil }
// ValidateAdd validates AddPeer operation at server side func (p *PeerService) ValidateAdd(nc netctx.Context, args *PeerAddReq) (*PeerAddResp, error) { var opRet int32 var opError string uuid := gdctx.MyUUID.String() if gdctx.MaxOpVersion < 40000 { opRet = -1 opError = fmt.Sprintf("GlusterD instance running on %s is not compatible", args.Name) } volumes, _ := volume.GetVolumes() if len(volumes) != 0 { opRet = -1 opError = fmt.Sprintf("Peer %s already has existing volumes", args.Name) } reply := &PeerAddResp{ OpRet: opRet, OpError: opError, UUID: uuid, PeerName: gdctx.HostName, EtcdPeerAddress: config.GetString("etcdpeeraddress"), } return reply, nil }