migration_test.go 882 B

12345678910111213141516171819202122232425262728293031323334
  1. package integration
  2. import (
  3. "github.com/coreos/etcd/pkg/types"
  4. "net"
  5. "os/exec"
  6. "testing"
  7. )
  8. func TestUpgradeMember(t *testing.T) {
  9. defer afterTest(t)
  10. m := mustNewMember(t, "integration046")
  11. newPeerListeners := make([]net.Listener, 0)
  12. newPeerListeners = append(newPeerListeners, newListenerWithAddr(t, "127.0.0.1:59892"))
  13. m.PeerListeners = newPeerListeners
  14. urls, err := types.NewURLs([]string{"http://127.0.0.1:59892"})
  15. if err != nil {
  16. t.Fatal(err)
  17. }
  18. m.PeerURLs = urls
  19. m.NewCluster = true
  20. c := &cluster{}
  21. c.Members = []*member{m}
  22. fillClusterForMembers(c.Members, "etcd-cluster")
  23. cmd := exec.Command("cp", "-r", "testdata/integration046_data/conf", "testdata/integration046_data/log", "testdata/integration046_data/snapshot", m.DataDir)
  24. err = cmd.Run()
  25. if err != nil {
  26. t.Fatal(err)
  27. }
  28. c.Launch(t)
  29. defer c.Terminate(t)
  30. clusterMustProgress(t, c.Members)
  31. }