本文整理汇总了Golang中dmzhang/catkeeper/libvirt.VirConnection.LookupByName方法的典型用法代码示例。如果您正苦于以下问题:Golang VirConnection.LookupByName方法的具体用法?Golang VirConnection.LookupByName怎么用?Golang VirConnection.LookupByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dmzhang/catkeeper/libvirt.VirConnection
的用法示例。
在下文中一共展示了VirConnection.LookupByName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: registerRebootAndGetVncPort
func registerRebootAndGetVncPort(name string, ip string, conn libvirt.VirConnection) string {
var domain libvirt.VirDomain
domain, err := conn.LookupByName(name)
if err != nil {
log.Println("FAIL: find running domain to start vncviewer")
return ""
}
defer domain.Free()
xmlData, _ := domain.GetXMLDesc()
v := utils.ParseDomainXML(xmlData)
/* to get VNC port */
var vncPort string
if v.Devices.Graphics.VNCPort == "-1" {
log.Println("FAIL:Can not get vnc port")
return ""
}
vncPort = v.Devices.Graphics.VNCPort
ret := libvirt.ConnectDomainEventRegister(conn, domain, libvirt.VIR_DOMAIN_EVENT_ID_LIFECYCLE, libvirt.LifeCycleCallBackType(myrebootcallback))
if ret == -1 {
fmt.Println("can not autoreboot")
} else {
callbackMap.Set(name, ret)
}
vncAddress := ip + ":" + vncPort
//e.g. http://147.2.207.233/vnc_auto.html?title=lwang-n1-sle12rc1&path=websockify?ip=147.2.207.233:5902
log.Println(fmt.Sprintf("/vnc_auto.html?title=%s&path=websockify?ip=%s", name, vncAddress))
return fmt.Sprintf("/vnc_auto.html?title=%s&path=websockify?ip=%s", name, vncAddress)
}
示例2: startVNCviewer
func startVNCviewer(conn libvirt.VirConnection, name string, hostIPAddress string) {
fmt.Println("would bring up vncviewer...")
var domain libvirt.VirDomain
domain, err := conn.LookupByName(name)
if err != nil {
fmt.Println("FAIL: find running domain to start vncviewer")
return
}
defer domain.Free()
xmlData, _ := domain.GetXMLDesc()
v := utils.ParseDomainXML(xmlData)
/* to get VNC port */
var vncPort string
if v.Devices.Graphics.VNCPort == "-1" {
fmt.Println("FAIL:Can not get vnc port")
return
}
vncPort = v.Devices.Graphics.VNCPort
ret := libvirt.ConnectDomainEventRegister(conn, domain, libvirt.VIR_DOMAIN_EVENT_ID_LIFECYCLE, libvirt.LifeCycleCallBackType(myrebootcallback))
if ret == -1 {
fmt.Println("can not autoreboot")
return
}
fmt.Println("RUNNING: vncviewer " + hostIPAddress + ":" + vncPort)
cmd := exec.Command("vncviewer", hostIPAddress+":"+vncPort)
//Run will block
err = cmd.Run()
if err != nil {
fmt.Println("FAIL:can not start vncviewer")
fmt.Println(err)
return
}
fmt.Println("vncviewer is quiting")
time.Sleep(3 * time.Second)
//re run vncviewer
cmd.Run()
}