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
49346c1e
Unverified
Commit
49346c1e
authored
Mar 21, 2019
by
Wei Huang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shorten scheduler package alias for better readability
- schedulerinternalcache -> internalcache
parent
0c939292
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
37 additions
and
37 deletions
+37
-37
extender_test.go
pkg/scheduler/core/extender_test.go
+2
-2
generic_scheduler.go
pkg/scheduler/core/generic_scheduler.go
+5
-5
generic_scheduler_test.go
pkg/scheduler/core/generic_scheduler_test.go
+4
-4
factory.go
pkg/scheduler/factory/factory.go
+5
-5
factory_test.go
pkg/scheduler/factory/factory_test.go
+2
-2
cache_test.go
pkg/scheduler/internal/cache/cache_test.go
+1
-1
comparer.go
pkg/scheduler/internal/cache/debugger/comparer.go
+2
-2
fake_cache.go
pkg/scheduler/internal/cache/fake/fake_cache.go
+5
-5
scheduler.go
pkg/scheduler/scheduler.go
+2
-2
scheduler_test.go
pkg/scheduler/scheduler_test.go
+9
-9
No files found.
pkg/scheduler/core/extender_test.go
View file @
49346c1e
...
@@ -29,7 +29,7 @@ import (
...
@@ -29,7 +29,7 @@ import (
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulertesting
"k8s.io/kubernetes/pkg/scheduler/testing"
schedulertesting
"k8s.io/kubernetes/pkg/scheduler/testing"
...
@@ -530,7 +530,7 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
...
@@ -530,7 +530,7 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
for
ii
:=
range
test
.
extenders
{
for
ii
:=
range
test
.
extenders
{
extenders
=
append
(
extenders
,
&
test
.
extenders
[
ii
])
extenders
=
append
(
extenders
,
&
test
.
extenders
[
ii
])
}
}
cache
:=
scheduler
internalcache
.
New
(
time
.
Duration
(
0
),
wait
.
NeverStop
)
cache
:=
internalcache
.
New
(
time
.
Duration
(
0
),
wait
.
NeverStop
)
for
_
,
name
:=
range
test
.
nodes
{
for
_
,
name
:=
range
test
.
nodes
{
cache
.
AddNode
(
createNode
(
name
))
cache
.
AddNode
(
createNode
(
name
))
}
}
...
...
pkg/scheduler/core/generic_scheduler.go
View file @
49346c1e
...
@@ -39,7 +39,7 @@ import (
...
@@ -39,7 +39,7 @@ import (
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
"k8s.io/kubernetes/pkg/scheduler/metrics"
"k8s.io/kubernetes/pkg/scheduler/metrics"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
...
@@ -131,7 +131,7 @@ type ScheduleResult struct {
...
@@ -131,7 +131,7 @@ type ScheduleResult struct {
}
}
type
genericScheduler
struct
{
type
genericScheduler
struct
{
cache
scheduler
internalcache
.
Cache
cache
internalcache
.
Cache
schedulingQueue
internalqueue
.
SchedulingQueue
schedulingQueue
internalqueue
.
SchedulingQueue
predicates
map
[
string
]
predicates
.
FitPredicate
predicates
map
[
string
]
predicates
.
FitPredicate
priorityMetaProducer
priorities
.
PriorityMetadataProducer
priorityMetaProducer
priorities
.
PriorityMetadataProducer
...
@@ -141,7 +141,7 @@ type genericScheduler struct {
...
@@ -141,7 +141,7 @@ type genericScheduler struct {
extenders
[]
algorithm
.
SchedulerExtender
extenders
[]
algorithm
.
SchedulerExtender
lastNodeIndex
uint64
lastNodeIndex
uint64
alwaysCheckAllPredicates
bool
alwaysCheckAllPredicates
bool
nodeInfoSnapshot
scheduler
internalcache
.
NodeInfoSnapshot
nodeInfoSnapshot
internalcache
.
NodeInfoSnapshot
volumeBinder
*
volumebinder
.
VolumeBinder
volumeBinder
*
volumebinder
.
VolumeBinder
pvcLister
corelisters
.
PersistentVolumeClaimLister
pvcLister
corelisters
.
PersistentVolumeClaimLister
pdbLister
algorithm
.
PDBLister
pdbLister
algorithm
.
PDBLister
...
@@ -1205,7 +1205,7 @@ func podPassesBasicChecks(pod *v1.Pod, pvcLister corelisters.PersistentVolumeCla
...
@@ -1205,7 +1205,7 @@ func podPassesBasicChecks(pod *v1.Pod, pvcLister corelisters.PersistentVolumeCla
// NewGenericScheduler creates a genericScheduler object.
// NewGenericScheduler creates a genericScheduler object.
func
NewGenericScheduler
(
func
NewGenericScheduler
(
cache
scheduler
internalcache
.
Cache
,
cache
internalcache
.
Cache
,
podQueue
internalqueue
.
SchedulingQueue
,
podQueue
internalqueue
.
SchedulingQueue
,
predicates
map
[
string
]
predicates
.
FitPredicate
,
predicates
map
[
string
]
predicates
.
FitPredicate
,
predicateMetaProducer
predicates
.
PredicateMetadataProducer
,
predicateMetaProducer
predicates
.
PredicateMetadataProducer
,
...
@@ -1229,7 +1229,7 @@ func NewGenericScheduler(
...
@@ -1229,7 +1229,7 @@ func NewGenericScheduler(
priorityMetaProducer
:
priorityMetaProducer
,
priorityMetaProducer
:
priorityMetaProducer
,
pluginSet
:
pluginSet
,
pluginSet
:
pluginSet
,
extenders
:
extenders
,
extenders
:
extenders
,
nodeInfoSnapshot
:
scheduler
internalcache
.
NewNodeInfoSnapshot
(),
nodeInfoSnapshot
:
internalcache
.
NewNodeInfoSnapshot
(),
volumeBinder
:
volumeBinder
,
volumeBinder
:
volumeBinder
,
pvcLister
:
pvcLister
,
pvcLister
:
pvcLister
,
pdbLister
:
pdbLister
,
pdbLister
:
pdbLister
,
...
...
pkg/scheduler/core/generic_scheduler_test.go
View file @
49346c1e
...
@@ -38,7 +38,7 @@ import (
...
@@ -38,7 +38,7 @@ import (
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
"k8s.io/kubernetes/pkg/scheduler/algorithm/priorities"
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"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
plugins
"k8s.io/kubernetes/pkg/scheduler/plugins/v1alpha1"
plugins
"k8s.io/kubernetes/pkg/scheduler/plugins/v1alpha1"
...
@@ -455,7 +455,7 @@ func TestGenericScheduler(t *testing.T) {
...
@@ -455,7 +455,7 @@ func TestGenericScheduler(t *testing.T) {
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
t
.
Run
(
test
.
name
,
func
(
t
*
testing
.
T
)
{
t
.
Run
(
test
.
name
,
func
(
t
*
testing
.
T
)
{
cache
:=
scheduler
internalcache
.
New
(
time
.
Duration
(
0
),
wait
.
NeverStop
)
cache
:=
internalcache
.
New
(
time
.
Duration
(
0
),
wait
.
NeverStop
)
for
_
,
pod
:=
range
test
.
pods
{
for
_
,
pod
:=
range
test
.
pods
{
cache
.
AddPod
(
pod
)
cache
.
AddPod
(
pod
)
}
}
...
@@ -497,7 +497,7 @@ func TestGenericScheduler(t *testing.T) {
...
@@ -497,7 +497,7 @@ func TestGenericScheduler(t *testing.T) {
// makeScheduler makes a simple genericScheduler for testing.
// makeScheduler makes a simple genericScheduler for testing.
func
makeScheduler
(
predicates
map
[
string
]
algorithmpredicates
.
FitPredicate
,
nodes
[]
*
v1
.
Node
)
*
genericScheduler
{
func
makeScheduler
(
predicates
map
[
string
]
algorithmpredicates
.
FitPredicate
,
nodes
[]
*
v1
.
Node
)
*
genericScheduler
{
algorithmpredicates
.
SetPredicatesOrdering
(
order
)
algorithmpredicates
.
SetPredicatesOrdering
(
order
)
cache
:=
scheduler
internalcache
.
New
(
time
.
Duration
(
0
),
wait
.
NeverStop
)
cache
:=
internalcache
.
New
(
time
.
Duration
(
0
),
wait
.
NeverStop
)
for
_
,
n
:=
range
nodes
{
for
_
,
n
:=
range
nodes
{
cache
.
AddNode
(
n
)
cache
.
AddNode
(
n
)
}
}
...
@@ -1469,7 +1469,7 @@ func TestPreempt(t *testing.T) {
...
@@ -1469,7 +1469,7 @@ func TestPreempt(t *testing.T) {
t
.
Run
(
test
.
name
,
func
(
t
*
testing
.
T
)
{
t
.
Run
(
test
.
name
,
func
(
t
*
testing
.
T
)
{
t
.
Logf
(
"===== Running test %v"
,
t
.
Name
())
t
.
Logf
(
"===== Running test %v"
,
t
.
Name
())
stop
:=
make
(
chan
struct
{})
stop
:=
make
(
chan
struct
{})
cache
:=
scheduler
internalcache
.
New
(
time
.
Duration
(
0
),
stop
)
cache
:=
internalcache
.
New
(
time
.
Duration
(
0
),
stop
)
for
_
,
pod
:=
range
test
.
pods
{
for
_
,
pod
:=
range
test
.
pods
{
cache
.
AddPod
(
pod
)
cache
.
AddPod
(
pod
)
}
}
...
...
pkg/scheduler/factory/factory.go
View file @
49346c1e
...
@@ -51,7 +51,7 @@ import (
...
@@ -51,7 +51,7 @@ import (
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
"k8s.io/kubernetes/pkg/scheduler/api/validation"
"k8s.io/kubernetes/pkg/scheduler/api/validation"
"k8s.io/kubernetes/pkg/scheduler/core"
"k8s.io/kubernetes/pkg/scheduler/core"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
cachedebugger
"k8s.io/kubernetes/pkg/scheduler/internal/cache/debugger"
cachedebugger
"k8s.io/kubernetes/pkg/scheduler/internal/cache/debugger"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
"k8s.io/kubernetes/pkg/scheduler/plugins"
"k8s.io/kubernetes/pkg/scheduler/plugins"
...
@@ -81,7 +81,7 @@ type PodConditionUpdater interface {
...
@@ -81,7 +81,7 @@ type PodConditionUpdater interface {
type
Config
struct
{
type
Config
struct
{
// It is expected that changes made via SchedulerCache will be observed
// It is expected that changes made via SchedulerCache will be observed
// by NodeLister and Algorithm.
// by NodeLister and Algorithm.
SchedulerCache
scheduler
internalcache
.
Cache
SchedulerCache
internalcache
.
Cache
NodeLister
algorithm
.
NodeLister
NodeLister
algorithm
.
NodeLister
Algorithm
core
.
ScheduleAlgorithm
Algorithm
core
.
ScheduleAlgorithm
...
@@ -191,7 +191,7 @@ type configFactory struct {
...
@@ -191,7 +191,7 @@ type configFactory struct {
scheduledPodsHasSynced
cache
.
InformerSynced
scheduledPodsHasSynced
cache
.
InformerSynced
schedulerCache
scheduler
internalcache
.
Cache
schedulerCache
internalcache
.
Cache
// SchedulerName of a scheduler is used to select which pods will be
// SchedulerName of a scheduler is used to select which pods will be
// processed by this scheduler, based on pods's "spec.schedulerName".
// processed by this scheduler, based on pods's "spec.schedulerName".
...
@@ -247,7 +247,7 @@ func NewConfigFactory(args *ConfigFactoryArgs) Configurator {
...
@@ -247,7 +247,7 @@ func NewConfigFactory(args *ConfigFactoryArgs) Configurator {
if
stopEverything
==
nil
{
if
stopEverything
==
nil
{
stopEverything
=
wait
.
NeverStop
stopEverything
=
wait
.
NeverStop
}
}
schedulerCache
:=
scheduler
internalcache
.
New
(
30
*
time
.
Second
,
stopEverything
)
schedulerCache
:=
internalcache
.
New
(
30
*
time
.
Second
,
stopEverything
)
// storageClassInformer is only enabled through VolumeScheduling feature gate
// storageClassInformer is only enabled through VolumeScheduling feature gate
var
storageClassLister
storagelisters
.
StorageClassLister
var
storageClassLister
storagelisters
.
StorageClassLister
...
@@ -638,7 +638,7 @@ func NewPodInformer(client clientset.Interface, resyncPeriod time.Duration) core
...
@@ -638,7 +638,7 @@ func NewPodInformer(client clientset.Interface, resyncPeriod time.Duration) core
}
}
// MakeDefaultErrorFunc construct a function to handle pod scheduler error
// MakeDefaultErrorFunc construct a function to handle pod scheduler error
func
MakeDefaultErrorFunc
(
client
clientset
.
Interface
,
backoff
*
util
.
PodBackoff
,
podQueue
internalqueue
.
SchedulingQueue
,
schedulerCache
scheduler
internalcache
.
Cache
,
stopEverything
<-
chan
struct
{})
func
(
pod
*
v1
.
Pod
,
err
error
)
{
func
MakeDefaultErrorFunc
(
client
clientset
.
Interface
,
backoff
*
util
.
PodBackoff
,
podQueue
internalqueue
.
SchedulingQueue
,
schedulerCache
internalcache
.
Cache
,
stopEverything
<-
chan
struct
{})
func
(
pod
*
v1
.
Pod
,
err
error
)
{
return
func
(
pod
*
v1
.
Pod
,
err
error
)
{
return
func
(
pod
*
v1
.
Pod
,
err
error
)
{
if
err
==
core
.
ErrNoNodesAvailable
{
if
err
==
core
.
ErrNoNodesAvailable
{
klog
.
V
(
4
)
.
Infof
(
"Unable to schedule %v/%v: no nodes are registered to the cluster; waiting"
,
pod
.
Namespace
,
pod
.
Name
)
klog
.
V
(
4
)
.
Infof
(
"Unable to schedule %v/%v: no nodes are registered to the cluster; waiting"
,
pod
.
Namespace
,
pod
.
Name
)
...
...
pkg/scheduler/factory/factory_test.go
View file @
49346c1e
...
@@ -38,7 +38,7 @@ import (
...
@@ -38,7 +38,7 @@ import (
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
schedulerapi
"k8s.io/kubernetes/pkg/scheduler/api"
latestschedulerapi
"k8s.io/kubernetes/pkg/scheduler/api/latest"
latestschedulerapi
"k8s.io/kubernetes/pkg/scheduler/api/latest"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
"k8s.io/kubernetes/pkg/scheduler/util"
"k8s.io/kubernetes/pkg/scheduler/util"
...
@@ -254,7 +254,7 @@ func TestDefaultErrorFunc(t *testing.T) {
...
@@ -254,7 +254,7 @@ func TestDefaultErrorFunc(t *testing.T) {
stopCh
:=
make
(
chan
struct
{})
stopCh
:=
make
(
chan
struct
{})
defer
close
(
stopCh
)
defer
close
(
stopCh
)
queue
:=
&
internalqueue
.
FIFO
{
FIFO
:
cache
.
NewFIFO
(
cache
.
MetaNamespaceKeyFunc
)}
queue
:=
&
internalqueue
.
FIFO
{
FIFO
:
cache
.
NewFIFO
(
cache
.
MetaNamespaceKeyFunc
)}
schedulerCache
:=
scheduler
internalcache
.
New
(
30
*
time
.
Second
,
stopCh
)
schedulerCache
:=
internalcache
.
New
(
30
*
time
.
Second
,
stopCh
)
podBackoff
:=
util
.
CreatePodBackoff
(
1
*
time
.
Millisecond
,
1
*
time
.
Second
)
podBackoff
:=
util
.
CreatePodBackoff
(
1
*
time
.
Millisecond
,
1
*
time
.
Second
)
errFunc
:=
MakeDefaultErrorFunc
(
client
,
podBackoff
,
queue
,
schedulerCache
,
stopCh
)
errFunc
:=
MakeDefaultErrorFunc
(
client
,
podBackoff
,
queue
,
schedulerCache
,
stopCh
)
...
...
pkg/scheduler/internal/cache/cache_test.go
View file @
49346c1e
...
@@ -1064,7 +1064,7 @@ func TestNodeOperators(t *testing.T) {
...
@@ -1064,7 +1064,7 @@ func TestNodeOperators(t *testing.T) {
// Case 1: the node was added into cache successfully.
// Case 1: the node was added into cache successfully.
got
,
found
:=
cache
.
nodes
[
node
.
Name
]
got
,
found
:=
cache
.
nodes
[
node
.
Name
]
if
!
found
{
if
!
found
{
t
.
Errorf
(
"Failed to find node %v in
scheduler
internalcache."
,
node
.
Name
)
t
.
Errorf
(
"Failed to find node %v in internalcache."
,
node
.
Name
)
}
}
if
cache
.
nodeTree
.
NumNodes
()
!=
1
||
cache
.
nodeTree
.
Next
()
!=
node
.
Name
{
if
cache
.
nodeTree
.
NumNodes
()
!=
1
||
cache
.
nodeTree
.
Next
()
!=
node
.
Name
{
t
.
Errorf
(
"cache.nodeTree is not updated correctly after adding node: %v"
,
node
.
Name
)
t
.
Errorf
(
"cache.nodeTree is not updated correctly after adding node: %v"
,
node
.
Name
)
...
...
pkg/scheduler/internal/cache/debugger/comparer.go
View file @
49346c1e
...
@@ -24,7 +24,7 @@ import (
...
@@ -24,7 +24,7 @@ import (
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/labels"
corelisters
"k8s.io/client-go/listers/core/v1"
corelisters
"k8s.io/client-go/listers/core/v1"
"k8s.io/klog"
"k8s.io/klog"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
)
)
...
@@ -33,7 +33,7 @@ import (
...
@@ -33,7 +33,7 @@ import (
type
CacheComparer
struct
{
type
CacheComparer
struct
{
NodeLister
corelisters
.
NodeLister
NodeLister
corelisters
.
NodeLister
PodLister
corelisters
.
PodLister
PodLister
corelisters
.
PodLister
Cache
scheduler
internalcache
.
Cache
Cache
internalcache
.
Cache
PodQueue
internalqueue
.
SchedulingQueue
PodQueue
internalqueue
.
SchedulingQueue
}
}
...
...
pkg/scheduler/internal/cache/fake/fake_cache.go
View file @
49346c1e
...
@@ -20,7 +20,7 @@ import (
...
@@ -20,7 +20,7 @@ import (
"k8s.io/api/core/v1"
"k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
"k8s.io/kubernetes/pkg/scheduler/algorithm"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
)
)
// Cache is used for testing
// Cache is used for testing
...
@@ -75,7 +75,7 @@ func (c *Cache) UpdateNode(oldNode, newNode *v1.Node) error { return nil }
...
@@ -75,7 +75,7 @@ func (c *Cache) UpdateNode(oldNode, newNode *v1.Node) error { return nil }
func
(
c
*
Cache
)
RemoveNode
(
node
*
v1
.
Node
)
error
{
return
nil
}
func
(
c
*
Cache
)
RemoveNode
(
node
*
v1
.
Node
)
error
{
return
nil
}
// UpdateNodeInfoSnapshot is a fake method for testing.
// UpdateNodeInfoSnapshot is a fake method for testing.
func
(
c
*
Cache
)
UpdateNodeInfoSnapshot
(
nodeSnapshot
*
scheduler
internalcache
.
NodeInfoSnapshot
)
error
{
func
(
c
*
Cache
)
UpdateNodeInfoSnapshot
(
nodeSnapshot
*
internalcache
.
NodeInfoSnapshot
)
error
{
return
nil
return
nil
}
}
...
@@ -88,9 +88,9 @@ func (c *Cache) FilteredList(filter algorithm.PodFilter, selector labels.Selecto
...
@@ -88,9 +88,9 @@ func (c *Cache) FilteredList(filter algorithm.PodFilter, selector labels.Selecto
}
}
// Snapshot is a fake method for testing
// Snapshot is a fake method for testing
func
(
c
*
Cache
)
Snapshot
()
*
scheduler
internalcache
.
Snapshot
{
func
(
c
*
Cache
)
Snapshot
()
*
internalcache
.
Snapshot
{
return
&
scheduler
internalcache
.
Snapshot
{}
return
&
internalcache
.
Snapshot
{}
}
}
// NodeTree is a fake method for testing.
// NodeTree is a fake method for testing.
func
(
c
*
Cache
)
NodeTree
()
*
scheduler
internalcache
.
NodeTree
{
return
nil
}
func
(
c
*
Cache
)
NodeTree
()
*
internalcache
.
NodeTree
{
return
nil
}
pkg/scheduler/scheduler.go
View file @
49346c1e
...
@@ -40,7 +40,7 @@ import (
...
@@ -40,7 +40,7 @@ import (
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
"k8s.io/kubernetes/pkg/scheduler/core"
"k8s.io/kubernetes/pkg/scheduler/core"
"k8s.io/kubernetes/pkg/scheduler/factory"
"k8s.io/kubernetes/pkg/scheduler/factory"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
"k8s.io/kubernetes/pkg/scheduler/metrics"
"k8s.io/kubernetes/pkg/scheduler/metrics"
"k8s.io/kubernetes/pkg/scheduler/util"
"k8s.io/kubernetes/pkg/scheduler/util"
)
)
...
@@ -59,7 +59,7 @@ type Scheduler struct {
...
@@ -59,7 +59,7 @@ type Scheduler struct {
}
}
// Cache returns the cache in scheduler for test to check the data in scheduler.
// Cache returns the cache in scheduler for test to check the data in scheduler.
func
(
sched
*
Scheduler
)
Cache
()
scheduler
internalcache
.
Cache
{
func
(
sched
*
Scheduler
)
Cache
()
internalcache
.
Cache
{
return
sched
.
config
.
SchedulerCache
return
sched
.
config
.
SchedulerCache
}
}
...
...
pkg/scheduler/scheduler_test.go
View file @
49346c1e
...
@@ -46,7 +46,7 @@ import (
...
@@ -46,7 +46,7 @@ import (
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
kubeschedulerconfig
"k8s.io/kubernetes/pkg/scheduler/apis/config"
"k8s.io/kubernetes/pkg/scheduler/core"
"k8s.io/kubernetes/pkg/scheduler/core"
"k8s.io/kubernetes/pkg/scheduler/factory"
"k8s.io/kubernetes/pkg/scheduler/factory"
scheduler
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
internalcache
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
fakecache
"k8s.io/kubernetes/pkg/scheduler/internal/cache/fake"
fakecache
"k8s.io/kubernetes/pkg/scheduler/internal/cache/fake"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
internalqueue
"k8s.io/kubernetes/pkg/scheduler/internal/queue"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
schedulernodeinfo
"k8s.io/kubernetes/pkg/scheduler/nodeinfo"
...
@@ -331,7 +331,7 @@ func TestSchedulerNoPhantomPodAfterExpire(t *testing.T) {
...
@@ -331,7 +331,7 @@ func TestSchedulerNoPhantomPodAfterExpire(t *testing.T) {
stop
:=
make
(
chan
struct
{})
stop
:=
make
(
chan
struct
{})
defer
close
(
stop
)
defer
close
(
stop
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
scache
:=
scheduler
internalcache
.
New
(
100
*
time
.
Millisecond
,
stop
)
scache
:=
internalcache
.
New
(
100
*
time
.
Millisecond
,
stop
)
pod
:=
podWithPort
(
"pod.Name"
,
""
,
8080
)
pod
:=
podWithPort
(
"pod.Name"
,
""
,
8080
)
node
:=
v1
.
Node
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"machine1"
,
UID
:
types
.
UID
(
"machine1"
)}}
node
:=
v1
.
Node
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"machine1"
,
UID
:
types
.
UID
(
"machine1"
)}}
scache
.
AddNode
(
&
node
)
scache
.
AddNode
(
&
node
)
...
@@ -390,7 +390,7 @@ func TestSchedulerNoPhantomPodAfterDelete(t *testing.T) {
...
@@ -390,7 +390,7 @@ func TestSchedulerNoPhantomPodAfterDelete(t *testing.T) {
stop
:=
make
(
chan
struct
{})
stop
:=
make
(
chan
struct
{})
defer
close
(
stop
)
defer
close
(
stop
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
scache
:=
scheduler
internalcache
.
New
(
10
*
time
.
Minute
,
stop
)
scache
:=
internalcache
.
New
(
10
*
time
.
Minute
,
stop
)
firstPod
:=
podWithPort
(
"pod.Name"
,
""
,
8080
)
firstPod
:=
podWithPort
(
"pod.Name"
,
""
,
8080
)
node
:=
v1
.
Node
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"machine1"
,
UID
:
types
.
UID
(
"machine1"
)}}
node
:=
v1
.
Node
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"machine1"
,
UID
:
types
.
UID
(
"machine1"
)}}
scache
.
AddNode
(
&
node
)
scache
.
AddNode
(
&
node
)
...
@@ -478,7 +478,7 @@ func TestSchedulerErrorWithLongBinding(t *testing.T) {
...
@@ -478,7 +478,7 @@ func TestSchedulerErrorWithLongBinding(t *testing.T) {
}
{
}
{
t
.
Run
(
test
.
name
,
func
(
t
*
testing
.
T
)
{
t
.
Run
(
test
.
name
,
func
(
t
*
testing
.
T
)
{
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
scache
:=
scheduler
internalcache
.
New
(
test
.
CacheTTL
,
stop
)
scache
:=
internalcache
.
New
(
test
.
CacheTTL
,
stop
)
node
:=
v1
.
Node
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"machine1"
,
UID
:
types
.
UID
(
"machine1"
)}}
node
:=
v1
.
Node
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"machine1"
,
UID
:
types
.
UID
(
"machine1"
)}}
scache
.
AddNode
(
&
node
)
scache
.
AddNode
(
&
node
)
...
@@ -519,7 +519,7 @@ func TestSchedulerErrorWithLongBinding(t *testing.T) {
...
@@ -519,7 +519,7 @@ func TestSchedulerErrorWithLongBinding(t *testing.T) {
// queuedPodStore: pods queued before processing.
// queuedPodStore: pods queued before processing.
// cache: scheduler cache that might contain assumed pods.
// cache: scheduler cache that might contain assumed pods.
func
setupTestSchedulerWithOnePodOnNode
(
t
*
testing
.
T
,
queuedPodStore
*
clientcache
.
FIFO
,
scache
scheduler
internalcache
.
Cache
,
func
setupTestSchedulerWithOnePodOnNode
(
t
*
testing
.
T
,
queuedPodStore
*
clientcache
.
FIFO
,
scache
internalcache
.
Cache
,
informerFactory
informers
.
SharedInformerFactory
,
stop
chan
struct
{},
predicateMap
map
[
string
]
predicates
.
FitPredicate
,
pod
*
v1
.
Pod
,
node
*
v1
.
Node
)
(
*
Scheduler
,
chan
*
v1
.
Binding
,
chan
error
)
{
informerFactory
informers
.
SharedInformerFactory
,
stop
chan
struct
{},
predicateMap
map
[
string
]
predicates
.
FitPredicate
,
pod
*
v1
.
Pod
,
node
*
v1
.
Node
)
(
*
Scheduler
,
chan
*
v1
.
Binding
,
chan
error
)
{
scheduler
,
bindingChan
,
errChan
:=
setupTestScheduler
(
queuedPodStore
,
scache
,
informerFactory
,
predicateMap
,
nil
)
scheduler
,
bindingChan
,
errChan
:=
setupTestScheduler
(
queuedPodStore
,
scache
,
informerFactory
,
predicateMap
,
nil
)
...
@@ -554,7 +554,7 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) {
...
@@ -554,7 +554,7 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) {
stop
:=
make
(
chan
struct
{})
stop
:=
make
(
chan
struct
{})
defer
close
(
stop
)
defer
close
(
stop
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
queuedPodStore
:=
clientcache
.
NewFIFO
(
clientcache
.
MetaNamespaceKeyFunc
)
scache
:=
scheduler
internalcache
.
New
(
10
*
time
.
Minute
,
stop
)
scache
:=
internalcache
.
New
(
10
*
time
.
Minute
,
stop
)
// Design the baseline for the pods, and we will make nodes that dont fit it later.
// Design the baseline for the pods, and we will make nodes that dont fit it later.
var
cpu
=
int64
(
4
)
var
cpu
=
int64
(
4
)
...
@@ -631,7 +631,7 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) {
...
@@ -631,7 +631,7 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) {
// queuedPodStore: pods queued before processing.
// queuedPodStore: pods queued before processing.
// scache: scheduler cache that might contain assumed pods.
// scache: scheduler cache that might contain assumed pods.
func
setupTestScheduler
(
queuedPodStore
*
clientcache
.
FIFO
,
scache
scheduler
internalcache
.
Cache
,
informerFactory
informers
.
SharedInformerFactory
,
predicateMap
map
[
string
]
predicates
.
FitPredicate
,
recorder
record
.
EventRecorder
)
(
*
Scheduler
,
chan
*
v1
.
Binding
,
chan
error
)
{
func
setupTestScheduler
(
queuedPodStore
*
clientcache
.
FIFO
,
scache
internalcache
.
Cache
,
informerFactory
informers
.
SharedInformerFactory
,
predicateMap
map
[
string
]
predicates
.
FitPredicate
,
recorder
record
.
EventRecorder
)
(
*
Scheduler
,
chan
*
v1
.
Binding
,
chan
error
)
{
algo
:=
core
.
NewGenericScheduler
(
algo
:=
core
.
NewGenericScheduler
(
scache
,
scache
,
internalqueue
.
NewSchedulingQueue
(
nil
),
internalqueue
.
NewSchedulingQueue
(
nil
),
...
@@ -683,7 +683,7 @@ func setupTestScheduler(queuedPodStore *clientcache.FIFO, scache schedulerintern
...
@@ -683,7 +683,7 @@ func setupTestScheduler(queuedPodStore *clientcache.FIFO, scache schedulerintern
return
sched
,
bindingChan
,
errChan
return
sched
,
bindingChan
,
errChan
}
}
func
setupTestSchedulerLongBindingWithRetry
(
queuedPodStore
*
clientcache
.
FIFO
,
scache
scheduler
internalcache
.
Cache
,
informerFactory
informers
.
SharedInformerFactory
,
predicateMap
map
[
string
]
predicates
.
FitPredicate
,
stop
chan
struct
{},
bindingTime
time
.
Duration
)
(
*
Scheduler
,
chan
*
v1
.
Binding
)
{
func
setupTestSchedulerLongBindingWithRetry
(
queuedPodStore
*
clientcache
.
FIFO
,
scache
internalcache
.
Cache
,
informerFactory
informers
.
SharedInformerFactory
,
predicateMap
map
[
string
]
predicates
.
FitPredicate
,
stop
chan
struct
{},
bindingTime
time
.
Duration
)
(
*
Scheduler
,
chan
*
v1
.
Binding
)
{
algo
:=
core
.
NewGenericScheduler
(
algo
:=
core
.
NewGenericScheduler
(
scache
,
scache
,
internalqueue
.
NewSchedulingQueue
(
nil
),
internalqueue
.
NewSchedulingQueue
(
nil
),
...
@@ -741,7 +741,7 @@ func setupTestSchedulerWithVolumeBinding(fakeVolumeBinder *volumebinder.VolumeBi
...
@@ -741,7 +741,7 @@ func setupTestSchedulerWithVolumeBinding(fakeVolumeBinder *volumebinder.VolumeBi
pod
.
Spec
.
Volumes
=
append
(
pod
.
Spec
.
Volumes
,
v1
.
Volume
{
Name
:
"testVol"
,
pod
.
Spec
.
Volumes
=
append
(
pod
.
Spec
.
Volumes
,
v1
.
Volume
{
Name
:
"testVol"
,
VolumeSource
:
v1
.
VolumeSource
{
PersistentVolumeClaim
:
&
v1
.
PersistentVolumeClaimVolumeSource
{
ClaimName
:
"testPVC"
}}})
VolumeSource
:
v1
.
VolumeSource
{
PersistentVolumeClaim
:
&
v1
.
PersistentVolumeClaimVolumeSource
{
ClaimName
:
"testPVC"
}}})
queuedPodStore
.
Add
(
pod
)
queuedPodStore
.
Add
(
pod
)
scache
:=
scheduler
internalcache
.
New
(
10
*
time
.
Minute
,
stop
)
scache
:=
internalcache
.
New
(
10
*
time
.
Minute
,
stop
)
scache
.
AddNode
(
&
testNode
)
scache
.
AddNode
(
&
testNode
)
testPVC
:=
v1
.
PersistentVolumeClaim
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"testPVC"
,
Namespace
:
pod
.
Namespace
,
UID
:
types
.
UID
(
"testPVC"
)}}
testPVC
:=
v1
.
PersistentVolumeClaim
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"testPVC"
,
Namespace
:
pod
.
Namespace
,
UID
:
types
.
UID
(
"testPVC"
)}}
client
:=
clientsetfake
.
NewSimpleClientset
(
&
testNode
,
&
testPVC
)
client
:=
clientsetfake
.
NewSimpleClientset
(
&
testNode
,
&
testPVC
)
...
...
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