本文整理匯總了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()
}