Skip to content

Instantly share code, notes, and snippets.

@Sahasrara
Created December 21, 2018 00:02
Show Gist options
  • Save Sahasrara/14dcdcde79a6666e51b58c91695faec3 to your computer and use it in GitHub Desktop.
Save Sahasrara/14dcdcde79a6666e51b58c91695faec3 to your computer and use it in GitHub Desktop.
func main() {
//server.Serve()
startEtcd()
var test chan struct{}
<- test
}
const (
peerPort = "9999"
clientPort = "9998"
localhost = "http://localhost"
defaultListenPeerURLs = localhost + ":" + peerPort
defaultListenClientURLs = localhost + ":" + clientPort
DefaultListenPeerURLs = "http://0.0.0.0:2380"
DefaultListenClientURLs = "http://0.0.0.0:2379"
//DefaultInitialAdvertisePeerURLs = "http://10.8.16.201:2380"
//DefaultAdvertiseClientURLs = "http://10.8.16.201:2379"
DefaultInitialAdvertisePeerURLs = "http://0.0.0.0:2380"
DefaultAdvertiseClientURLs = "http://0.0.0.0:2379"
)
var (
lpurl, _ = url.Parse(DefaultListenPeerURLs)
lcurl, _ = url.Parse(DefaultListenClientURLs)
apurl, _ = url.Parse(DefaultInitialAdvertisePeerURLs)
acurl, _ = url.Parse(DefaultAdvertiseClientURLs)
)
func startEtcd() {
cfg := embed.NewConfig()
cfg.LPUrls = []url.URL{*lpurl}
cfg.LCUrls = []url.URL{*lcurl}
cfg.APUrls = []url.URL{*apurl}
cfg.ACUrls = []url.URL{*acurl}
cfg.InitialCluster = fmt.Sprintf("%v=%v,%v=%v", "osx", DefaultListenPeerURLs, "vbox", "http://10.8.17.118:2380")
cfg.InitialClusterToken = "TEST"
cfg.Name = "osx"
cfg.ClusterState = "new"
cfg.Dir = "/tmp/etcd_unit_test"
if os.RemoveAll(cfg.Dir) != nil {
panic("OH OH NO")
}
embedded, err := embed.StartEtcd(cfg)
if err != nil {
panic(err.Error())
}
<-embedded.Server.ReadyNotify()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment