etcdserver: collapse dir configuration to DataDir
parent
af6b29f291
commit
e5f5fcff48
|
@ -6,6 +6,8 @@ import (
|
|||
"log"
|
||||
"math/rand"
|
||||
"net/http"
|
||||
"os"
|
||||
"path"
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
|
@ -21,9 +23,12 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
// owner can make/remove files inside the directory
|
||||
privateDirMode = 0700
|
||||
|
||||
defaultSyncTimeout = time.Second
|
||||
DefaultSnapCount = 10000
|
||||
// TODO: calculated based on heartbeat interval
|
||||
// TODO: calculate based on heartbeat interval
|
||||
defaultPublishRetryInterval = 5 * time.Second
|
||||
)
|
||||
|
||||
|
@ -82,9 +87,8 @@ type RaftTimer interface {
|
|||
type ServerConfig struct {
|
||||
Name string
|
||||
ClientURLs types.URLs
|
||||
SnapDir string
|
||||
DataDir string
|
||||
SnapCount int64
|
||||
WalDir string
|
||||
Cluster *Cluster
|
||||
Transport *http.Transport
|
||||
}
|
||||
|
@ -97,13 +101,18 @@ func NewServer(cfg *ServerConfig) *EtcdServer {
|
|||
// Should never happen
|
||||
log.Fatalf("could not find name %v in cluster!", cfg.Name)
|
||||
}
|
||||
snapdir := path.Join(cfg.DataDir, "snap")
|
||||
if err := os.MkdirAll(snapdir, privateDirMode); err != nil {
|
||||
log.Fatalf("etcdserver: cannot create snapshot directory: %v", err)
|
||||
}
|
||||
ss := snap.New(snapdir)
|
||||
st := store.New()
|
||||
ss := snap.New(cfg.SnapDir)
|
||||
var w *wal.WAL
|
||||
var n raft.Node
|
||||
var err error
|
||||
if !wal.Exist(cfg.WalDir) {
|
||||
if w, err = wal.Create(cfg.WalDir); err != nil {
|
||||
waldir := path.Join(cfg.DataDir, "wal")
|
||||
if !wal.Exist(waldir) {
|
||||
if w, err = wal.Create(waldir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
n = raft.StartNode(m.ID, cfg.Cluster.IDs(), 10, 1)
|
||||
|
@ -120,7 +129,7 @@ func NewServer(cfg *ServerConfig) *EtcdServer {
|
|||
}
|
||||
|
||||
// restart a node from previous wal
|
||||
if w, err = wal.OpenAtIndex(cfg.WalDir, index); err != nil {
|
||||
if w, err = wal.OpenAtIndex(waldir, index); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
wid, st, ents, err := w.ReadAll()
|
||||
|
|
9
main.go
9
main.go
|
@ -6,7 +6,6 @@ import (
|
|||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
|
@ -129,11 +128,6 @@ func startEtcd() {
|
|||
if err := os.MkdirAll(*dir, privateDirMode); err != nil {
|
||||
log.Fatalf("main: cannot create data directory: %v", err)
|
||||
}
|
||||
snapdir := path.Join(*dir, "snap")
|
||||
if err := os.MkdirAll(snapdir, privateDirMode); err != nil {
|
||||
log.Fatalf("main: cannot create snapshot directory: %v", err)
|
||||
}
|
||||
waldir := path.Join(*dir, "wal")
|
||||
|
||||
pt, err := transport.NewTransport(peerTLSInfo)
|
||||
if err != nil {
|
||||
|
@ -147,9 +141,8 @@ func startEtcd() {
|
|||
cfg := &etcdserver.ServerConfig{
|
||||
Name: *name,
|
||||
ClientURLs: acurls,
|
||||
SnapDir: snapdir,
|
||||
DataDir: *dir,
|
||||
SnapCount: int64(*snapCount),
|
||||
WalDir: waldir,
|
||||
Cluster: cluster,
|
||||
Transport: pt,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue