Skip to content

Commit 6595d89

Browse files
committed
integration: rewrite etcd dumper to use new client
1 parent 7f8b478 commit 6595d89

File tree

1 file changed

+28
-31
lines changed

1 file changed

+28
-31
lines changed

test/util/etcd.go

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
package util
22

33
import (
4+
"context"
5+
"encoding/json"
46
"flag"
5-
"fmt"
6-
"io/ioutil"
7-
"log"
8-
"math/rand"
97
"os"
108
goruntime "runtime"
119
"strings"
1210
"testing"
1311

1412
"github.com/coreos/pkg/capnslog"
1513

16-
newetcdclient "github.com/coreos/etcd/client"
17-
"github.com/coreos/go-etcd/etcd"
14+
etcdclient "github.com/coreos/etcd/client"
1815

1916
"k8s.io/kubernetes/pkg/capabilities"
2017
etcdtest "k8s.io/kubernetes/pkg/storage/etcd/testing"
@@ -46,27 +43,22 @@ func RequireEtcd(t *testing.T) *etcdtest.EtcdTestServer {
4643
return s
4744
}
4845

49-
func NewEtcdClient() *etcd.Client {
50-
etcdServers := []string{GetEtcdURL()}
51-
52-
client := etcd.NewClient(etcdServers)
53-
if err := serveretcd.TestEtcdClient(client); err != nil {
54-
panic(err)
55-
}
46+
func NewEtcdClient() etcdclient.Client {
47+
client, _ := MakeNewEtcdClient()
5648
return client
5749
}
5850

59-
func MakeNewEtcdClient() (newetcdclient.Client, error) {
51+
func MakeNewEtcdClient() (etcdclient.Client, error) {
6052
etcdServers := []string{GetEtcdURL()}
6153

62-
cfg := newetcdclient.Config{
54+
cfg := etcdclient.Config{
6355
Endpoints: etcdServers,
6456
}
65-
client, err := newetcdclient.New(cfg)
57+
client, err := etcdclient.New(cfg)
6658
if err != nil {
6759
return nil, err
6860
}
69-
return client, serveretcd.TestNewEtcdClient(client)
61+
return client, serveretcd.TestEtcdClient(client)
7062
}
7163

7264
func GetEtcdURL() string {
@@ -76,16 +68,6 @@ func GetEtcdURL() string {
7668
return url
7769
}
7870

79-
func logEtcd() {
80-
etcd.SetLogger(log.New(os.Stderr, "go-etcd", log.LstdFlags))
81-
}
82-
83-
func withEtcdKey(f func(string)) {
84-
prefix := fmt.Sprintf("/test-%d", rand.Int63())
85-
defer NewEtcdClient().Delete(prefix, true)
86-
f(prefix)
87-
}
88-
8971
func DumpEtcdOnFailure(t *testing.T) {
9072
if !t.Failed() {
9173
return
@@ -99,16 +81,31 @@ func DumpEtcdOnFailure(t *testing.T) {
9981
last = 0
10082
}
10183
name := f.Name()[last:]
102-
10384
client := NewEtcdClient()
104-
etcdResponse, err := client.RawGet("/", false, true)
85+
keyClient := etcdclient.NewKeysAPI(client)
86+
87+
response, err := keyClient.Get(context.Background(), "/", &etcdclient.GetOptions{Recursive: true, Sort: true})
10588
if err != nil {
10689
t.Logf("error dumping etcd: %v", err)
10790
return
10891
}
92+
jsonResponse, err := json.Marshal(response.Node)
93+
if err != nil {
94+
t.Logf("error encoding etcd dump: %v", err)
95+
return
96+
}
10997

110-
if err := ioutil.WriteFile(GetBaseDir()+"/etcd-dump-"+name+".json", etcdResponse.Body, os.FileMode(0444)); err != nil {
111-
t.Logf("error dumping etcd: %v", err)
98+
t.Logf("dumping etcd to %q", GetBaseDir()+"/etcd-dump-"+name+".json")
99+
dumpFile, err := os.OpenFile(GetBaseDir()+"/etcd-dump-"+name+".json", os.O_WRONLY|os.O_CREATE, 0444)
100+
if err != nil {
101+
t.Logf("error writing etcd dump: %v", err)
112102
return
113103
}
104+
defer dumpFile.Close()
105+
_, err = dumpFile.Write(jsonResponse)
106+
if err != nil {
107+
t.Logf("error writing etcd dump: %v", err)
108+
return
109+
}
110+
114111
}

0 commit comments

Comments
 (0)