Add a method to export membership info to v2 store from RaftCluster
Signed-off-by: Geeta Gharpure <geetagh@amazon.com>
This commit is contained in:
@ -28,6 +28,7 @@ import (
|
||||
"go.etcd.io/etcd/api/v3/version"
|
||||
"go.etcd.io/etcd/client/pkg/v3/types"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/api/membership"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/api/v2store"
|
||||
"go.etcd.io/etcd/server/v3/etcdserver/errors"
|
||||
|
||||
"github.com/coreos/go-semver/semver"
|
||||
@ -416,3 +417,14 @@ func convertToClusterVersion(v string) (*semver.Version, error) {
|
||||
ver = &semver.Version{Major: ver.Major, Minor: ver.Minor}
|
||||
return ver, nil
|
||||
}
|
||||
|
||||
func GetMembershipInfoInV2Format(lg *zap.Logger, cl *membership.RaftCluster) []byte {
|
||||
var st v2store.Store
|
||||
st = v2store.New(StoreClusterPrefix, StoreKeysPrefix)
|
||||
cl.Store(st)
|
||||
d, err := st.SaveNoCopy()
|
||||
if err != nil {
|
||||
lg.Panic("failed to save v2 store", zap.Error(err))
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
Reference in New Issue
Block a user