From a2b148b27b98be210d35ae46d5a73e83f9564c92 Mon Sep 17 00:00:00 2001 From: Yifan Gu Date: Fri, 21 Aug 2015 10:45:11 -0700 Subject: [PATCH] kubelet/rkt: fix rkt version parsing. Use SemVer to parse the version string. --- pkg/kubelet/rkt/version.go | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/pkg/kubelet/rkt/version.go b/pkg/kubelet/rkt/version.go index b24a026ec78..593d692c4df 100644 --- a/pkg/kubelet/rkt/version.go +++ b/pkg/kubelet/rkt/version.go @@ -21,25 +21,18 @@ import ( "os/exec" "strconv" "strings" + + appctypes "github.com/appc/spec/schema/types" ) type rktVersion []int func parseVersion(input string) (rktVersion, error) { - tail := strings.Index(input, "+") - if tail > 0 { - input = input[:tail] + nsv, err := appctypes.NewSemVer(input) + if err != nil { + return nil, err } - var result rktVersion - tuples := strings.Split(input, ".") - for _, t := range tuples { - n, err := strconv.Atoi(t) - if err != nil { - return nil, err - } - result = append(result, n) - } - return result, nil + return rktVersion{int(nsv.Major), int(nsv.Minor), int(nsv.Patch)}, nil } func (r rktVersion) Compare(other string) (int, error) {