diff --git a/pkg/compute/guestdrivers/kvm.go b/pkg/compute/guestdrivers/kvm.go index 4b43f4f79d..fa50ef7e95 100644 --- a/pkg/compute/guestdrivers/kvm.go +++ b/pkg/compute/guestdrivers/kvm.go @@ -3,8 +3,8 @@ package guestdrivers import ( "context" "fmt" - "regexp" "strconv" + "strings" "yunion.io/x/jsonutils" "yunion.io/x/log" @@ -43,10 +43,9 @@ func (self *SKVMGuestDriver) OnDeleteGuestFinalCleanup(ctx context.Context, gues } func findVNCPort(results string) int { - reg := regexp.MustCompile(`(\d+\.\d+\.\d+\.\d+):([\d]+)`) - finds := reg.FindStringSubmatch(results) - log.Debugf("finds=%s", finds) - port, _ := strconv.Atoi(finds[2]) + vncInfo := strings.Split(results, "\n") + addrParts := strings.Split(vncInfo[1], ":") + port, _ := strconv.Atoi(addrParts[len(addrParts)-1]) return port }