Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
55fa6d5f
Commit
55fa6d5f
authored
Aug 15, 2018
by
stewart-yu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
smaller coverage improvement about ValidateVersion function
parent
fbb2dfcc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
8 deletions
+17
-8
features.go
cmd/kubeadm/app/features/features.go
+6
-6
features_test.go
cmd/kubeadm/app/features/features_test.go
+11
-2
No files found.
cmd/kubeadm/app/features/features.go
View file @
55fa6d5f
...
@@ -170,14 +170,14 @@ func NewFeatureGate(f *FeatureList, value string) (map[string]bool, error) {
...
@@ -170,14 +170,14 @@ func NewFeatureGate(f *FeatureList, value string) (map[string]bool, error) {
// ResolveFeatureGateDependencies resolve dependencies between feature gates
// ResolveFeatureGateDependencies resolve dependencies between feature gates
func
ResolveFeatureGateDependencies
(
featureGate
map
[
string
]
bool
)
{
func
ResolveFeatureGateDependencies
(
featureGate
map
[
string
]
bool
)
{
// if StoreCertsInSecrets enabled, SelfHosting should enabled
// if HighAvailability enabled and StoreCertsInSecrets disabled, both StoreCertsInSecrets
if
Enabled
(
featureGate
,
StoreCertsInSecrets
)
{
// and SelfHosting should enabled
featureGate
[
SelfHosting
]
=
true
if
Enabled
(
featureGate
,
HighAvailability
)
&&
!
Enabled
(
featureGate
,
StoreCertsInSecrets
)
{
featureGate
[
StoreCertsInSecrets
]
=
true
}
}
// if
HighAvailability enabled, both StoreCertsInSecrets and
SelfHosting should enabled
// if
StoreCertsInSecrets enabled,
SelfHosting should enabled
if
Enabled
(
featureGate
,
HighAvailability
)
&&
!
Enabled
(
featureGate
,
StoreCertsInSecrets
)
{
if
Enabled
(
featureGate
,
StoreCertsInSecrets
)
{
featureGate
[
SelfHosting
]
=
true
featureGate
[
SelfHosting
]
=
true
featureGate
[
StoreCertsInSecrets
]
=
true
}
}
}
}
cmd/kubeadm/app/features/features_test.go
View file @
55fa6d5f
...
@@ -21,8 +21,11 @@ import (
...
@@ -21,8 +21,11 @@ import (
"testing"
"testing"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
utilfeature
"k8s.io/apiserver/pkg/util/feature"
"k8s.io/kubernetes/pkg/util/version"
)
)
var
TestMinVersion
=
version
.
MustParseSemantic
(
"v1.10.0-alpha.1"
)
func
TestKnownFeatures
(
t
*
testing
.
T
)
{
func
TestKnownFeatures
(
t
*
testing
.
T
)
{
var
someFeatures
=
FeatureList
{
var
someFeatures
=
FeatureList
{
"feature2"
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
true
,
PreRelease
:
utilfeature
.
Alpha
}},
"feature2"
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
true
,
PreRelease
:
utilfeature
.
Alpha
}},
...
@@ -121,7 +124,7 @@ func TestNewFeatureGate(t *testing.T) {
...
@@ -121,7 +124,7 @@ func TestNewFeatureGate(t *testing.T) {
func
TestValidateVersion
(
t
*
testing
.
T
)
{
func
TestValidateVersion
(
t
*
testing
.
T
)
{
var
someFeatures
=
FeatureList
{
var
someFeatures
=
FeatureList
{
"feature1"
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
false
,
PreRelease
:
utilfeature
.
Beta
}},
"feature1"
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
false
,
PreRelease
:
utilfeature
.
Beta
}},
"feature2"
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
true
,
PreRelease
:
utilfeature
.
Alpha
}},
"feature2"
:
{
FeatureSpec
:
utilfeature
.
FeatureSpec
{
Default
:
true
,
PreRelease
:
utilfeature
.
Alpha
}
,
MinimumVersion
:
TestMinVersion
},
}
}
var
tests
=
[]
struct
{
var
tests
=
[]
struct
{
...
@@ -133,10 +136,16 @@ func TestValidateVersion(t *testing.T) {
...
@@ -133,10 +136,16 @@ func TestValidateVersion(t *testing.T) {
requestedFeatures
:
map
[
string
]
bool
{
"feature1"
:
true
},
requestedFeatures
:
map
[
string
]
bool
{
"feature1"
:
true
},
expectedError
:
false
,
expectedError
:
false
,
},
},
{
//
no min versio
n
{
//
min version but correct value give
n
requestedFeatures
:
map
[
string
]
bool
{
"feature2"
:
true
},
requestedFeatures
:
map
[
string
]
bool
{
"feature2"
:
true
},
requestedVersion
:
"v1.10.0"
,
expectedError
:
false
,
expectedError
:
false
,
},
},
{
//min version and incorrect value given
requestedFeatures
:
map
[
string
]
bool
{
"feature2"
:
true
},
requestedVersion
:
"v1.9.2"
,
expectedError
:
true
,
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment