etcd-dump-logs: take data-dir as argument, add TODO

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
Gyuho Lee 2017-12-18 14:19:45 -08:00
parent af4d4ab16a
commit 931dfd7da8

View File

@ -31,13 +31,15 @@ import (
) )
func main() { func main() {
from := flag.String("data-dir", "", "")
snapfile := flag.String("start-snap", "", "The base name of snapshot file to start dumping") snapfile := flag.String("start-snap", "", "The base name of snapshot file to start dumping")
index := flag.Uint64("start-index", 0, "The index to start dumping") index := flag.Uint64("start-index", 0, "The index to start dumping")
flag.Parse() flag.Parse()
if *from == "" {
log.Fatal("Must provide -data-dir flag.") if len(flag.Args()) != 1 {
log.Fatalf("Must provide data-dir argument (got %+v)", flag.Args())
} }
dataDir := flag.Args()[0]
if *snapfile != "" && *index != 0 { if *snapfile != "" && *index != 0 {
log.Fatal("start-snap and start-index flags cannot be used together.") log.Fatal("start-snap and start-index flags cannot be used together.")
} }
@ -55,10 +57,10 @@ func main() {
walsnap.Index = *index walsnap.Index = *index
} else { } else {
if *snapfile == "" { if *snapfile == "" {
ss := snap.New(snapDir(*from)) ss := snap.New(snapDir(dataDir))
snapshot, err = ss.Load() snapshot, err = ss.Load()
} else { } else {
snapshot, err = snap.Read(filepath.Join(snapDir(*from), *snapfile)) snapshot, err = snap.Read(filepath.Join(snapDir(dataDir), *snapfile))
} }
switch err { switch err {
@ -75,7 +77,7 @@ func main() {
fmt.Println("Start dupmping log entries from snapshot.") fmt.Println("Start dupmping log entries from snapshot.")
} }
w, err := wal.OpenForRead(walDir(*from), walsnap) w, err := wal.OpenForRead(walDir(dataDir), walsnap)
if err != nil { if err != nil {
log.Fatalf("Failed opening WAL: %v", err) log.Fatalf("Failed opening WAL: %v", err)
} }
@ -104,6 +106,8 @@ func main() {
break break
} }
// TODO: remove sensitive information
// (https://github.com/coreos/etcd/issues/7620)
var r etcdserverpb.Request var r etcdserverpb.Request
if err := r.Unmarshal(e.Data); err == nil { if err := r.Unmarshal(e.Data); err == nil {
switch r.Method { switch r.Method {