Hongchao Deng
7127915a66
selector: make sure value of GT and LT is integer
2016-07-04 20:18:17 -07:00
k8s-merge-robot
61a9358dbd
Merge pull request #26774 from xiangpengzhao/fix_predicatesnil
...
Automatic merge from submit-queue
Check nil pointer in predicates.go
Should check if the pointer is nil in func filterVolumes as is done in [func predicate](https://github.com/kubernetes/kubernetes/blob/master/plugin/pkg/scheduler/algorithm/predicates/predicates.go#L279 ).
2016-06-30 01:45:26 -07:00
David McMahon
ef0c9f0c5b
Remove "All rights reserved" from all the headers.
2016-06-29 17:47:36 -07:00
xiangpengzhao
5b69688b4b
Check nil for pointer
2016-06-27 22:55:20 -04:00
Buddha Prakash
4acb64f8bd
Make Qos naming consistent across the codebase
2016-06-26 16:19:47 -07:00
Buddha Prakash
c3551ae6cd
Refactor qos package
...
Signed-off-by: Buddha Prakash <buddhap@google.com>
2016-06-24 15:36:04 -07:00
k8s-merge-robot
a405df4391
Merge pull request #25710 from xiangpengzhao/fix_predicate
...
Automatic merge from submit-queue
No need to log empty string in predicates.go
If `pvcName` is empty, we don't need to log it.
2016-06-24 13:56:26 -07:00
Jan Safranek
c9a60e2d2c
Rephrase 'pv not found in cache' warnings.
...
When kubelet starts a pod that refers to non-existing PV, PVC or Node, it
should clearly show that the requested element does not exist.
Previous "PersistentVolumeClaim 'default/ceph-claim-wm' is not in cache"
looks like random kubelet hiccup, while "PersistentVolumeClaim
'default/ceph-claim-wm' not found" suggests that the object may not exist at
all and it might be an user error.
Fixes #27523
2016-06-21 14:56:11 +02:00
k8s-merge-robot
8b7d842203
Merge pull request #27227 from abhgupta/issue_27198
...
Automatic merge from submit-queue
Counting pod volume towards PV limit even if PV/PVC is missing
Fixes #27198
Implements option 3 from https://github.com/kubernetes/kubernetes/issues/27198#issuecomment-225298492
/cc @smarterclayton @markturansky @childsb
2016-06-17 12:40:51 -07:00
Abhishek Gupta
20ce8b71ab
Improving error messages and naming to be clear
2016-06-13 15:23:17 -07:00
Abhishek Gupta
07bc06ba50
Counting pod volume towards PV limit even if PV/PVC is missing
2016-06-13 15:17:42 -07:00
xiangpengzhao
f1d98ba961
Make priority score info more clear
2016-06-12 02:31:41 -04:00
Jan Chaloupka
b95b30bbd7
Scheduler: introduce CheckNodeMemoryPressurePredicate, don't schedule pods for nodes that reports memory pressury.
...
Introduce unit-test for CheckNodeMemoryPressurePredicate
Following work done in #14943
2016-05-22 00:40:28 +02:00
Kevin
52fb89ff73
implement taints and tolerations
2016-05-18 15:06:23 +00:00
root
74901ae150
No need to log empty string
2016-05-17 10:01:37 -04:00
Clayton Coleman
1b6591312d
Update the scheduler to handle init containers
2016-05-17 00:29:54 -04:00
Rudi Chiarito
362c763fca
WIP v0 NVIDIA GPU support
...
Implements part of #24071
I am not familiar with the scheduler enough to know what to do with the scores. Punting for now.
Missing items from the implementation plan: limitranger, rkt support, kubectl
support and user docs
2016-05-09 19:20:05 -04:00
Wojciech Tyczynski
a51f266ebf
Remove nodeName from predicate signature.
2016-05-06 11:23:37 +02:00
Kevin
82ba4f077e
implement inter pod topological affinity and anti-affinity
2016-05-06 06:46:23 +00:00
Clayton Coleman
fdb110c859
Fix the rest of the code
2016-04-29 17:12:10 -04:00
Wojciech Tyczynski
1835c8528d
Store node information in NodeInfo
2016-04-25 10:08:05 +02:00
gmarek
e0712f7e57
Fix MaxPods feature in scheduler
2016-04-22 22:49:50 +02:00
Wojciech Tyczynski
a4b3f47347
Add RC and container pors to scheduler benchmark
2016-04-20 15:10:57 +02:00
HaiyangDING
a5efb009c5
change predicate error format.
2016-04-17 08:48:03 +08:00
HaiyangDING
41ed85479a
move predicates into library (address #12744 )
...
DONE:
1. refactor all predicates: predicates return fitOrNot(bool) and error(Error) in which the latter is of type
PredicateFailureError or InsufficientResourceError. (For violation of either MaxEBSVolumeCount or
MaxGCEPDVolumeCount, returns one same error type as ErrMaxVolumeCountExceeded)
2. GeneralPredicates() is a predicate function, which includes serveral other predicate functions (PodFitsResource,
PodFitsHost, PodFitsHostPort). It is registered as one of the predicates in DefaultAlgorithmProvider, and
is also called in canAdmitPod() in Kubelet and should be called by other components (like rescheduler, etc)
if necessary. See discussion in issue #12744
3. remove podNumber check from GeneralPredicates
4. HostName is now verified in Kubelet's canAdminPod(). add TestHostNameConflicts in kubelet_test.go
5. add getNodeAnyWay() method in Kubelet to get node information in standaloneMode
TODO:
1. determine which predicates should be included in GeneralPredicates()
2. separate GeneralPredicates() into:
a. GeneralPredicatesEvictPod() and
b. GeneralPredicatesNotEvictPod()
3. DaemonSet should use GeneralPredicates()
2016-04-11 00:57:03 +08:00
Wojciech Tyczynski
ebcc8f737c
Parallelize computing selector spreading priority in scheduler.
2016-03-22 14:09:58 +01:00
Hongchao Deng
ae88f08af0
Scheduler: replace system modeler with scheduler cache
2016-03-14 09:03:41 -07:00
Mike Metral
2da0dbd6fd
fix typo
2016-03-12 14:06:41 +00:00
Marek Grabowski
eb2f5153b3
Revert "Scheduler: replace system modeler with scheduler cache and do O(1) lookup for resource req"
2016-03-02 15:38:56 +01:00
k8s-merge-robot
e7d0f06c4a
Merge pull request #21736 from resouer/check-register
...
Auto commit by PR queue bot
2016-03-01 02:21:56 -08:00
Hongchao Deng
f29a1d6c5c
scheduler: Scheduler: replace system modeler with scheduler cache
...
We're using the scheduler cache to do O(1) lookup for resource request
2016-02-26 09:22:29 -08:00
Harry Zhang
636e982ecd
Implement checking in predicates
2016-02-25 21:25:36 +08:00
harry
b90550de25
Implement check for priority
2016-02-23 11:59:32 +08:00
Vishnu kannan
2623fdde17
Improve the naming of fields in ContainerImage struct used in NodeStatus.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-16 15:45:22 -08:00
k8s-merge-robot
8a815b919d
Merge pull request #21074 from mqliang/scheduler-ReplicaSet
...
Auto commit by PR queue bot
2016-02-16 01:48:33 -08:00
mqliang
0aab44a00d
add ReplicaSet support in scheduler
2016-02-16 14:34:46 +08:00
derekwaynecarr
a03361bd84
Make default format right for nil values
2016-02-15 13:55:33 -05:00
David Oppenheimer
66368efad5
Comment out NodeAffinity.RequiredDuringSchedulingRequiredDuringExecution
...
because it is not yet implemented.
2016-02-14 17:46:13 -08:00
Hongchao Deng
1cf4540b5d
priorities: move getNonzeroRequests() into util/ package
2016-02-10 08:35:00 -08:00
Hongchao Deng
9236e4a0b4
scheduler: change fit predicates and priority func as needed for optimization
2016-02-09 09:38:28 -08:00
k8s-merge-robot
8e56494ec5
Merge pull request #20140 from resouer/scheduler
...
Auto commit by PR queue bot
2016-02-05 20:08:31 -08:00
k8s-merge-robot
175d0c57f2
Merge pull request #19880 from DirectXMan12/feature/limit-ebs-scheduler-predicate
...
Auto commit by PR queue bot
2016-02-05 09:26:42 -08:00
Kevin
c8c82c1d8f
implement Node affinity and NodeSelector
2016-02-04 01:53:14 +00:00
harry
233a601130
Caculate priorities based on image locality
...
Add test for image score
Update generated docs
2016-02-03 21:01:26 +08:00
Solly Ross
2d436ff080
Scheduler predicate for capping node volume count
...
For certain volume types (e.g. AWS EBS or GCE PD), a limitted
number of such volumes can be attached to a given node. This commit
introduces a predicate with allows cluster admins to cap
the maximum number of volumes matching a particular type attached to a
given node.
The volume type is configurable by passing a pair of filter functions,
and the maximum number of such volumes is configurable to allow node
admins to reserve a certain number of volumes for system use.
By default, the predicate is exposed as MaxEBSVolumeCount and
MaxGCEPDVolumeCount (for AWS ElasticBlocKStore and GCE PersistentDisk
volumes, respectively), each of which can be configured using the
`KUBE_MAX_PD_VOLS` environment variable.
Fixes #7835
2016-02-02 16:21:42 -05:00
k8s-merge-robot
feb4b4857c
Merge pull request #19890 from vishh/0-nodes
...
Auto commit by PR queue bot
2016-02-01 14:09:06 -08:00
Hongchao Deng
8e1bfad490
insufficient resource error: details of failure in failedPredicateMap
2016-01-21 21:49:00 -08:00
Alex Mohr
76f02d562a
Merge pull request #19083 from resouer/allocatable
...
Use Allocatable to replace Capacity
2016-01-21 16:05:05 -08:00
Alex Mohr
fd9310fa6e
Merge pull request #18452 from xiang90/refactor_nodiskconflicts
...
scheduler: clean up NoDiskConflict code in predicates.go
2016-01-21 10:58:41 -08:00
Vishnu kannan
21748701f1
Avoid nodes that have `0` cpu and memory capacity.
...
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-01-20 15:34:58 -08:00
Harry Zhang
0202a206b8
Integration test to verify alloc works
...
Add integration test to verify allocatable can works
2016-01-20 15:36:19 +08:00
harry
e64fe82245
Use Allocatable to replace Capacity
...
Use allocate instead in priorities
2016-01-18 15:26:40 +08:00
k8s-merge-robot
98b190acf4
Merge pull request #19527 from hongchaodeng/pred
...
Auto commit by PR queue bot
2016-01-17 03:52:16 -08:00
Hongchao Deng
111b603c95
Remove FailedResourceType and return custom error
2016-01-12 08:41:30 -08:00
Saad Ali
9b415f0300
Revert "Remove FailedResourceType and return custom error"
2016-01-11 11:27:50 -08:00
Hongchao Deng
91fa5f8c88
PodFitsHostPorts: small refactor and speedup
2016-01-09 20:03:52 -08:00
Hongchao Deng
40e5e688cc
Remove FailedResourceType and return custom error
2016-01-07 13:47:23 -08:00
Justin Santa Barbara
f9a6ac077e
Ubernetes Lite: Volumes can dictate zone scheduling
...
For AWS EBS, a volume can only be attached to a node in the same AZ.
The scheduler must therefore detect if a volume is being attached to a
pod, and ensure that the pod is scheduled on a node in the same AZ as
the volume.
So that the scheduler need not query the cloud provider every time, and
to support decoupled operation (e.g. bare metal) we tag the volume with
our placement labels. This is done automatically by means of an
admission controller on AWS when a PersistentVolume is created backed by
an EBS volume.
Support for tagging GCE PVs will follow.
Pods that specify a volume directly (i.e. without using a
PersistentVolumeClaim) will not currently be scheduled correctly (i.e.
they will be scheduled without zone-awareness).
2015-12-31 12:27:01 -05:00
Xiang Li
a0e6d68026
scheduler: fast check when there is no conflicts
2015-12-22 15:39:17 -08:00
mqliang
e58eae313e
move filter logic to list&watch client
2015-12-22 19:32:18 +08:00
David Oppenheimer
7851d24d04
Merge pull request #18466 from xiang90/pod_fits
...
scheduler: clean up PodFitsResources
2015-12-18 22:11:05 -08:00
Brendan Burns
0ee0e16bcd
Don't recreate the same map 3 times
2015-12-16 20:39:28 -08:00
Justin Santa Barbara
cd433c974f
Zone-scheduler: Fixes per code-review
2015-12-13 20:34:01 -05:00
Justin Santa Barbara
6aa16c744b
When scheduling, spread between zones if labeled
...
We already spread across nodes; we modify this spreading preference to
spread across zones when nodes are labeled with zone information.
2015-12-13 20:34:01 -05:00
Xiang Li
d8c6e6dc4e
scheduler: clean up PodFitsResources
2015-12-09 13:24:54 -08:00
Xiang Li
d2dfb4906f
scheduler: clean up NoDiskConflict code in predicates.go
2015-12-09 11:19:57 -08:00
jiangyaoguo
f4c5d00b0c
Implement a cachedNodeInfo in predicates
2015-11-27 21:49:14 +08:00
Ravi Gadde
cadc24e9fd
Scheduler extension
2015-11-25 08:19:27 -08:00
Aaron Crickenberger
fad1968023
Adjust V level for scheduler messages
...
The "Combined requested resources" message becomes excessive as
the cluster fills up, drop it down to V(2)
Put an explicit V(2) on the only other scheduler Infof call that didn't
have V specified already.
2015-11-19 15:12:13 -05:00
k8s-merge-robot
986dd3ea49
Merge pull request #15956 from rootfs/no-disk-conflict
...
Auto commit by PR queue bot
2015-11-12 01:27:39 -08:00
Huamin Chen
bcbdd44267
rbd NoDiskConflict predicate: review feedback
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-11-02 10:18:39 -05:00
Huamin Chen
1ec9829ddf
replace variable manifest to podSpec to make names unconfusing; update NoDiskConflicts comments
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-22 15:39:40 -04:00
Huamin Chen
bd10664851
rbd: support NoDiskConflicts scheduler predicates
...
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-20 14:33:45 -04:00
Daniel Smith
7372e18e02
NO BIG MESSAGES IN N^2 LOGGING
2015-10-19 15:00:41 -07:00
David Oppenheimer
b9cfab87e3
Merge pull request #14724 from HaiyangDING/PodFitsHostPorts
...
Replace PodFitsPorts with PodFitsHostPorts
2015-10-03 12:45:35 -07:00
HaiyangDING
6e11cd6028
Replace PodFitsPorts with PodFitsHostPorts
2015-09-30 15:14:59 +08:00
Piotr Szczesniak
659de4d7d0
Improved logging in scheduler
2015-09-29 15:46:22 +02:00
Wojciech Tyczynski
53ae56f205
Replace "minion" with "node" in bunch of places.
2015-09-14 11:07:11 +02:00
Kris Rousey
ae6c64d9bb
Moving everyone to unversioned client
2015-08-18 10:23:03 -07:00
Robert Bailey
5d58c2ca77
Merge pull request #12718 from HaiyangDING/ChangeLimitToRequest
...
Use request to deal with resource requirement in priority functions.
2015-08-17 13:52:28 -07:00
dinghaiyang
43c2bd72cb
Use resource request instead of resource limit to deal with resource
...
requirement in priority functions.
2015-08-14 17:25:48 +08:00
Jordan Liggitt
cf7a2cdfff
Re-add ServiceSpreadingPriority priority algorithm
2015-08-12 08:39:04 -04:00
dingh
472a66aee1
Update comments.
...
Change limit to request in the comments for CheckPodsExceedingFreeResources()
2015-08-12 17:30:09 +08:00
Kris Rousey
565189f5b8
Correcting all go vet errors
2015-08-11 13:55:37 -07:00
Marek Grabowski
e034712456
Merge pull request #11788 from HaiyangDING/ImproveClarityResource
...
Improve clarity around PodFitsResource(issue#11453)
2015-08-10 09:56:32 +02:00
Satnam Singh
bee48f4ce5
Merge pull request #12035 from AnanyaKumar/requests
...
Add support for request
2015-08-07 14:27:34 -07:00
Jerzy Szczepkowski
d6dab28b96
Revert "Move prioritizer function EqualPriority to package priorities"
2015-08-07 15:51:26 +02:00
dinghaiyang
dab7280ae4
Improve clarity around PodFitsResource by showing pods limits in `kubectl describe node`
2015-08-07 16:58:11 +08:00
dinghaiyang
ebbcd4a3ba
Move prioritizer function EqualPriority to package priorities
2015-08-07 09:56:54 +08:00
Ananya Kumar
ef1e576810
Add support for request
2015-08-05 19:00:19 -07:00
Mike Danese
17defc7383
run gofmt on everything we touched
2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
gmarek
94eb52de33
Add spreading by controllers
2015-07-31 16:28:50 +02:00
Vish Kannan
c60238921f
Merge pull request #11051 from nak3/AWSElasticBlockStore
...
Update comment about NoDiskConflict predicate
2015-07-23 17:49:37 -07:00
Wojciech Tyczynski
d30704af87
Merge pull request #11682 from nak3/priorities-fix
...
Remove unused argument from fractionOfCapacity()
2015-07-23 12:57:22 +02:00
Kenjiro Nakayama
a176001aa1
Fix calculation comment for LeastRequestedPriority
2015-07-22 17:18:19 +09:00
Kenjiro Nakayama
5d3958ff64
Remove unused argument from fractionOfCapacity()
2015-07-22 15:43:50 +09:00
Kenjiro Nakayama
78a8d287e9
Comment update
2015-07-10 21:11:15 +09:00
gmarek
b25c97bca4
Add more logging to scheduler predicates to help debugging max_pods e2e test flakyness
2015-07-08 10:48:50 +02:00
David Oppenheimer
bdf22e3121
Increase zero-limit pod RAM for spreading to 200 MB to match cluster
...
addon pods and represent less trivial fraction of typical machine RAM
(e.g. n1-standard-1).
2015-07-07 13:48:57 -07:00