Skip to content
This repository has been archived by the owner on Mar 26, 2020. It is now read-only.

Commit

Permalink
Refresh protobuf generated code
Browse files Browse the repository at this point in the history
  • Loading branch information
kshlm committed Oct 12, 2018
1 parent 12648b8 commit ec4a6c6
Show file tree
Hide file tree
Showing 7 changed files with 289 additions and 147 deletions.
2 changes: 1 addition & 1 deletion glusterd2/commands/peers/addpeer.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func addPeerHandler(w http.ResponseWriter, r *http.Request) {
defer client.conn.Close()
logger = logger.WithField("peer", remotePeerAddress)

newconfig := &StoreConfig{store.Store.Endpoints()}
newconfig := &StoreConfig{Endpoints: store.Store.Endpoints()}
logger.WithField("endpoints", newconfig.Endpoints).Debug("asking new peer to join cluster with given endpoints")

// Ask the peer to join the cluster
Expand Down
8 changes: 4 additions & 4 deletions glusterd2/commands/peers/peer-rpc-clnt.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ func getPeerServiceClient(address string) (*peerSvcClnt, error) {
// JoinCluster asks the remote peer to join the current cluster by reconfiguring the store with the given config
func (pc *peerSvcClnt) JoinCluster(conf *StoreConfig) (*JoinRsp, error) {
args := &JoinReq{
gdctx.MyUUID.String(),
gdctx.MyClusterID.String(),
conf,
PeerID: gdctx.MyUUID.String(),
ClusterID: gdctx.MyClusterID.String(),
Config: conf,
}
rsp, err := pc.client.Join(context.TODO(), args)
if err != nil {
Expand All @@ -52,7 +52,7 @@ func (pc *peerSvcClnt) JoinCluster(conf *StoreConfig) (*JoinRsp, error) {

// LeaveCluster asks the remote peer to leave the current cluster
func (pc *peerSvcClnt) LeaveCluster() (*LeaveRsp, error) {
args := &LeaveReq{gdctx.MyUUID.String()}
args := &LeaveReq{PeerID: gdctx.MyUUID.String()}

rsp, err := pc.client.Leave(context.TODO(), args)
if err != nil {
Expand Down
31 changes: 16 additions & 15 deletions glusterd2/commands/peers/peer-rpc-svc.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package peercommands

import (
"context"

"github.com/gluster/glusterd2/glusterd2/events"
"github.com/gluster/glusterd2/glusterd2/gdctx"
"github.com/gluster/glusterd2/glusterd2/peer"
Expand All @@ -11,7 +13,6 @@ import (
"github.com/pborman/uuid"

log "github.com/sirupsen/logrus"
"golang.org/x/net/context"
"google.golang.org/grpc"
)

Expand Down Expand Up @@ -39,7 +40,7 @@ func (p *PeerService) Join(ctx context.Context, req *JoinReq) (*JoinRsp, error)
defer mutex.Unlock()
} else {
logger.Info("rejecting join request, already processing another join/leave request")
return &JoinRsp{"", int32(ErrAnotherReqInProgress)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrAnotherReqInProgress)}, nil
}

logger.Info("handling new incoming join cluster request")
Expand All @@ -56,22 +57,22 @@ func (p *PeerService) Join(ctx context.Context, req *JoinReq) (*JoinRsp, error)
peers, err := peer.GetPeersF()
if err != nil {
logger.WithError(err).Error("failed to connect to store")
return &JoinRsp{"", int32(ErrFailedToConnectToStore)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrFailedToConnectToStore)}, nil
}
if len(peers) != 1 {
logger.Info("rejecting join, already part of a cluster")
return &JoinRsp{"", int32(ErrAnotherCluster)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrAnotherCluster)}, nil
}

volumes, err := volume.GetVolumes(context.TODO())
if err != nil {
logger.WithError(err).Error("failed to connect to store")
return &JoinRsp{"", int32(ErrFailedToConnectToStore)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrFailedToConnectToStore)}, nil
}

if len(volumes) != 0 {
logger.Info("rejecting join, we already have volumes")
return &JoinRsp{"", int32(ErrAnotherCluster)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrAnotherCluster)}, nil
}

logger.Debug("all checks passed, joining new cluster")
Expand All @@ -86,18 +87,18 @@ func (p *PeerService) Join(ctx context.Context, req *JoinReq) (*JoinRsp, error)
}
}(gdctx.MyClusterID.String())
if err := gdctx.UpdateClusterID(req.ClusterID); err != nil {
return &JoinRsp{"", int32(ErrClusterIDUpdateFailed)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrClusterIDUpdateFailed)}, nil
}

if err := ReconfigureStore(req.Config); err != nil {
logger.WithError(err).Error("reconfigure store failed, failed to join new cluster")
return &JoinRsp{"", int32(ErrStoreReconfigFailed)}, nil
return &JoinRsp{PeerID: "", Err: int32(ErrStoreReconfigFailed)}, nil
}
success = true
logger.Debug("reconfigured store to join new cluster")

logger.Info("joined new cluster")
return &JoinRsp{gdctx.MyUUID.String(), int32(ErrNone)}, nil
return &JoinRsp{PeerID: gdctx.MyUUID.String(), Err: int32(ErrNone)}, nil
}

// Leave makes the peer leave its current cluster, and restart as a single node cluster
Expand All @@ -108,7 +109,7 @@ func (p *PeerService) Leave(ctx context.Context, req *LeaveReq) (*LeaveRsp, erro
defer mutex.Unlock()
} else {
logger.Info("rejecting leave request, already processing another join/leave request")
return &LeaveRsp{int32(ErrAnotherReqInProgress)}, nil
return &LeaveRsp{Err: int32(ErrAnotherReqInProgress)}, nil
}

logger.Info("handling incoming leave cluster request")
Expand All @@ -124,10 +125,10 @@ func (p *PeerService) Leave(ctx context.Context, req *LeaveReq) (*LeaveRsp, erro

if p, err := peer.GetPeer(req.PeerID); err != nil {
logger.Info("could not verify peer")
return &LeaveRsp{int32(ErrUnknownPeer)}, nil
return &LeaveRsp{Err: int32(ErrUnknownPeer)}, nil
} else if p == nil {
logger.Info("rejecting leave, request received from unknown peer")
return &LeaveRsp{int32(ErrUnknownPeer)}, nil
return &LeaveRsp{Err: int32(ErrUnknownPeer)}, nil
}
logger.Debug("request received from known peer")

Expand All @@ -147,16 +148,16 @@ func (p *PeerService) Leave(ctx context.Context, req *LeaveReq) (*LeaveRsp, erro
}
}(gdctx.MyClusterID.String())
if err := gdctx.UpdateClusterID(uuid.New()); err != nil {
return &LeaveRsp{int32(ErrClusterIDUpdateFailed)}, nil
return &LeaveRsp{Err: int32(ErrClusterIDUpdateFailed)}, nil
}

logger.Debug("reconfiguring store with defaults")
if err := ReconfigureStore(&StoreConfig{store.NewConfig().Endpoints}); err != nil {
if err := ReconfigureStore(&StoreConfig{Endpoints: store.NewConfig().Endpoints}); err != nil {
logger.WithError(err).Warn("failed to reconfigure store with defaults")
// XXX: We should probably keep retrying here?
}
success = true
return &LeaveRsp{int32(ErrNone)}, nil
return &LeaveRsp{Err: int32(ErrNone)}, nil
}

// ReconfigureStore reconfigures the store with the given store config, if no
Expand Down
Loading

0 comments on commit ec4a6c6

Please sign in to comment.