Skip to content

Commit d27696b

Browse files
authored
K8s Version Comparison Fix (#437)
* Modifying the way we compare k8s version so that we don't fail versions with hotfix / pre-release tag * cleaning build directory
1 parent 8d074e9 commit d27696b

File tree

20 files changed

+1919
-32
lines changed

20 files changed

+1919
-32
lines changed

Gopkg.lock

Lines changed: 10 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@
6565
name = "github.com/microsoft/ApplicationInsights-Go"
6666
revision = "d813d7725313000ad1b71627b8951323635f0572"
6767

68+
[[constraint]]
69+
name = "github.com/Masterminds/semver"
70+
version = "3.0.2"
71+
6872
[prune]
6973
go-tests = true
7074
unused-packages = true

npm/util/util.go

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import (
66
"fmt"
77
"hash/fnv"
88
"os"
9-
"strconv"
109
"strings"
1110
"sort"
1211

12+
"github.com/Masterminds/semver"
1313
"k8s.io/apimachinery/pkg/version"
1414
)
1515

@@ -98,43 +98,16 @@ func GetHashedName(name string) string {
9898
// returns -1, 0, 1 if firstVer smaller, equals, bigger than secondVer respectively.
9999
// returns -2 for error.
100100
func CompareK8sVer(firstVer *version.Info, secondVer *version.Info) int {
101-
firstMajor, err := strconv.Atoi(firstVer.Major)
101+
v1, err := semver.NewVersion(firstVer.Major+firstVer.Minor)
102102
if err != nil {
103103
return -2
104104
}
105-
106-
firstMinor, err := strconv.Atoi(firstVer.Minor)
107-
if err != nil {
108-
return -2
109-
}
110-
111-
secondMajor, err := strconv.Atoi(secondVer.Major)
112-
if err != nil {
113-
return -2
114-
}
115-
116-
secondMinor, err := strconv.Atoi(secondVer.Minor)
105+
v2, err := semver.NewVersion(secondVer.Major+secondVer.Minor)
117106
if err != nil {
118107
return -2
119108
}
120109

121-
if firstMajor < secondMajor {
122-
return -1
123-
}
124-
125-
if firstMajor > secondMajor {
126-
return 1
127-
}
128-
129-
if firstMinor < secondMinor {
130-
return -1
131-
}
132-
133-
if firstMinor > secondMinor {
134-
return 1
135-
}
136-
137-
return 0
110+
return v1.Compare(v2)
138111
}
139112

140113
// IsNewNwPolicyVer checks if the current k8s version >= 1.11,

npm/util/util_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,20 @@ func TestCompareK8sVer(t *testing.T) {
9797
if res := CompareK8sVer(firstVer, secondVer); res != 1 {
9898
t.Errorf("TestCompareK8sVer failed @ firstVer > secondVer")
9999
}
100+
101+
firstVer = &version.Info{
102+
Major: "1",
103+
Minor: "14.8-hotfix.20191113",
104+
}
105+
106+
secondVer = &version.Info{
107+
Major: "1",
108+
Minor: "11",
109+
}
110+
111+
if res := CompareK8sVer(firstVer, secondVer); res != 1 {
112+
t.Errorf("TestCompareK8sVer failed @ firstVer > secondVer w/ hotfix tag/pre-release")
113+
}
100114
}
101115

102116
func TestIsNewNwPolicyVer(t *testing.T) {

vendor/github.com/Masterminds/semver/.gitignore

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/Masterminds/semver/.golangci.yml

Lines changed: 26 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/Masterminds/semver/.travis.yml

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/Masterminds/semver/CHANGELOG.md

Lines changed: 172 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/Masterminds/semver/LICENSE.txt

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)