Wojciech Tyczynski
dcb5a6d1a6
Reuse existing Resource struct instead of new resourceRequest
2016-07-19 12:21:09 +02:00
k8s-merge-robot
a049a97820
Merge pull request #28803 from lukaszo/ds
...
Automatic merge from submit-queue
Make Daemonset use GeneralPredicates
fixes : #21454 #22205
2016-07-18 22:12:14 -07:00
Wojciech Tyczynski
a538045d7b
Cleanup and prepare for optimizing PodAffinity priority function.
2016-07-15 10:06:36 +02:00
Łukasz Oleś
528bf7af3a
Make Daemonset use GeneralPredicates
...
fixes #21454 , fixes #22205
2016-07-13 14:50:29 +02:00
Wojciech Tyczynski
c929d95884
Cache Allocatable Resources
2016-07-13 12:57:18 +02:00
Wojciech Tyczynski
ea1d797f98
Avoid computing ports multiple times
2016-07-13 11:02:26 +02:00
kevin-wangzefeng
ff6280fa5b
update inter-pod affinity predicates, check PodAntiAffinity even when pod has no AntiAffinity constraints
2016-07-13 03:55:01 +00:00
k8s-merge-robot
5067af159e
Merge pull request #28715 from euank/kubelet-trim-dead-code
...
Automatic merge from submit-queue
kubelete: delete a few bits of dead code
Less is more.
2016-07-11 11:40:47 -07:00
Wojciech Tyczynski
dcb2ca54ad
Avoid unnecessary copies
2016-07-11 15:41:27 +02:00
Wojciech Tyczynski
989202c384
Cache AllowedPodNumber to avoid conversions.
2016-07-11 15:41:26 +02:00
Wojciech Tyczynski
4eed5e07a5
Precompute pod resources
2016-07-11 15:41:26 +02:00
Wojciech Tyczynski
e8e8e2d086
Remove unneeded factories
2016-07-11 15:41:26 +02:00
PingWang
4fde2ff3a5
Update CheckServiceAffinity in predicates.go
...
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
gofmt -s -w
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-11 09:57:57 +08:00
Euan Kemp
26e0f50504
kubelet: delete unused code
2016-07-08 15:15:43 -07:00
Wojciech Tyczynski
b92eadfd1a
Avoid computing QOS multiple times
2016-07-08 12:57:40 +02:00
Wojciech Tyczynski
6890868823
Add meta field to predicates signature
2016-07-08 12:25:48 +02:00
Wojciech Tyczynski
58c95c136f
Quick returns in predicates
2016-07-07 12:34:54 +02: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
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
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
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
Harry Zhang
636e982ecd
Implement checking in predicates
2016-02-25 21:25:36 +08:00
David Oppenheimer
66368efad5
Comment out NodeAffinity.RequiredDuringSchedulingRequiredDuringExecution
...
because it is not yet implemented.
2016-02-14 17:46:13 -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
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
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
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
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
dingh
472a66aee1
Update comments.
...
Change limit to request in the comments for CheckPodsExceedingFreeResources()
2015-08-12 17:30:09 +08: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
dinghaiyang
dab7280ae4
Improve clarity around PodFitsResource by showing pods limits in kubectl describe node
2015-08-07 16:58:11 +08:00
Ananya Kumar
ef1e576810
Add support for request
2015-08-05 19:00:19 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07: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
Brendan Burns
97634c7fbf
Fix the scheduler to ignore terminated pods.
2015-06-10 14:38:08 -07:00
Jonathan Wills
882462ad87
Change isVolumeConflict so read-only gce persistent disks don't conflict with each other
2015-06-01 08:13:48 -04:00
Chao Xu
9c1153322e
update PodSpec.Host to PodSpec.NodeName in /pkg/api/types.go and /pkg/api/v1beta3/types.go
2015-05-28 14:10:06 -07:00
David Oppenheimer
44b1e1ca0c
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-18 23:32:06 -07:00
gmarek
27d660d0ac
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-15 10:57:46 +02:00
hurf
6203ce9f85
Move pkg/scheduler to plugin/pkg/scheduler
...
As the TODO in plugin/pkg/scheduler/scheduler.go described:
move everything from pkg/scheduler into this package. Remove
references from registry.
2015-05-13 14:03:25 +08:00