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
b7c7966b
Commit
b7c7966b
authored
Sep 28, 2018
by
tanshanshan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move pkg/scheduler/algorithm/well_known_labels.go out
parent
e4200cea
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
194 additions
and
190 deletions
+194
-190
BUILD
pkg/controller/BUILD
+1
-1
BUILD
pkg/controller/cloud/BUILD
+2
-2
node_controller.go
pkg/controller/cloud/node_controller.go
+2
-2
node_controller_test.go
pkg/controller/cloud/node_controller_test.go
+9
-9
controller_utils.go
pkg/controller/controller_utils.go
+2
-2
BUILD
pkg/controller/daemon/BUILD
+1
-1
daemon_controller_test.go
pkg/controller/daemon/daemon_controller_test.go
+7
-7
BUILD
pkg/controller/daemon/util/BUILD
+2
-2
daemonset_util.go
pkg/controller/daemon/util/daemonset_util.go
+12
-12
daemonset_util_test.go
pkg/controller/daemon/util/daemonset_util_test.go
+14
-14
BUILD
pkg/controller/nodeipam/ipam/BUILD
+1
-1
cloud_cidr_allocator.go
pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go
+2
-2
BUILD
pkg/controller/nodelifecycle/BUILD
+2
-2
node_lifecycle_controller.go
pkg/controller/nodelifecycle/node_lifecycle_controller.go
+23
-23
node_lifecycle_controller_test.go
...ontroller/nodelifecycle/node_lifecycle_controller_test.go
+10
-10
BUILD
pkg/kubelet/BUILD
+2
-2
BUILD
pkg/kubelet/eviction/BUILD
+1
-1
eviction_manager.go
pkg/kubelet/eviction/eviction_manager.go
+2
-2
kubelet_node_status.go
pkg/kubelet/kubelet_node_status.go
+3
-3
kubelet_node_status_test.go
pkg/kubelet/kubelet_node_status_test.go
+2
-2
BUILD
pkg/scheduler/algorithm/BUILD
+0
-2
BUILD
pkg/scheduler/algorithm/predicates/BUILD
+2
-0
predicates.go
pkg/scheduler/algorithm/predicates/predicates.go
+2
-1
predicates_test.go
pkg/scheduler/algorithm/predicates/predicates_test.go
+8
-7
types.go
pkg/scheduler/algorithm/types.go
+1
-1
BUILD
pkg/scheduler/api/BUILD
+2
-0
well_known_labels.go
pkg/scheduler/api/well_known_labels.go
+1
-1
BUILD
plugin/pkg/admission/defaulttolerationseconds/BUILD
+2
-2
admission.go
plugin/pkg/admission/defaulttolerationseconds/admission.go
+5
-5
admission_test.go
.../pkg/admission/defaulttolerationseconds/admission_test.go
+32
-32
BUILD
plugin/pkg/admission/podtolerationrestriction/BUILD
+2
-2
admission.go
plugin/pkg/admission/podtolerationrestriction/admission.go
+2
-2
admission_test.go
.../pkg/admission/podtolerationrestriction/admission_test.go
+3
-3
BUILD
test/integration/daemonset/BUILD
+1
-1
daemonset_test.go
test/integration/daemonset/daemonset_test.go
+4
-4
BUILD
test/integration/defaulttolerationseconds/BUILD
+1
-1
defaulttolerationseconds_test.go
...defaulttolerationseconds/defaulttolerationseconds_test.go
+3
-3
taint_test.go
test/integration/scheduler/taint_test.go
+23
-23
No files found.
pkg/controller/BUILD
View file @
b7c7966b
...
@@ -55,7 +55,7 @@ go_library(
...
@@ -55,7 +55,7 @@ go_library(
"//pkg/apis/core:go_default_library",
"//pkg/apis/core:go_default_library",
"//pkg/apis/core/install:go_default_library",
"//pkg/apis/core/install:go_default_library",
"//pkg/apis/core/validation:go_default_library",
"//pkg/apis/core/validation:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/serviceaccount:go_default_library",
"//pkg/serviceaccount:go_default_library",
"//pkg/util/hash:go_default_library",
"//pkg/util/hash:go_default_library",
"//pkg/util/taints:go_default_library",
"//pkg/util/taints:go_default_library",
...
...
pkg/controller/cloud/BUILD
View file @
b7c7966b
...
@@ -20,7 +20,7 @@ go_library(
...
@@ -20,7 +20,7 @@ go_library(
"//pkg/controller/util/node:go_default_library",
"//pkg/controller/util/node:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/volume/util:go_default_library",
"//pkg/volume/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
...
@@ -59,7 +59,7 @@ go_test(
...
@@ -59,7 +59,7 @@ go_test(
"//pkg/controller:go_default_library",
"//pkg/controller:go_default_library",
"//pkg/controller/testutil:go_default_library",
"//pkg/controller/testutil:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/volume/util:go_default_library",
"//pkg/volume/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
...
...
pkg/controller/cloud/node_controller.go
View file @
b7c7966b
...
@@ -41,7 +41,7 @@ import (
...
@@ -41,7 +41,7 @@ import (
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
nodectrlutil
"k8s.io/kubernetes/pkg/controller/util/node"
nodectrlutil
"k8s.io/kubernetes/pkg/controller/util/node"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
nodeutil
"k8s.io/kubernetes/pkg/util/node"
nodeutil
"k8s.io/kubernetes/pkg/util/node"
)
)
...
@@ -425,7 +425,7 @@ func (cnc *CloudNodeController) AddCloudNode(obj interface{}) {
...
@@ -425,7 +425,7 @@ func (cnc *CloudNodeController) AddCloudNode(obj interface{}) {
func
getCloudTaint
(
taints
[]
v1
.
Taint
)
*
v1
.
Taint
{
func
getCloudTaint
(
taints
[]
v1
.
Taint
)
*
v1
.
Taint
{
for
_
,
taint
:=
range
taints
{
for
_
,
taint
:=
range
taints
{
if
taint
.
Key
==
algorithm
.
TaintExternalCloudProvider
{
if
taint
.
Key
==
schedulerapi
.
TaintExternalCloudProvider
{
return
&
taint
return
&
taint
}
}
}
}
...
...
pkg/controller/cloud/node_controller_test.go
View file @
b7c7966b
...
@@ -35,7 +35,7 @@ import (
...
@@ -35,7 +35,7 @@ import (
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller/testutil"
"k8s.io/kubernetes/pkg/controller/testutil"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"github.com/golang/glog"
"github.com/golang/glog"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/assert"
...
@@ -209,7 +209,7 @@ func TestNodeShutdown(t *testing.T) {
...
@@ -209,7 +209,7 @@ func TestNodeShutdown(t *testing.T) {
ProviderID
:
"node0"
,
ProviderID
:
"node0"
,
Taints
:
[]
v1
.
Taint
{
Taints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeShutdown
,
Key
:
schedulerapi
.
TaintNodeShutdown
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -385,7 +385,7 @@ func TestNodeInitialized(t *testing.T) {
...
@@ -385,7 +385,7 @@ func TestNodeInitialized(t *testing.T) {
Spec
:
v1
.
NodeSpec
{
Spec
:
v1
.
NodeSpec
{
Taints
:
[]
v1
.
Taint
{
Taints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
@@ -524,7 +524,7 @@ func TestGCECondition(t *testing.T) {
...
@@ -524,7 +524,7 @@ func TestGCECondition(t *testing.T) {
Spec
:
v1
.
NodeSpec
{
Spec
:
v1
.
NodeSpec
{
Taints
:
[]
v1
.
Taint
{
Taints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
@@ -610,7 +610,7 @@ func TestZoneInitialized(t *testing.T) {
...
@@ -610,7 +610,7 @@ func TestZoneInitialized(t *testing.T) {
Spec
:
v1
.
NodeSpec
{
Spec
:
v1
.
NodeSpec
{
Taints
:
[]
v1
.
Taint
{
Taints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
@@ -701,7 +701,7 @@ func TestNodeAddresses(t *testing.T) {
...
@@ -701,7 +701,7 @@ func TestNodeAddresses(t *testing.T) {
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
@@ -816,7 +816,7 @@ func TestNodeProvidedIPAddresses(t *testing.T) {
...
@@ -816,7 +816,7 @@ func TestNodeProvidedIPAddresses(t *testing.T) {
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
@@ -1110,7 +1110,7 @@ func TestNodeProviderID(t *testing.T) {
...
@@ -1110,7 +1110,7 @@ func TestNodeProviderID(t *testing.T) {
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
@@ -1194,7 +1194,7 @@ func TestNodeProviderIDAlreadySet(t *testing.T) {
...
@@ -1194,7 +1194,7 @@ func TestNodeProviderIDAlreadySet(t *testing.T) {
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
...
...
pkg/controller/controller_utils.go
View file @
b7c7966b
...
@@ -47,7 +47,7 @@ import (
...
@@ -47,7 +47,7 @@ import (
podutil
"k8s.io/kubernetes/pkg/api/v1/pod"
podutil
"k8s.io/kubernetes/pkg/api/v1/pod"
_
"k8s.io/kubernetes/pkg/apis/core/install"
_
"k8s.io/kubernetes/pkg/apis/core/install"
"k8s.io/kubernetes/pkg/apis/core/validation"
"k8s.io/kubernetes/pkg/apis/core/validation"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
hashutil
"k8s.io/kubernetes/pkg/util/hash"
hashutil
"k8s.io/kubernetes/pkg/util/hash"
taintutils
"k8s.io/kubernetes/pkg/util/taints"
taintutils
"k8s.io/kubernetes/pkg/util/taints"
...
@@ -90,7 +90,7 @@ var UpdateTaintBackoff = wait.Backoff{
...
@@ -90,7 +90,7 @@ var UpdateTaintBackoff = wait.Backoff{
}
}
var
ShutdownTaint
=
&
v1
.
Taint
{
var
ShutdownTaint
=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeShutdown
,
Key
:
schedulerapi
.
TaintNodeShutdown
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
...
...
pkg/controller/daemon/BUILD
View file @
b7c7966b
...
@@ -71,7 +71,7 @@ go_test(
...
@@ -71,7 +71,7 @@ go_test(
"//pkg/controller:go_default_library",
"//pkg/controller:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/securitycontext:go_default_library",
"//pkg/securitycontext:go_default_library",
"//pkg/util/labels:go_default_library",
"//pkg/util/labels:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library",
...
...
pkg/controller/daemon/daemon_controller_test.go
View file @
b7c7966b
...
@@ -48,7 +48,7 @@ import (
...
@@ -48,7 +48,7 @@ import (
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/features"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"k8s.io/kubernetes/pkg/securitycontext"
"k8s.io/kubernetes/pkg/securitycontext"
labelsutil
"k8s.io/kubernetes/pkg/util/labels"
labelsutil
"k8s.io/kubernetes/pkg/util/labels"
)
)
...
@@ -78,13 +78,13 @@ func nowPointer() *metav1.Time {
...
@@ -78,13 +78,13 @@ func nowPointer() *metav1.Time {
var
(
var
(
nodeNotReady
=
[]
v1
.
Taint
{{
nodeNotReady
=
[]
v1
.
Taint
{{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
TimeAdded
:
nowPointer
(),
TimeAdded
:
nowPointer
(),
}}
}}
nodeUnreachable
=
[]
v1
.
Taint
{{
nodeUnreachable
=
[]
v1
.
Taint
{{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
TimeAdded
:
nowPointer
(),
TimeAdded
:
nowPointer
(),
}}
}}
...
@@ -529,7 +529,7 @@ func TestSimpleDaemonSetScheduleDaemonSetPodsLaunchesPods(t *testing.T) {
...
@@ -529,7 +529,7 @@ func TestSimpleDaemonSetScheduleDaemonSetPodsLaunchesPods(t *testing.T) {
}
}
field
:=
nodeSelector
.
NodeSelectorTerms
[
0
]
.
MatchFields
[
0
]
field
:=
nodeSelector
.
NodeSelectorTerms
[
0
]
.
MatchFields
[
0
]
if
field
.
Key
==
algorithm
.
NodeFieldSelectorKeyNodeName
{
if
field
.
Key
==
schedulerapi
.
NodeFieldSelectorKeyNodeName
{
if
field
.
Operator
!=
v1
.
NodeSelectorOpIn
{
if
field
.
Operator
!=
v1
.
NodeSelectorOpIn
{
t
.
Fatalf
(
"the operation of hostname NodeAffinity is not %v"
,
v1
.
NodeSelectorOpIn
)
t
.
Fatalf
(
"the operation of hostname NodeAffinity is not %v"
,
v1
.
NodeSelectorOpIn
)
}
}
...
@@ -1759,7 +1759,7 @@ func TestTaintOutOfDiskNodeDaemonLaunchesCriticalPod(t *testing.T) {
...
@@ -1759,7 +1759,7 @@ func TestTaintOutOfDiskNodeDaemonLaunchesCriticalPod(t *testing.T) {
node
:=
newNode
(
"not-enough-disk"
,
nil
)
node
:=
newNode
(
"not-enough-disk"
,
nil
)
node
.
Status
.
Conditions
=
[]
v1
.
NodeCondition
{{
Type
:
v1
.
NodeOutOfDisk
,
Status
:
v1
.
ConditionTrue
}}
node
.
Status
.
Conditions
=
[]
v1
.
NodeCondition
{{
Type
:
v1
.
NodeOutOfDisk
,
Status
:
v1
.
ConditionTrue
}}
node
.
Spec
.
Taints
=
[]
v1
.
Taint
{{
Key
:
algorithm
.
TaintNodeOutOfDisk
,
Effect
:
v1
.
TaintEffectNoSchedule
}}
node
.
Spec
.
Taints
=
[]
v1
.
Taint
{{
Key
:
schedulerapi
.
TaintNodeOutOfDisk
,
Effect
:
v1
.
TaintEffectNoSchedule
}}
manager
.
nodeStore
.
Add
(
node
)
manager
.
nodeStore
.
Add
(
node
)
// NOTE: Whether or not TaintNodesByCondition is enabled, it'll add toleration to DaemonSet pods.
// NOTE: Whether or not TaintNodesByCondition is enabled, it'll add toleration to DaemonSet pods.
...
@@ -1801,8 +1801,8 @@ func TestTaintPressureNodeDaemonLaunchesPod(t *testing.T) {
...
@@ -1801,8 +1801,8 @@ func TestTaintPressureNodeDaemonLaunchesPod(t *testing.T) {
{
Type
:
v1
.
NodeMemoryPressure
,
Status
:
v1
.
ConditionTrue
},
{
Type
:
v1
.
NodeMemoryPressure
,
Status
:
v1
.
ConditionTrue
},
}
}
node
.
Spec
.
Taints
=
[]
v1
.
Taint
{
node
.
Spec
.
Taints
=
[]
v1
.
Taint
{
{
Key
:
algorithm
.
TaintNodeDiskPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
},
{
Key
:
schedulerapi
.
TaintNodeDiskPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
},
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
},
{
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
},
}
}
manager
.
nodeStore
.
Add
(
node
)
manager
.
nodeStore
.
Add
(
node
)
...
...
pkg/controller/daemon/util/BUILD
View file @
b7c7966b
...
@@ -15,7 +15,7 @@ go_library(
...
@@ -15,7 +15,7 @@ go_library(
"//pkg/apis/core/v1/helper:go_default_library",
"//pkg/apis/core/v1/helper:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
...
@@ -45,7 +45,7 @@ go_test(
...
@@ -45,7 +45,7 @@ go_test(
"//pkg/api/testapi:go_default_library",
"//pkg/api/testapi:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
"//staging/src/k8s.io/api/extensions/v1beta1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
...
...
pkg/controller/daemon/util/daemonset_util.go
View file @
b7c7966b
...
@@ -29,7 +29,7 @@ import (
...
@@ -29,7 +29,7 @@ import (
v1helper
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
v1helper
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/features"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
)
)
// GetTemplateGeneration gets the template generation associated with a v1.DaemonSet by extracting it from the
// GetTemplateGeneration gets the template generation associated with a v1.DaemonSet by extracting it from the
...
@@ -55,7 +55,7 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
...
@@ -55,7 +55,7 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
// to survive taint-based eviction enforced by NodeController
// to survive taint-based eviction enforced by NodeController
// when node turns not ready.
// when node turns not ready.
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
})
})
...
@@ -65,7 +65,7 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
...
@@ -65,7 +65,7 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
// to survive taint-based eviction enforced by NodeController
// to survive taint-based eviction enforced by NodeController
// when node turns unreachable.
// when node turns unreachable.
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
})
})
...
@@ -74,26 +74,26 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
...
@@ -74,26 +74,26 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
// MemoryPressure, DisPressure, Unschedulable and NetworkUnavailable taints,
// MemoryPressure, DisPressure, Unschedulable and NetworkUnavailable taints,
// and the critical pods should tolerate OutOfDisk taint.
// and the critical pods should tolerate OutOfDisk taint.
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeDiskPressure
,
Key
:
schedulerapi
.
TaintNodeDiskPressure
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
if
spec
.
HostNetwork
{
if
spec
.
HostNetwork
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
...
@@ -102,12 +102,12 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
...
@@ -102,12 +102,12 @@ func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec, isCritical bool) {
// TODO(#48843) OutOfDisk taints will be removed in 1.10
// TODO(#48843) OutOfDisk taints will be removed in 1.10
if
isCritical
{
if
isCritical
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeOutOfDisk
,
Key
:
schedulerapi
.
TaintNodeOutOfDisk
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
})
})
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
v1helper
.
AddOrUpdateTolerationInPodSpec
(
spec
,
&
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeOutOfDisk
,
Key
:
schedulerapi
.
TaintNodeOutOfDisk
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
...
@@ -167,7 +167,7 @@ func SplitByAvailablePods(minReadySeconds int32, pods []*v1.Pod) ([]*v1.Pod, []*
...
@@ -167,7 +167,7 @@ func SplitByAvailablePods(minReadySeconds int32, pods []*v1.Pod) ([]*v1.Pod, []*
// Note that this function assumes that no NodeAffinity conflicts with the selected nodeName.
// Note that this function assumes that no NodeAffinity conflicts with the selected nodeName.
func
ReplaceDaemonSetPodNodeNameNodeAffinity
(
affinity
*
v1
.
Affinity
,
nodename
string
)
*
v1
.
Affinity
{
func
ReplaceDaemonSetPodNodeNameNodeAffinity
(
affinity
*
v1
.
Affinity
,
nodename
string
)
*
v1
.
Affinity
{
nodeSelReq
:=
v1
.
NodeSelectorRequirement
{
nodeSelReq
:=
v1
.
NodeSelectorRequirement
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
nodename
},
Values
:
[]
string
{
nodename
},
}
}
...
@@ -236,11 +236,11 @@ func GetTargetNodeName(pod *v1.Pod) (string, error) {
...
@@ -236,11 +236,11 @@ func GetTargetNodeName(pod *v1.Pod) (string, error) {
for
_
,
term
:=
range
terms
{
for
_
,
term
:=
range
terms
{
for
_
,
exp
:=
range
term
.
MatchFields
{
for
_
,
exp
:=
range
term
.
MatchFields
{
if
exp
.
Key
==
algorithm
.
NodeFieldSelectorKeyNodeName
&&
if
exp
.
Key
==
schedulerapi
.
NodeFieldSelectorKeyNodeName
&&
exp
.
Operator
==
v1
.
NodeSelectorOpIn
{
exp
.
Operator
==
v1
.
NodeSelectorOpIn
{
if
len
(
exp
.
Values
)
!=
1
{
if
len
(
exp
.
Values
)
!=
1
{
return
""
,
fmt
.
Errorf
(
"the matchFields value of '%s' is not unique for pod %s/%s"
,
return
""
,
fmt
.
Errorf
(
"the matchFields value of '%s' is not unique for pod %s/%s"
,
algorithm
.
NodeFieldSelectorKeyNodeName
,
pod
.
Namespace
,
pod
.
Name
)
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
pod
.
Namespace
,
pod
.
Name
)
}
}
return
exp
.
Values
[
0
],
nil
return
exp
.
Values
[
0
],
nil
...
...
pkg/controller/daemon/util/daemonset_util_test.go
View file @
b7c7966b
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/features"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
)
)
func
newPod
(
podName
string
,
nodeName
string
,
label
map
[
string
]
string
)
*
v1
.
Pod
{
func
newPod
(
podName
string
,
nodeName
string
,
label
map
[
string
]
string
)
*
v1
.
Pod
{
...
@@ -190,7 +190,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -190,7 +190,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -227,7 +227,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -227,7 +227,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -277,7 +277,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -277,7 +277,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -296,7 +296,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -296,7 +296,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
,
"host_2"
},
Values
:
[]
string
{
"host_1"
,
"host_2"
},
},
},
...
@@ -314,7 +314,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -314,7 +314,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -335,7 +335,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -335,7 +335,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -363,7 +363,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -363,7 +363,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_2"
},
Values
:
[]
string
{
"host_2"
},
},
},
...
@@ -381,7 +381,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -381,7 +381,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -400,7 +400,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -400,7 +400,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpNotIn
,
Operator
:
v1
.
NodeSelectorOpNotIn
,
Values
:
[]
string
{
"host_2"
},
Values
:
[]
string
{
"host_2"
},
},
},
...
@@ -418,7 +418,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -418,7 +418,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -458,7 +458,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
...
@@ -458,7 +458,7 @@ func TestReplaceDaemonSetPodNodeNameNodeAffinity(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"host_1"
},
Values
:
[]
string
{
"host_1"
},
},
},
...
@@ -529,7 +529,7 @@ func TestGetTargetNodeName(t *testing.T) {
...
@@ -529,7 +529,7 @@ func TestGetTargetNodeName(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node-1"
},
Values
:
[]
string
{
"node-1"
},
},
},
...
@@ -557,7 +557,7 @@ func TestGetTargetNodeName(t *testing.T) {
...
@@ -557,7 +557,7 @@ func TestGetTargetNodeName(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node-1"
,
"node-2"
},
Values
:
[]
string
{
"node-1"
,
"node-2"
},
},
},
...
...
pkg/controller/nodeipam/ipam/BUILD
View file @
b7c7966b
...
@@ -48,7 +48,7 @@ go_library(
...
@@ -48,7 +48,7 @@ go_library(
"//pkg/controller/nodeipam/ipam/cidrset:go_default_library",
"//pkg/controller/nodeipam/ipam/cidrset:go_default_library",
"//pkg/controller/nodeipam/ipam/sync:go_default_library",
"//pkg/controller/nodeipam/ipam/sync:go_default_library",
"//pkg/controller/util/node:go_default_library",
"//pkg/controller/util/node:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/taints:go_default_library",
"//pkg/util/taints:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
...
...
pkg/controller/nodeipam/ipam/cloud_cidr_allocator.go
View file @
b7c7966b
...
@@ -43,7 +43,7 @@ import (
...
@@ -43,7 +43,7 @@ import (
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
nodeutil
"k8s.io/kubernetes/pkg/controller/util/node"
nodeutil
"k8s.io/kubernetes/pkg/controller/util/node"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utiltaints
"k8s.io/kubernetes/pkg/util/taints"
utiltaints
"k8s.io/kubernetes/pkg/util/taints"
)
)
...
@@ -117,7 +117,7 @@ func NewCloudCIDRAllocator(client clientset.Interface, cloud cloudprovider.Inter
...
@@ -117,7 +117,7 @@ func NewCloudCIDRAllocator(client clientset.Interface, cloud cloudprovider.Inter
}
}
// Even if PodCIDR is assigned, but NetworkUnavailable condition is
// Even if PodCIDR is assigned, but NetworkUnavailable condition is
// set to true, we need to process the node to set the condition.
// set to true, we need to process the node to set the condition.
networkUnavailableTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Effect
:
v1
.
TaintEffectNoSchedule
}
networkUnavailableTaint
:=
&
v1
.
Taint
{
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Effect
:
v1
.
TaintEffectNoSchedule
}
_
,
cond
:=
v1node
.
GetNodeCondition
(
&
newNode
.
Status
,
v1
.
NodeNetworkUnavailable
)
_
,
cond
:=
v1node
.
GetNodeCondition
(
&
newNode
.
Status
,
v1
.
NodeNetworkUnavailable
)
if
cond
==
nil
||
cond
.
Status
!=
v1
.
ConditionFalse
||
utiltaints
.
TaintExists
(
newNode
.
Spec
.
Taints
,
networkUnavailableTaint
)
{
if
cond
==
nil
||
cond
.
Status
!=
v1
.
ConditionFalse
||
utiltaints
.
TaintExists
(
newNode
.
Spec
.
Taints
,
networkUnavailableTaint
)
{
return
ca
.
AllocateOrOccupyCIDR
(
newNode
)
return
ca
.
AllocateOrOccupyCIDR
(
newNode
)
...
...
pkg/controller/nodelifecycle/BUILD
View file @
b7c7966b
...
@@ -14,7 +14,7 @@ go_library(
...
@@ -14,7 +14,7 @@ go_library(
"//pkg/controller/nodelifecycle/scheduler:go_default_library",
"//pkg/controller/nodelifecycle/scheduler:go_default_library",
"//pkg/controller/util/node:go_default_library",
"//pkg/controller/util/node:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/util/metrics:go_default_library",
"//pkg/util/metrics:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/system:go_default_library",
"//pkg/util/system:go_default_library",
...
@@ -76,7 +76,7 @@ go_test(
...
@@ -76,7 +76,7 @@ go_test(
"//pkg/controller/util/node:go_default_library",
"//pkg/controller/util/node:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/node:go_default_library",
"//pkg/util/taints:go_default_library",
"//pkg/util/taints:go_default_library",
"//staging/src/k8s.io/api/coordination/v1beta1:go_default_library",
"//staging/src/k8s.io/api/coordination/v1beta1:go_default_library",
...
...
pkg/controller/nodelifecycle/node_lifecycle_controller.go
View file @
b7c7966b
...
@@ -59,7 +59,7 @@ import (
...
@@ -59,7 +59,7 @@ import (
"k8s.io/kubernetes/pkg/controller/nodelifecycle/scheduler"
"k8s.io/kubernetes/pkg/controller/nodelifecycle/scheduler"
nodeutil
"k8s.io/kubernetes/pkg/controller/util/node"
nodeutil
"k8s.io/kubernetes/pkg/controller/util/node"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"k8s.io/kubernetes/pkg/util/metrics"
"k8s.io/kubernetes/pkg/util/metrics"
utilnode
"k8s.io/kubernetes/pkg/util/node"
utilnode
"k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/util/system"
"k8s.io/kubernetes/pkg/util/system"
...
@@ -74,14 +74,14 @@ func init() {
...
@@ -74,14 +74,14 @@ func init() {
var
(
var
(
// UnreachableTaintTemplate is the taint for when a node becomes unreachable.
// UnreachableTaintTemplate is the taint for when a node becomes unreachable.
UnreachableTaintTemplate
=
&
v1
.
Taint
{
UnreachableTaintTemplate
=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
}
}
// NotReadyTaintTemplate is the taint for when a node is not ready for
// NotReadyTaintTemplate is the taint for when a node is not ready for
// executing pods
// executing pods
NotReadyTaintTemplate
=
&
v1
.
Taint
{
NotReadyTaintTemplate
=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
}
}
...
@@ -91,34 +91,34 @@ var (
...
@@ -91,34 +91,34 @@ var (
// for certain NodeConditionType, there are multiple {ConditionStatus,TaintKey} pairs
// for certain NodeConditionType, there are multiple {ConditionStatus,TaintKey} pairs
nodeConditionToTaintKeyStatusMap
=
map
[
v1
.
NodeConditionType
]
map
[
v1
.
ConditionStatus
]
string
{
nodeConditionToTaintKeyStatusMap
=
map
[
v1
.
NodeConditionType
]
map
[
v1
.
ConditionStatus
]
string
{
v1
.
NodeReady
:
{
v1
.
NodeReady
:
{
v1
.
ConditionFalse
:
algorithm
.
TaintNodeNotReady
,
v1
.
ConditionFalse
:
schedulerapi
.
TaintNodeNotReady
,
v1
.
ConditionUnknown
:
algorithm
.
TaintNodeUnreachable
,
v1
.
ConditionUnknown
:
schedulerapi
.
TaintNodeUnreachable
,
},
},
v1
.
NodeMemoryPressure
:
{
v1
.
NodeMemoryPressure
:
{
v1
.
ConditionTrue
:
algorithm
.
TaintNodeMemoryPressure
,
v1
.
ConditionTrue
:
schedulerapi
.
TaintNodeMemoryPressure
,
},
},
v1
.
NodeOutOfDisk
:
{
v1
.
NodeOutOfDisk
:
{
v1
.
ConditionTrue
:
algorithm
.
TaintNodeOutOfDisk
,
v1
.
ConditionTrue
:
schedulerapi
.
TaintNodeOutOfDisk
,
},
},
v1
.
NodeDiskPressure
:
{
v1
.
NodeDiskPressure
:
{
v1
.
ConditionTrue
:
algorithm
.
TaintNodeDiskPressure
,
v1
.
ConditionTrue
:
schedulerapi
.
TaintNodeDiskPressure
,
},
},
v1
.
NodeNetworkUnavailable
:
{
v1
.
NodeNetworkUnavailable
:
{
v1
.
ConditionTrue
:
algorithm
.
TaintNodeNetworkUnavailable
,
v1
.
ConditionTrue
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
},
},
v1
.
NodePIDPressure
:
{
v1
.
NodePIDPressure
:
{
v1
.
ConditionTrue
:
algorithm
.
TaintNodePIDPressure
,
v1
.
ConditionTrue
:
schedulerapi
.
TaintNodePIDPressure
,
},
},
}
}
taintKeyToNodeConditionMap
=
map
[
string
]
v1
.
NodeConditionType
{
taintKeyToNodeConditionMap
=
map
[
string
]
v1
.
NodeConditionType
{
algorithm
.
TaintNodeNotReady
:
v1
.
NodeReady
,
schedulerapi
.
TaintNodeNotReady
:
v1
.
NodeReady
,
algorithm
.
TaintNodeUnreachable
:
v1
.
NodeReady
,
schedulerapi
.
TaintNodeUnreachable
:
v1
.
NodeReady
,
algorithm
.
TaintNodeNetworkUnavailable
:
v1
.
NodeNetworkUnavailable
,
schedulerapi
.
TaintNodeNetworkUnavailable
:
v1
.
NodeNetworkUnavailable
,
algorithm
.
TaintNodeMemoryPressure
:
v1
.
NodeMemoryPressure
,
schedulerapi
.
TaintNodeMemoryPressure
:
v1
.
NodeMemoryPressure
,
algorithm
.
TaintNodeOutOfDisk
:
v1
.
NodeOutOfDisk
,
schedulerapi
.
TaintNodeOutOfDisk
:
v1
.
NodeOutOfDisk
,
algorithm
.
TaintNodeDiskPressure
:
v1
.
NodeDiskPressure
,
schedulerapi
.
TaintNodeDiskPressure
:
v1
.
NodeDiskPressure
,
algorithm
.
TaintNodePIDPressure
:
v1
.
NodePIDPressure
,
schedulerapi
.
TaintNodePIDPressure
:
v1
.
NodePIDPressure
,
}
}
)
)
...
@@ -455,21 +455,21 @@ func (nc *Controller) doFixDeprecatedTaintKeyPass(node *v1.Node) error {
...
@@ -455,21 +455,21 @@ func (nc *Controller) doFixDeprecatedTaintKeyPass(node *v1.Node) error {
taintsToDel
:=
[]
*
v1
.
Taint
{}
taintsToDel
:=
[]
*
v1
.
Taint
{}
for
_
,
taint
:=
range
node
.
Spec
.
Taints
{
for
_
,
taint
:=
range
node
.
Spec
.
Taints
{
if
taint
.
Key
==
algorithm
.
DeprecatedTaintNodeNotReady
{
if
taint
.
Key
==
schedulerapi
.
DeprecatedTaintNodeNotReady
{
tDel
:=
taint
tDel
:=
taint
taintsToDel
=
append
(
taintsToDel
,
&
tDel
)
taintsToDel
=
append
(
taintsToDel
,
&
tDel
)
tAdd
:=
taint
tAdd
:=
taint
tAdd
.
Key
=
algorithm
.
TaintNodeNotReady
tAdd
.
Key
=
schedulerapi
.
TaintNodeNotReady
taintsToAdd
=
append
(
taintsToAdd
,
&
tAdd
)
taintsToAdd
=
append
(
taintsToAdd
,
&
tAdd
)
}
}
if
taint
.
Key
==
algorithm
.
DeprecatedTaintNodeUnreachable
{
if
taint
.
Key
==
schedulerapi
.
DeprecatedTaintNodeUnreachable
{
tDel
:=
taint
tDel
:=
taint
taintsToDel
=
append
(
taintsToDel
,
&
tDel
)
taintsToDel
=
append
(
taintsToDel
,
&
tDel
)
tAdd
:=
taint
tAdd
:=
taint
tAdd
.
Key
=
algorithm
.
TaintNodeUnreachable
tAdd
.
Key
=
schedulerapi
.
TaintNodeUnreachable
taintsToAdd
=
append
(
taintsToAdd
,
&
tAdd
)
taintsToAdd
=
append
(
taintsToAdd
,
&
tAdd
)
}
}
}
}
...
@@ -530,7 +530,7 @@ func (nc *Controller) doNoScheduleTaintingPass(nodeName string) error {
...
@@ -530,7 +530,7 @@ func (nc *Controller) doNoScheduleTaintingPass(nodeName string) error {
if
node
.
Spec
.
Unschedulable
{
if
node
.
Spec
.
Unschedulable
{
// If unschedulable, append related taint.
// If unschedulable, append related taint.
taints
=
append
(
taints
,
v1
.
Taint
{
taints
=
append
(
taints
,
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
}
}
...
@@ -542,7 +542,7 @@ func (nc *Controller) doNoScheduleTaintingPass(nodeName string) error {
...
@@ -542,7 +542,7 @@ func (nc *Controller) doNoScheduleTaintingPass(nodeName string) error {
return
false
return
false
}
}
// Find unschedulable taint of node.
// Find unschedulable taint of node.
if
t
.
Key
==
algorithm
.
TaintNodeUnschedulable
{
if
t
.
Key
==
schedulerapi
.
TaintNodeUnschedulable
{
return
true
return
true
}
}
// Find node condition taints of node.
// Find node condition taints of node.
...
...
pkg/controller/nodelifecycle/node_lifecycle_controller_test.go
View file @
b7c7966b
...
@@ -48,7 +48,7 @@ import (
...
@@ -48,7 +48,7 @@ import (
nodeutil
"k8s.io/kubernetes/pkg/controller/util/node"
nodeutil
"k8s.io/kubernetes/pkg/controller/util/node"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/features"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"k8s.io/kubernetes/pkg/util/node"
"k8s.io/kubernetes/pkg/util/node"
taintutils
"k8s.io/kubernetes/pkg/util/taints"
taintutils
"k8s.io/kubernetes/pkg/util/taints"
"k8s.io/utils/pointer"
"k8s.io/utils/pointer"
...
@@ -1435,7 +1435,7 @@ func TestCloudProviderNodeShutdown(t *testing.T) {
...
@@ -1435,7 +1435,7 @@ func TestCloudProviderNodeShutdown(t *testing.T) {
ProviderID
:
"node0"
,
ProviderID
:
"node0"
,
Taints
:
[]
v1
.
Taint
{
Taints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeShutdown
,
Key
:
schedulerapi
.
TaintNodeShutdown
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -2806,19 +2806,19 @@ func TestTaintsNodeByCondition(t *testing.T) {
...
@@ -2806,19 +2806,19 @@ func TestTaintsNodeByCondition(t *testing.T) {
nodeController
.
recorder
=
testutil
.
NewFakeRecorder
()
nodeController
.
recorder
=
testutil
.
NewFakeRecorder
()
outOfDiskTaint
:=
&
v1
.
Taint
{
outOfDiskTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeOutOfDisk
,
Key
:
schedulerapi
.
TaintNodeOutOfDisk
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
networkUnavailableTaint
:=
&
v1
.
Taint
{
networkUnavailableTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
notReadyTaint
:=
&
v1
.
Taint
{
notReadyTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
unreachableTaint
:=
&
v1
.
Taint
{
unreachableTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
...
@@ -3115,22 +3115,22 @@ func TestFixDeprecatedTaintKey(t *testing.T) {
...
@@ -3115,22 +3115,22 @@ func TestFixDeprecatedTaintKey(t *testing.T) {
nodeController
.
recorder
=
testutil
.
NewFakeRecorder
()
nodeController
.
recorder
=
testutil
.
NewFakeRecorder
()
deprecatedNotReadyTaint
:=
&
v1
.
Taint
{
deprecatedNotReadyTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
DeprecatedTaintNodeNotReady
,
Key
:
schedulerapi
.
DeprecatedTaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
}
}
nodeNotReadyTaint
:=
&
v1
.
Taint
{
nodeNotReadyTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
}
}
deprecatedUnreachableTaint
:=
&
v1
.
Taint
{
deprecatedUnreachableTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
DeprecatedTaintNodeUnreachable
,
Key
:
schedulerapi
.
DeprecatedTaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
}
}
nodeUnreachableTaint
:=
&
v1
.
Taint
{
nodeUnreachableTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
}
}
...
...
pkg/kubelet/BUILD
View file @
b7c7966b
...
@@ -96,8 +96,8 @@ go_library(
...
@@ -96,8 +96,8 @@ go_library(
"//pkg/kubelet/util/queue:go_default_library",
"//pkg/kubelet/util/queue:go_default_library",
"//pkg/kubelet/util/sliceutils:go_default_library",
"//pkg/kubelet/util/sliceutils:go_default_library",
"//pkg/kubelet/volumemanager:go_default_library",
"//pkg/kubelet/volumemanager:go_default_library",
"//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/algorithm/predicates:go_default_library",
"//pkg/scheduler/algorithm/predicates:go_default_library",
"//pkg/scheduler/api:go_default_library",
"//pkg/security/apparmor:go_default_library",
"//pkg/security/apparmor:go_default_library",
"//pkg/security/podsecuritypolicy/sysctl:go_default_library",
"//pkg/security/podsecuritypolicy/sysctl:go_default_library",
"//pkg/securitycontext:go_default_library",
"//pkg/securitycontext:go_default_library",
...
@@ -205,7 +205,7 @@ go_test(
...
@@ -205,7 +205,7 @@ go_test(
"//pkg/kubelet/util/queue:go_default_library",
"//pkg/kubelet/util/queue:go_default_library",
"//pkg/kubelet/util/sliceutils:go_default_library",
"//pkg/kubelet/util/sliceutils:go_default_library",
"//pkg/kubelet/volumemanager:go_default_library",
"//pkg/kubelet/volumemanager:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/mount:go_default_library",
"//pkg/util/taints:go_default_library",
"//pkg/util/taints:go_default_library",
...
...
pkg/kubelet/eviction/BUILD
View file @
b7c7966b
...
@@ -59,7 +59,7 @@ go_library(
...
@@ -59,7 +59,7 @@ go_library(
"//pkg/kubelet/server/stats:go_default_library",
"//pkg/kubelet/server/stats:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/kubelet/types:go_default_library",
"//pkg/kubelet/util/format:go_default_library",
"//pkg/kubelet/util/format:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/scheduler/util:go_default_library",
"//pkg/scheduler/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
...
...
pkg/kubelet/eviction/eviction_manager.go
View file @
b7c7966b
...
@@ -41,7 +41,7 @@ import (
...
@@ -41,7 +41,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/server/stats"
"k8s.io/kubernetes/pkg/kubelet/server/stats"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
kubelettypes
"k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/kubelet/util/format"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
)
)
const
(
const
(
...
@@ -145,7 +145,7 @@ func (m *managerImpl) Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle.PodAd
...
@@ -145,7 +145,7 @@ func (m *managerImpl) Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle.PodAd
// admit it if tolerates memory pressure taint, fail for other tolerations, e.g. OutOfDisk.
// admit it if tolerates memory pressure taint, fail for other tolerations, e.g. OutOfDisk.
if
utilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
TaintNodesByCondition
)
&&
if
utilfeature
.
DefaultFeatureGate
.
Enabled
(
features
.
TaintNodesByCondition
)
&&
v1helper
.
TolerationsTolerateTaint
(
attrs
.
Pod
.
Spec
.
Tolerations
,
&
v1
.
Taint
{
v1helper
.
TolerationsTolerateTaint
(
attrs
.
Pod
.
Spec
.
Tolerations
,
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
{
})
{
return
lifecycle
.
PodAdmitResult
{
Admit
:
true
}
return
lifecycle
.
PodAdmitResult
{
Admit
:
true
}
...
...
pkg/kubelet/kubelet_node_status.go
View file @
b7c7966b
...
@@ -39,7 +39,7 @@ import (
...
@@ -39,7 +39,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet/events"
"k8s.io/kubernetes/pkg/kubelet/events"
"k8s.io/kubernetes/pkg/kubelet/nodestatus"
"k8s.io/kubernetes/pkg/kubelet/nodestatus"
"k8s.io/kubernetes/pkg/kubelet/util"
"k8s.io/kubernetes/pkg/kubelet/util"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
nodeutil
"k8s.io/kubernetes/pkg/util/node"
nodeutil
"k8s.io/kubernetes/pkg/util/node"
taintutil
"k8s.io/kubernetes/pkg/util/taints"
taintutil
"k8s.io/kubernetes/pkg/util/taints"
volutil
"k8s.io/kubernetes/pkg/volume/util"
volutil
"k8s.io/kubernetes/pkg/volume/util"
...
@@ -232,7 +232,7 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) {
...
@@ -232,7 +232,7 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) {
}
}
unschedulableTaint
:=
v1
.
Taint
{
unschedulableTaint
:=
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
...
@@ -247,7 +247,7 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) {
...
@@ -247,7 +247,7 @@ func (kl *Kubelet) initialNode() (*v1.Node, error) {
if
kl
.
externalCloudProvider
{
if
kl
.
externalCloudProvider
{
taint
:=
v1
.
Taint
{
taint
:=
v1
.
Taint
{
Key
:
algorithm
.
TaintExternalCloudProvider
,
Key
:
schedulerapi
.
TaintExternalCloudProvider
,
Value
:
"true"
,
Value
:
"true"
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
...
...
pkg/kubelet/kubelet_node_status_test.go
View file @
b7c7966b
...
@@ -54,7 +54,7 @@ import (
...
@@ -54,7 +54,7 @@ import (
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/kubelet/nodestatus"
"k8s.io/kubernetes/pkg/kubelet/nodestatus"
"k8s.io/kubernetes/pkg/kubelet/util/sliceutils"
"k8s.io/kubernetes/pkg/kubelet/util/sliceutils"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
taintutil
"k8s.io/kubernetes/pkg/util/taints"
taintutil
"k8s.io/kubernetes/pkg/util/taints"
"k8s.io/kubernetes/pkg/version"
"k8s.io/kubernetes/pkg/version"
"k8s.io/kubernetes/pkg/volume/util"
"k8s.io/kubernetes/pkg/volume/util"
...
@@ -1549,7 +1549,7 @@ func TestRegisterWithApiServerWithTaint(t *testing.T) {
...
@@ -1549,7 +1549,7 @@ func TestRegisterWithApiServerWithTaint(t *testing.T) {
// Check the unschedulable taint.
// Check the unschedulable taint.
got
:=
gotNode
.
(
*
v1
.
Node
)
got
:=
gotNode
.
(
*
v1
.
Node
)
unschedulableTaint
:=
&
v1
.
Taint
{
unschedulableTaint
:=
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
...
...
pkg/scheduler/algorithm/BUILD
View file @
b7c7966b
...
@@ -12,11 +12,9 @@ go_library(
...
@@ -12,11 +12,9 @@ go_library(
"doc.go",
"doc.go",
"scheduler_interface.go",
"scheduler_interface.go",
"types.go",
"types.go",
"well_known_labels.go",
],
],
importpath = "k8s.io/kubernetes/pkg/scheduler/algorithm",
importpath = "k8s.io/kubernetes/pkg/scheduler/algorithm",
deps = [
deps = [
"//pkg/apis/core:go_default_library",
"//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/internal/cache:go_default_library",
"//pkg/scheduler/internal/cache:go_default_library",
...
...
pkg/scheduler/algorithm/predicates/BUILD
View file @
b7c7966b
...
@@ -24,6 +24,7 @@ go_library(
...
@@ -24,6 +24,7 @@ go_library(
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/algorithm/priorities/util:go_default_library",
"//pkg/scheduler/algorithm/priorities/util:go_default_library",
"//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/util:go_default_library",
"//pkg/scheduler/util:go_default_library",
"//pkg/scheduler/volumebinder:go_default_library",
"//pkg/scheduler/volumebinder:go_default_library",
...
@@ -59,6 +60,7 @@ go_test(
...
@@ -59,6 +60,7 @@ go_test(
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/kubelet/apis:go_default_library",
"//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/cache:go_default_library",
"//pkg/scheduler/testing:go_default_library",
"//pkg/scheduler/testing:go_default_library",
"//pkg/volume/util:go_default_library",
"//pkg/volume/util:go_default_library",
...
...
pkg/scheduler/algorithm/predicates/predicates.go
View file @
b7c7966b
...
@@ -42,6 +42,7 @@ import (
...
@@ -42,6 +42,7 @@ import (
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
priorityutil
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities/util"
priorityutil
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities/util"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
schedulercache
"k8s.io/kubernetes/pkg/scheduler/cache"
schedulercache
"k8s.io/kubernetes/pkg/scheduler/cache"
schedutil
"k8s.io/kubernetes/pkg/scheduler/util"
schedutil
"k8s.io/kubernetes/pkg/scheduler/util"
"k8s.io/kubernetes/pkg/scheduler/volumebinder"
"k8s.io/kubernetes/pkg/scheduler/volumebinder"
...
@@ -1472,7 +1473,7 @@ func CheckNodeUnschedulablePredicate(pod *v1.Pod, meta algorithm.PredicateMetada
...
@@ -1472,7 +1473,7 @@ func CheckNodeUnschedulablePredicate(pod *v1.Pod, meta algorithm.PredicateMetada
// If pod tolerate unschedulable taint, it's also tolerate `node.Spec.Unschedulable`.
// If pod tolerate unschedulable taint, it's also tolerate `node.Spec.Unschedulable`.
podToleratesUnschedulable
:=
v1helper
.
TolerationsTolerateTaint
(
pod
.
Spec
.
Tolerations
,
&
v1
.
Taint
{
podToleratesUnschedulable
:=
v1helper
.
TolerationsTolerateTaint
(
pod
.
Spec
.
Tolerations
,
&
v1
.
Taint
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
})
})
...
...
pkg/scheduler/algorithm/predicates/predicates_test.go
View file @
b7c7966b
...
@@ -33,6 +33,7 @@ import (
...
@@ -33,6 +33,7 @@ import (
v1helper
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
v1helper
"k8s.io/kubernetes/pkg/apis/core/v1/helper"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
kubeletapis
"k8s.io/kubernetes/pkg/kubelet/apis"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
schedulercache
"k8s.io/kubernetes/pkg/scheduler/cache"
schedulercache
"k8s.io/kubernetes/pkg/scheduler/cache"
schedulertesting
"k8s.io/kubernetes/pkg/scheduler/testing"
schedulertesting
"k8s.io/kubernetes/pkg/scheduler/testing"
)
)
...
@@ -1417,7 +1418,7 @@ func TestPodFitsSelector(t *testing.T) {
...
@@ -1417,7 +1418,7 @@ func TestPodFitsSelector(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node_1"
},
Values
:
[]
string
{
"node_1"
},
},
},
...
@@ -1443,7 +1444,7 @@ func TestPodFitsSelector(t *testing.T) {
...
@@ -1443,7 +1444,7 @@ func TestPodFitsSelector(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node_1"
},
Values
:
[]
string
{
"node_1"
},
},
},
...
@@ -1469,7 +1470,7 @@ func TestPodFitsSelector(t *testing.T) {
...
@@ -1469,7 +1470,7 @@ func TestPodFitsSelector(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node_1"
},
Values
:
[]
string
{
"node_1"
},
},
},
...
@@ -1505,7 +1506,7 @@ func TestPodFitsSelector(t *testing.T) {
...
@@ -1505,7 +1506,7 @@ func TestPodFitsSelector(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node_1"
},
Values
:
[]
string
{
"node_1"
},
},
},
...
@@ -1539,7 +1540,7 @@ func TestPodFitsSelector(t *testing.T) {
...
@@ -1539,7 +1540,7 @@ func TestPodFitsSelector(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node_1"
},
Values
:
[]
string
{
"node_1"
},
},
},
...
@@ -1573,7 +1574,7 @@ func TestPodFitsSelector(t *testing.T) {
...
@@ -1573,7 +1574,7 @@ func TestPodFitsSelector(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node_1"
},
Values
:
[]
string
{
"node_1"
},
},
},
...
@@ -5016,7 +5017,7 @@ func TestCheckNodeUnschedulablePredicate(t *testing.T) {
...
@@ -5016,7 +5017,7 @@ func TestCheckNodeUnschedulablePredicate(t *testing.T) {
Spec
:
v1
.
PodSpec
{
Spec
:
v1
.
PodSpec
{
Tolerations
:
[]
v1
.
Toleration
{
Tolerations
:
[]
v1
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
...
pkg/scheduler/algorithm/types.go
View file @
b7c7966b
...
@@ -29,7 +29,7 @@ import (
...
@@ -29,7 +29,7 @@ import (
// NodeFieldSelectorKeys is a map that: the key are node field selector keys; the values are
// NodeFieldSelectorKeys is a map that: the key are node field selector keys; the values are
// the functions to get the value of the node field.
// the functions to get the value of the node field.
var
NodeFieldSelectorKeys
=
map
[
string
]
func
(
*
v1
.
Node
)
string
{
var
NodeFieldSelectorKeys
=
map
[
string
]
func
(
*
v1
.
Node
)
string
{
NodeFieldSelectorKeyNodeName
:
func
(
n
*
v1
.
Node
)
string
{
return
n
.
Name
},
schedulerapi
.
NodeFieldSelectorKeyNodeName
:
func
(
n
*
v1
.
Node
)
string
{
return
n
.
Name
},
}
}
// FitPredicate is a function that indicates if a pod fits into an existing node.
// FitPredicate is a function that indicates if a pod fits into an existing node.
...
...
pkg/scheduler/api/BUILD
View file @
b7c7966b
...
@@ -11,10 +11,12 @@ go_library(
...
@@ -11,10 +11,12 @@ go_library(
"doc.go",
"doc.go",
"register.go",
"register.go",
"types.go",
"types.go",
"well_known_labels.go",
"zz_generated.deepcopy.go",
"zz_generated.deepcopy.go",
],
],
importpath = "k8s.io/kubernetes/pkg/scheduler/api",
importpath = "k8s.io/kubernetes/pkg/scheduler/api",
deps = [
deps = [
"//pkg/apis/core:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
...
...
pkg/scheduler/a
lgorithm
/well_known_labels.go
→
pkg/scheduler/a
pi
/well_known_labels.go
View file @
b7c7966b
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.
*/
*/
package
a
lgorithm
package
a
pi
import
(
import
(
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
...
...
plugin/pkg/admission/defaulttolerationseconds/BUILD
View file @
b7c7966b
...
@@ -13,7 +13,7 @@ go_test(
...
@@ -13,7 +13,7 @@ go_test(
deps = [
deps = [
"//pkg/apis/core:go_default_library",
"//pkg/apis/core:go_default_library",
"//pkg/apis/core/helper:go_default_library",
"//pkg/apis/core/helper:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
],
],
)
)
...
@@ -24,7 +24,7 @@ go_library(
...
@@ -24,7 +24,7 @@ go_library(
importpath = "k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds",
importpath = "k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds",
deps = [
deps = [
"//pkg/apis/core:go_default_library",
"//pkg/apis/core:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/admission:go_default_library",
],
],
...
...
plugin/pkg/admission/defaulttolerationseconds/admission.go
View file @
b7c7966b
...
@@ -24,7 +24,7 @@ import (
...
@@ -24,7 +24,7 @@ import (
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/admission"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
)
)
// PluginName indicates name of admission plugin.
// PluginName indicates name of admission plugin.
...
@@ -40,14 +40,14 @@ var (
...
@@ -40,14 +40,14 @@ var (
" that is added by default to every pod that does not already have such a toleration."
)
" that is added by default to every pod that does not already have such a toleration."
)
notReadyToleration
=
api
.
Toleration
{
notReadyToleration
=
api
.
Toleration
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
defaultNotReadyTolerationSeconds
,
TolerationSeconds
:
defaultNotReadyTolerationSeconds
,
}
}
unreachableToleration
=
api
.
Toleration
{
unreachableToleration
=
api
.
Toleration
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
defaultUnreachableTolerationSeconds
,
TolerationSeconds
:
defaultUnreachableTolerationSeconds
,
...
@@ -101,12 +101,12 @@ func (p *Plugin) Admit(attributes admission.Attributes) (err error) {
...
@@ -101,12 +101,12 @@ func (p *Plugin) Admit(attributes admission.Attributes) (err error) {
toleratesNodeNotReady
:=
false
toleratesNodeNotReady
:=
false
toleratesNodeUnreachable
:=
false
toleratesNodeUnreachable
:=
false
for
_
,
toleration
:=
range
tolerations
{
for
_
,
toleration
:=
range
tolerations
{
if
(
toleration
.
Key
==
algorithm
.
TaintNodeNotReady
||
len
(
toleration
.
Key
)
==
0
)
&&
if
(
toleration
.
Key
==
schedulerapi
.
TaintNodeNotReady
||
len
(
toleration
.
Key
)
==
0
)
&&
(
toleration
.
Effect
==
api
.
TaintEffectNoExecute
||
len
(
toleration
.
Effect
)
==
0
)
{
(
toleration
.
Effect
==
api
.
TaintEffectNoExecute
||
len
(
toleration
.
Effect
)
==
0
)
{
toleratesNodeNotReady
=
true
toleratesNodeNotReady
=
true
}
}
if
(
toleration
.
Key
==
algorithm
.
TaintNodeUnreachable
||
len
(
toleration
.
Key
)
==
0
)
&&
if
(
toleration
.
Key
==
schedulerapi
.
TaintNodeUnreachable
||
len
(
toleration
.
Key
)
==
0
)
&&
(
toleration
.
Effect
==
api
.
TaintEffectNoExecute
||
len
(
toleration
.
Effect
)
==
0
)
{
(
toleration
.
Effect
==
api
.
TaintEffectNoExecute
||
len
(
toleration
.
Effect
)
==
0
)
{
toleratesNodeUnreachable
=
true
toleratesNodeUnreachable
=
true
}
}
...
...
plugin/pkg/admission/defaulttolerationseconds/admission_test.go
View file @
b7c7966b
...
@@ -22,7 +22,7 @@ import (
...
@@ -22,7 +22,7 @@ import (
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/admission"
api
"k8s.io/kubernetes/pkg/apis/core"
api
"k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/apis/core/helper"
"k8s.io/kubernetes/pkg/apis/core/helper"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
)
)
func
TestForgivenessAdmission
(
t
*
testing
.
T
)
{
func
TestForgivenessAdmission
(
t
*
testing
.
T
)
{
...
@@ -48,13 +48,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -48,13 +48,13 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -70,13 +70,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -70,13 +70,13 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
DeprecatedTaintNodeNotReady
,
Key
:
schedulerapi
.
DeprecatedTaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
DeprecatedTaintNodeUnreachable
,
Key
:
schedulerapi
.
DeprecatedTaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -88,25 +88,25 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -88,25 +88,25 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
DeprecatedTaintNodeNotReady
,
Key
:
schedulerapi
.
DeprecatedTaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
DeprecatedTaintNodeUnreachable
,
Key
:
schedulerapi
.
DeprecatedTaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -122,7 +122,7 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -122,7 +122,7 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
DeprecatedTaintNodeNotReady
,
Key
:
schedulerapi
.
DeprecatedTaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -134,19 +134,19 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -134,19 +134,19 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
DeprecatedTaintNodeNotReady
,
Key
:
schedulerapi
.
DeprecatedTaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -162,7 +162,7 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -162,7 +162,7 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
DeprecatedTaintNodeUnreachable
,
Key
:
schedulerapi
.
DeprecatedTaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -174,19 +174,19 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -174,19 +174,19 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
DeprecatedTaintNodeUnreachable
,
Key
:
schedulerapi
.
DeprecatedTaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -221,13 +221,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -221,13 +221,13 @@ func TestForgivenessAdmission(t *testing.T) {
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -242,7 +242,7 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -242,7 +242,7 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
...
@@ -254,13 +254,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -254,13 +254,13 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -275,7 +275,7 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -275,7 +275,7 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
...
@@ -287,13 +287,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -287,13 +287,13 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
TolerationSeconds
:
&
defaultTolerationSeconds
,
...
@@ -308,13 +308,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -308,13 +308,13 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
...
@@ -326,13 +326,13 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -326,13 +326,13 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
...
@@ -347,7 +347,7 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -347,7 +347,7 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
...
@@ -358,12 +358,12 @@ func TestForgivenessAdmission(t *testing.T) {
...
@@ -358,12 +358,12 @@ func TestForgivenessAdmission(t *testing.T) {
Spec
:
api
.
PodSpec
{
Spec
:
api
.
PodSpec
{
Tolerations
:
[]
api
.
Toleration
{
Tolerations
:
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
TolerationSeconds
:
genTolerationSeconds
(
700
),
TolerationSeconds
:
genTolerationSeconds
(
700
),
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoExecute
,
Effect
:
api
.
TaintEffectNoExecute
,
TolerationSeconds
:
genTolerationSeconds
(
300
),
TolerationSeconds
:
genTolerationSeconds
(
300
),
...
...
plugin/pkg/admission/podtolerationrestriction/BUILD
View file @
b7c7966b
...
@@ -16,7 +16,7 @@ go_test(
...
@@ -16,7 +16,7 @@ go_test(
"//pkg/client/clientset_generated/internalclientset/fake:go_default_library",
"//pkg/client/clientset_generated/internalclientset/fake:go_default_library",
"//pkg/client/informers/informers_generated/internalversion:go_default_library",
"//pkg/client/informers/informers_generated/internalversion:go_default_library",
"//pkg/kubeapiserver/admission:go_default_library",
"//pkg/kubeapiserver/admission:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/util/tolerations:go_default_library",
"//pkg/util/tolerations:go_default_library",
"//plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction:go_default_library",
"//plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
...
@@ -42,7 +42,7 @@ go_library(
...
@@ -42,7 +42,7 @@ go_library(
"//pkg/client/listers/core/internalversion:go_default_library",
"//pkg/client/listers/core/internalversion:go_default_library",
"//pkg/kubeapiserver/admission:go_default_library",
"//pkg/kubeapiserver/admission:go_default_library",
"//pkg/kubeapiserver/admission/util:go_default_library",
"//pkg/kubeapiserver/admission/util:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//pkg/util/tolerations:go_default_library",
"//pkg/util/tolerations:go_default_library",
"//plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction:go_default_library",
"//plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction:go_default_library",
"//plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/install:go_default_library",
"//plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/install:go_default_library",
...
...
plugin/pkg/admission/podtolerationrestriction/admission.go
View file @
b7c7966b
...
@@ -35,7 +35,7 @@ import (
...
@@ -35,7 +35,7 @@ import (
corelisters
"k8s.io/kubernetes/pkg/client/listers/core/internalversion"
corelisters
"k8s.io/kubernetes/pkg/client/listers/core/internalversion"
kubeapiserveradmission
"k8s.io/kubernetes/pkg/kubeapiserver/admission"
kubeapiserveradmission
"k8s.io/kubernetes/pkg/kubeapiserver/admission"
"k8s.io/kubernetes/pkg/kubeapiserver/admission/util"
"k8s.io/kubernetes/pkg/kubeapiserver/admission/util"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"k8s.io/kubernetes/pkg/util/tolerations"
"k8s.io/kubernetes/pkg/util/tolerations"
pluginapi
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction"
pluginapi
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction"
)
)
...
@@ -129,7 +129,7 @@ func (p *podTolerationsPlugin) Admit(a admission.Attributes) error {
...
@@ -129,7 +129,7 @@ func (p *podTolerationsPlugin) Admit(a admission.Attributes) error {
if
qoshelper
.
GetPodQOS
(
pod
)
!=
api
.
PodQOSBestEffort
{
if
qoshelper
.
GetPodQOS
(
pod
)
!=
api
.
PodQOSBestEffort
{
finalTolerations
=
tolerations
.
MergeTolerations
(
finalTolerations
,
[]
api
.
Toleration
{
finalTolerations
=
tolerations
.
MergeTolerations
(
finalTolerations
,
[]
api
.
Toleration
{
{
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Operator
:
api
.
TolerationOpExists
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoSchedule
,
Effect
:
api
.
TaintEffectNoSchedule
,
},
},
...
...
plugin/pkg/admission/podtolerationrestriction/admission_test.go
View file @
b7c7966b
...
@@ -30,7 +30,7 @@ import (
...
@@ -30,7 +30,7 @@ import (
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake"
informers
"k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
informers
"k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
kubeadmission
"k8s.io/kubernetes/pkg/kubeapiserver/admission"
kubeadmission
"k8s.io/kubernetes/pkg/kubeapiserver/admission"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"k8s.io/kubernetes/pkg/util/tolerations"
"k8s.io/kubernetes/pkg/util/tolerations"
pluginapi
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction"
pluginapi
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction"
)
)
...
@@ -194,7 +194,7 @@ func TestPodAdmission(t *testing.T) {
...
@@ -194,7 +194,7 @@ func TestPodAdmission(t *testing.T) {
whitelist
:
[]
api
.
Toleration
{},
whitelist
:
[]
api
.
Toleration
{},
podTolerations
:
[]
api
.
Toleration
{},
podTolerations
:
[]
api
.
Toleration
{},
mergedTolerations
:
[]
api
.
Toleration
{
mergedTolerations
:
[]
api
.
Toleration
{
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoSchedule
,
TolerationSeconds
:
nil
},
{
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoSchedule
,
TolerationSeconds
:
nil
},
{
Key
:
"testKey"
,
Operator
:
"Equal"
,
Value
:
"testValue"
,
Effect
:
"NoSchedule"
,
TolerationSeconds
:
nil
},
{
Key
:
"testKey"
,
Operator
:
"Equal"
,
Value
:
"testValue"
,
Effect
:
"NoSchedule"
,
TolerationSeconds
:
nil
},
},
},
admit
:
true
,
admit
:
true
,
...
@@ -207,7 +207,7 @@ func TestPodAdmission(t *testing.T) {
...
@@ -207,7 +207,7 @@ func TestPodAdmission(t *testing.T) {
whitelist
:
[]
api
.
Toleration
{},
whitelist
:
[]
api
.
Toleration
{},
podTolerations
:
[]
api
.
Toleration
{},
podTolerations
:
[]
api
.
Toleration
{},
mergedTolerations
:
[]
api
.
Toleration
{
mergedTolerations
:
[]
api
.
Toleration
{
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoSchedule
,
TolerationSeconds
:
nil
},
{
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Operator
:
api
.
TolerationOpExists
,
Effect
:
api
.
TaintEffectNoSchedule
,
TolerationSeconds
:
nil
},
{
Key
:
"testKey"
,
Operator
:
"Equal"
,
Value
:
"testValue"
,
Effect
:
"NoSchedule"
,
TolerationSeconds
:
nil
},
{
Key
:
"testKey"
,
Operator
:
"Equal"
,
Value
:
"testValue"
,
Effect
:
"NoSchedule"
,
TolerationSeconds
:
nil
},
},
},
admit
:
true
,
admit
:
true
,
...
...
test/integration/daemonset/BUILD
View file @
b7c7966b
...
@@ -20,8 +20,8 @@ go_test(
...
@@ -20,8 +20,8 @@ go_test(
"//pkg/controller/daemon:go_default_library",
"//pkg/controller/daemon:go_default_library",
"//pkg/features:go_default_library",
"//pkg/features:go_default_library",
"//pkg/scheduler:go_default_library",
"//pkg/scheduler:go_default_library",
"//pkg/scheduler/algorithm:go_default_library",
"//pkg/scheduler/algorithmprovider:go_default_library",
"//pkg/scheduler/algorithmprovider:go_default_library",
"//pkg/scheduler/api:go_default_library",
"//pkg/scheduler/factory:go_default_library",
"//pkg/scheduler/factory:go_default_library",
"//pkg/util/labels:go_default_library",
"//pkg/util/labels:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library",
"//staging/src/k8s.io/api/apps/v1:go_default_library",
...
...
test/integration/daemonset/daemonset_test.go
View file @
b7c7966b
...
@@ -47,9 +47,9 @@ import (
...
@@ -47,9 +47,9 @@ import (
"k8s.io/kubernetes/pkg/controller/daemon"
"k8s.io/kubernetes/pkg/controller/daemon"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/scheduler"
"k8s.io/kubernetes/pkg/scheduler"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
_
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
_
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
"k8s.io/kubernetes/pkg/scheduler/factory"
"k8s.io/kubernetes/pkg/scheduler/factory"
labelsutil
"k8s.io/kubernetes/pkg/util/labels"
labelsutil
"k8s.io/kubernetes/pkg/util/labels"
"k8s.io/kubernetes/test/integration/framework"
"k8s.io/kubernetes/test/integration/framework"
...
@@ -630,7 +630,7 @@ func TestDaemonSetWithNodeSelectorLaunchesPods(t *testing.T) {
...
@@ -630,7 +630,7 @@ func TestDaemonSetWithNodeSelectorLaunchesPods(t *testing.T) {
{
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
MatchFields
:
[]
v1
.
NodeSelectorRequirement
{
{
{
Key
:
algorithm
.
NodeFieldSelectorKeyNodeName
,
Key
:
schedulerapi
.
NodeFieldSelectorKeyNodeName
,
Operator
:
v1
.
NodeSelectorOpIn
,
Operator
:
v1
.
NodeSelectorOpIn
,
Values
:
[]
string
{
"node-1"
},
Values
:
[]
string
{
"node-1"
},
},
},
...
@@ -1059,7 +1059,7 @@ func TestUnschedulableNodeDaemonDoesLaunchPod(t *testing.T) {
...
@@ -1059,7 +1059,7 @@ func TestUnschedulableNodeDaemonDoesLaunchPod(t *testing.T) {
node
.
Spec
.
Unschedulable
=
true
node
.
Spec
.
Unschedulable
=
true
node
.
Spec
.
Taints
=
[]
v1
.
Taint
{
node
.
Spec
.
Taints
=
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
}
}
...
@@ -1077,7 +1077,7 @@ func TestUnschedulableNodeDaemonDoesLaunchPod(t *testing.T) {
...
@@ -1077,7 +1077,7 @@ func TestUnschedulableNodeDaemonDoesLaunchPod(t *testing.T) {
}
}
nodeNU
.
Spec
.
Taints
=
[]
v1
.
Taint
{
nodeNU
.
Spec
.
Taints
=
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
}
}
...
...
test/integration/defaulttolerationseconds/BUILD
View file @
b7c7966b
...
@@ -18,7 +18,7 @@ go_test(
...
@@ -18,7 +18,7 @@ go_test(
],
],
deps = [
deps = [
"//pkg/apis/core/helper:go_default_library",
"//pkg/apis/core/helper:go_default_library",
"//pkg/scheduler/a
lgorithm
:go_default_library",
"//pkg/scheduler/a
pi
:go_default_library",
"//plugin/pkg/admission/defaulttolerationseconds:go_default_library",
"//plugin/pkg/admission/defaulttolerationseconds:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
...
...
test/integration/defaulttolerationseconds/defaulttolerationseconds_test.go
View file @
b7c7966b
...
@@ -25,7 +25,7 @@ import (
...
@@ -25,7 +25,7 @@ import (
clientset
"k8s.io/client-go/kubernetes"
clientset
"k8s.io/client-go/kubernetes"
restclient
"k8s.io/client-go/rest"
restclient
"k8s.io/client-go/rest"
"k8s.io/kubernetes/pkg/apis/core/helper"
"k8s.io/kubernetes/pkg/apis/core/helper"
"k8s.io/kubernetes/pkg/scheduler/algorithm
"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api
"
"k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds"
"k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds"
"k8s.io/kubernetes/test/integration/framework"
"k8s.io/kubernetes/test/integration/framework"
)
)
...
@@ -64,14 +64,14 @@ func TestAdmission(t *testing.T) {
...
@@ -64,14 +64,14 @@ func TestAdmission(t *testing.T) {
var
defaultSeconds
int64
=
300
var
defaultSeconds
int64
=
300
nodeNotReady
:=
v1
.
Toleration
{
nodeNotReady
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultSeconds
,
TolerationSeconds
:
&
defaultSeconds
,
}
}
nodeUnreachable
:=
v1
.
Toleration
{
nodeUnreachable
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoExecute
,
Effect
:
v1
.
TaintEffectNoExecute
,
TolerationSeconds
:
&
defaultSeconds
,
TolerationSeconds
:
&
defaultSeconds
,
...
...
test/integration/scheduler/taint_test.go
View file @
b7c7966b
...
@@ -33,8 +33,8 @@ import (
...
@@ -33,8 +33,8 @@ import (
internalinformers
"k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
internalinformers
"k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion"
"k8s.io/kubernetes/pkg/controller/nodelifecycle"
"k8s.io/kubernetes/pkg/controller/nodelifecycle"
kubeadmission
"k8s.io/kubernetes/pkg/kubeapiserver/admission"
kubeadmission
"k8s.io/kubernetes/pkg/kubeapiserver/admission"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
"k8s.io/kubernetes/pkg/scheduler/algorithmprovider"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction"
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction"
pluginapi
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction"
pluginapi
"k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction"
)
)
...
@@ -144,49 +144,49 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -144,49 +144,49 @@ func TestTaintNodeByCondition(t *testing.T) {
}
}
notReadyToleration
:=
v1
.
Toleration
{
notReadyToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
unreachableToleration
:=
v1
.
Toleration
{
unreachableToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
unschedulableToleration
:=
v1
.
Toleration
{
unschedulableToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
outOfDiskToleration
:=
v1
.
Toleration
{
outOfDiskToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeOutOfDisk
,
Key
:
schedulerapi
.
TaintNodeOutOfDisk
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
memoryPressureToleration
:=
v1
.
Toleration
{
memoryPressureToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
diskPressureToleration
:=
v1
.
Toleration
{
diskPressureToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeDiskPressure
,
Key
:
schedulerapi
.
TaintNodeDiskPressure
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
networkUnavailableToleration
:=
v1
.
Toleration
{
networkUnavailableToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
pidPressureToleration
:=
v1
.
Toleration
{
pidPressureToleration
:=
v1
.
Toleration
{
Key
:
algorithm
.
TaintNodePIDPressure
,
Key
:
schedulerapi
.
TaintNodePIDPressure
,
Operator
:
v1
.
TolerationOpExists
,
Operator
:
v1
.
TolerationOpExists
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
}
}
...
@@ -220,7 +220,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -220,7 +220,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -248,7 +248,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -248,7 +248,7 @@ func TestTaintNodeByCondition(t *testing.T) {
name
:
"unreachable node"
,
name
:
"unreachable node"
,
existingTaints
:
[]
v1
.
Taint
{
existingTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -260,7 +260,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -260,7 +260,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeUnreachable
,
Key
:
schedulerapi
.
TaintNodeUnreachable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -295,7 +295,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -295,7 +295,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeUnschedulable
,
Key
:
schedulerapi
.
TaintNodeUnschedulable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -333,7 +333,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -333,7 +333,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeOutOfDisk
,
Key
:
schedulerapi
.
TaintNodeOutOfDisk
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -377,7 +377,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -377,7 +377,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -422,7 +422,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -422,7 +422,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeDiskPressure
,
Key
:
schedulerapi
.
TaintNodeDiskPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -466,7 +466,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -466,7 +466,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -506,11 +506,11 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -506,11 +506,11 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeNetworkUnavailable
,
Key
:
schedulerapi
.
TaintNodeNetworkUnavailable
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintNodeNotReady
,
Key
:
schedulerapi
.
TaintNodeNotReady
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -558,7 +558,7 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -558,7 +558,7 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodePIDPressure
,
Key
:
schedulerapi
.
TaintNodePIDPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
@@ -604,15 +604,15 @@ func TestTaintNodeByCondition(t *testing.T) {
...
@@ -604,15 +604,15 @@ func TestTaintNodeByCondition(t *testing.T) {
},
},
expectedTaints
:
[]
v1
.
Taint
{
expectedTaints
:
[]
v1
.
Taint
{
{
{
Key
:
algorithm
.
TaintNodeDiskPressure
,
Key
:
schedulerapi
.
TaintNodeDiskPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintNodeMemoryPressure
,
Key
:
schedulerapi
.
TaintNodeMemoryPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
{
{
Key
:
algorithm
.
TaintNodePIDPressure
,
Key
:
schedulerapi
.
TaintNodePIDPressure
,
Effect
:
v1
.
TaintEffectNoSchedule
,
Effect
:
v1
.
TaintEffectNoSchedule
,
},
},
},
},
...
...
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