本文整理汇总了Golang中github.com/coreos/mantle/platform.Machine.IP方法的典型用法代码示例。如果您正苦于以下问题:Golang Machine.IP方法的具体用法?Golang Machine.IP怎么用?Golang Machine.IP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/coreos/mantle/platform.Machine
的用法示例。
在下文中一共展示了Machine.IP方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: checkEtcdVersion
func checkEtcdVersion(cluster platform.Cluster, m platform.Machine, expected string) error {
const (
retries = 5
retryWait = 3 * time.Second
)
var err error
var b []byte
for i := 0; i < retries; i++ {
cmd := cluster.NewCommand("curl", "-L", fmt.Sprintf("http://%v:2379/version", m.IP()))
b, err = cmd.Output()
if err != nil {
plog.Infof("retrying version check, hit failure %v", err)
time.Sleep(retryWait)
continue
}
break
}
if err != nil {
return fmt.Errorf("curling version: %v", err)
}
plog.Infof("got version: %s", b)
if string(b) != expected {
return fmt.Errorf("expected %v, got %s", expected, b)
}
return nil
}
示例2: checkEtcdVersion
func checkEtcdVersion(cluster platform.Cluster, m platform.Machine, expected string) error {
var b []byte
checker := func() error {
out, err := m.SSH(fmt.Sprintf("curl -s -L http://%s:2379/version", m.IP()))
if err != nil {
return fmt.Errorf("curl failed: %v", out)
}
b = out
return nil
}
if err := util.Retry(15, 10*time.Second, checker); err != nil {
return err
}
plog.Infof("got version: %s", b)
if string(b) != expected {
return fmt.Errorf("expected %v, got %s", expected, b)
}
return nil
}
示例3: checkEtcdVersion
func checkEtcdVersion(cluster platform.Cluster, m platform.Machine, expected string) error {
var b []byte
var err error
checker := func() error {
cmd := cluster.NewCommand("curl", "-L", fmt.Sprintf("http://%v:2379/version", m.IP()))
b, err = cmd.Output()
if err != nil {
return fmt.Errorf("curl failed: %v", err)
}
return nil
}
if err := util.Retry(15, 10*time.Second, checker); err != nil {
return err
}
plog.Infof("got version: %s", b)
if string(b) != expected {
return fmt.Errorf("expected %v, got %s", expected, b)
}
return nil
}
示例4: startEtcd2
// run etcd on each cluster machine
func startEtcd2(m platform.Machine) error {
etcdStart := "sudo systemctl start etcd2.service"
_, err := m.SSH(etcdStart)
if err != nil {
return fmt.Errorf("start etcd2.service on %v failed: %s", m.IP(), err)
}
return nil
}
示例5: doStart
func doStart(m platform.Machine, version int, block bool) error {
// start etcd instance
var etcdStart string
if version == 1 {
etcdStart = "sudo systemctl start etcd.service"
} else if version == 2 {
etcdStart = "sudo systemctl start etcd2.service"
} else {
return fmt.Errorf("etcd version unspecified")
}
if !block {
etcdStart += " --no-block"
}
_, err := m.SSH(etcdStart)
if err != nil {
return fmt.Errorf("SSH cmd to %v failed: %s", m.IP(), err)
}
return nil
}