diff --git a/virtcontainers/clh.go b/virtcontainers/clh.go index 67ac089c1d..f3c162ca01 100644 --- a/virtcontainers/clh.go +++ b/virtcontainers/clh.go @@ -675,6 +675,9 @@ func (clh *cloudHypervisor) getAvailableVersion() error { } + // Remove 'v' prefix if has one + clh.Logger().Error("DEBUG :", versionSplit[0]) + versionSplit[0] = strings.TrimLeft(versionSplit[0], "v") major, err := strconv.ParseUint(versionSplit[0], 10, 64) if err != nil { return err @@ -685,10 +688,14 @@ func (clh *cloudHypervisor) getAvailableVersion() error { return err } - revision, err := strconv.ParseUint(versionSplit[2], 10, 64) + + revisionStr := strings.SplitN(versionSplit[2], "-", -1) + if len(revisionStr) < 1 { + return errors.Errorf("Failed parse clh revision %s", versionSplit[2]) + } + revision, err := strconv.ParseUint(revisionStr[0], 10, 64) if err != nil { return err - } clh.version = CloudHypervisorVersion{