Commit Graph

198 Commits (8f3c623287e2f4a5006b7e2ad2bee9e81f1a86d3)

Author SHA1 Message Date
Filip Grzadkowski 98115facfd Revert "Gracefully delete pods from the Kubelet" 2015-06-02 23:40:05 +02:00
Clayton Coleman 72ee028cab Gracefully delete pods from the Kubelet
This commit wires together the graceful delete option for pods
on the Kubelet.  When a pod is deleted on the API server, a
grace period is calculated that is based on the
Pod.Spec.TerminationGracePeriodInSeconds, the user's provided grace
period, or a default.  The grace period can only shrink once set.
The value provided by the user (or the default) is set onto metadata
as DeletionGracePeriod.

When the Kubelet sees a pod with DeletionTimestamp set, it uses the
value of ObjectMeta.GracePeriodSeconds as the grace period
sent to Docker.  When updating status, if the pod has DeletionTimestamp
set and all containers are terminated, the Kubelet will update the
status one last time and then invoke Delete(pod, grace: 0) to
clean up the pod immediately.
2015-06-01 19:23:59 -04:00
Tim Hockin d0daabb34b Merge pull request #8471 from bprashanth/scheduler_burst
Limit the scheduler to a burst qps of 30
2015-05-28 16:55:25 -07: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
Prashanth Balasubramanian 4004a68ae9 Limit the scheduler to a burst qps of 30 and rate limit pod binding 2015-05-27 16:35:09 -07:00
Clayton Coleman d00f705652 Tone down scheduler logging
Having no nodes in the cluster is unusual and is likely a test
environment, and when a pod is deleted there is no need to log
information about our inability to schedule it.
2015-05-16 19:46:50 -04: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
Prashanth Balasubramanian 4b0607cf0b Scheduler ignored nodes with unknown condition status 2015-05-06 18:32:52 -07:00
Eric Paris 6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
nikhiljindal dcc368c781 Removing more references to v1beta1 from pkg/ 2015-04-24 00:45:17 -07:00
dingh 71b98840c8 Listing available algorithm providers in scheduler
List the available algorithm providers with 'kube-scheduler --help' under field `algorithm_provider`
2015-04-22 06:54:24 +08:00
Kris Rousey 81497f3ed2 Changing the scheduler package to use *api.Pod instead of api.Pod to
avoid unnecessary shallow copies. The change rippled through a lot of
code.
2015-04-17 13:34:31 -07:00
Daniel Smith 835a87aed2 Merge pull request #6857 from wojtek-t/fix_scheduler_nodes
Fix listing nodes in scheduler
2015-04-15 17:05:04 -07:00
Wojciech Tyczynski afb94c43b1 Fix listing nodes in scheduler 2015-04-15 14:26:25 +02:00
Daniel Smith fb0df935f6 add missing syncronization 2015-04-14 15:59:50 -07:00
Daniel Smith dd26cdf0f7 Fix comments; switch to watching nodes 2015-04-10 17:49:51 -07:00
Daniel Smith 6835318d1e switch to require 'go controller.Run()' 2015-04-10 14:05:08 -07:00
Daniel Smith 5f7715f0e9 Make scheduler not miss deletion events even in the case of a resync. 2015-04-10 14:05:08 -07:00
Wojciech Tyczynski 88eb0b0295 FieldSelector for node List() 2015-04-10 12:53:16 +02:00
Masahiro Sano d04cc5ced4 List in NodesInterface takes label selector 2015-04-08 23:41:27 +09:00
Wojciech Tyczynski 8a5c76356c Revert "Stop the bleeding for #6059"
This reverts commit 6be09c5e97.
2015-04-08 13:29:29 +02:00
Daniel Smith c1390a0836 version field selector field names in the client 2015-04-07 16:59:57 -07:00
gmarek ef56dca6b6 Remove ConditionSchedulable 2015-04-07 17:01:07 +02:00
Daniel Smith 6be09c5e97 Stop the bleeding for #6059 2015-04-02 13:54:10 -07:00
Piotr Szczesniak 5c6439d449 Removed PodStatus.Host
Fixes #6165
2015-04-02 16:38:45 +02:00
Deyuan Deng 6bb9701489 Remove Reachable Condition 2015-04-01 13:56:43 -04:00
Abhishek Gupta 8a01aed83f Adding validations for scheduler Policy 2015-03-31 10:54:45 -07:00
saadali e0f71cb21f Make each new instance of kubelet generate a new event channel (instead of reusing existing). 2015-03-30 14:22:16 -07:00
Daniel Smith 10b4fe6f30 Merge pull request #6188 from abhgupta/abhgupta-dev
Minor fixes for scheduler priority configuration
2015-03-30 14:05:28 -07:00
Victor Marmol 05452f12ef Merge pull request #6110 from lavalamp/fix2
Remove pods from the assumed pod list when they are deleted
2015-03-30 13:49:52 -07:00
Abhishek Gupta 490dd1bb67 Fixing accidental hardcoding of priority function weight 2015-03-30 13:47:27 -07:00
Daniel Smith fd952862c3 Remove pods from the assumed pod list when they are deleted 2015-03-30 11:16:55 -07:00
Abhishek Gupta 142fd773b0 Updating priority function weight based on specified configuration 2015-03-27 17:56:40 -07:00
Robert Rati c2938b299d Only schedule to pods that are available. #5545 2015-03-26 08:42:14 -04:00
Brian Grant d75291dbe7 Merge pull request #5838 from nikhiljindal/clientTests
Updating unit tests so that they pass with v1beta3 api
2015-03-24 17:30:50 -07:00
Deyuan Deng ca68f4a9d1 Rename ConditionFull->ConditionTrue, ConditionNone->ConditionFalse 2015-03-24 17:28:59 -04:00
nikhiljindal 7e3b7f9673 Updating unit tests so that they pass with v1beta3 api 2015-03-24 12:13:53 -07:00
Wojciech Tyczynski f7191d626d Change "/ns" to "/namespaces" in few remaining places. 2015-03-24 13:05:32 +01:00
Brian Grant 11f9733599 Merge pull request #5587 from nikhiljindal/enable3
Updating integration tests to test both API versions - v1beta1 and 3
2015-03-18 16:14:20 -07:00
nikhiljindal 7e36bbab3c Updating integration tests to test both API versions - v1beta1 and 3 2015-03-18 15:24:11 -07:00
Salvatore Dario Minonne 31ddefc347 Finalize fields.Selector 2015-03-17 22:55:43 +01:00
Piotr Szczesniak 7aa6356625 Fill NodeInfo in CreateFromKey method in scheduler
NodeInfo was nil and it caused segfault

Fixes #5503
2015-03-17 14:57:49 +01:00
Jeff Lowdermilk e37fd2a84d Merge pull request #5477 from dchen1107/clean
Convert RestartPolicy to string for v1beta3.
2015-03-16 10:23:52 -07:00
Dawn Chen 34e9c82c70 Convert RestartPolicy to string for v1beta3.
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Daniel Smith 992d78a32e Add a system modeler to scheduler
So it can try to predict the effect its bindings will have.
2015-03-13 17:48:16 -07:00
Satnam Singh 52bf7af739 Merge pull request #5351 from lavalamp/fix2
remove evil global state shared by all schedulers
2015-03-13 10:15:27 -07:00
Ravi Sankar Penta f6ecec5880 Allow admin user to explicitly unschedule the node
Setting Unschedulable on the node will not touch any existing pods
on the node but will block scheduling of new pods on the node.
2015-03-12 14:27:27 -07:00
Wojciech Tyczynski 9f2f10d6db Make scheduler to watch PodSpec.Host instead Status.Host 2015-03-12 13:38:58 +01:00
Daniel Smith 3e83ffdd40 remove evil global state shared by all schedulers 2015-03-11 18:09:01 -07:00
Brian Grant 6062e14313 Merge pull request #5220 from nikhiljindal/camelCaseFieldSelectors
Changing v1beta3 field selectors to be camelCased
2015-03-10 09:35:03 -07:00
nikhiljindal 916ca9cc68 Changing v1beta3 field selectors to be camelCased 2015-03-09 18:01:01 -07:00
Clayton Coleman dfc19185f5 Add a subbindings resource as /pods/{name}/binding
Allows POST to create a binding as a child. Also refactors internal
and v1beta3 Binding to be more generic (so that other resources can
support Bindings).
2015-03-09 15:37:19 -04:00
Paul Morie 02b18edac6 Allow multiple sources to be used with record package 2015-03-05 13:54:29 -05:00
Derek Carr cb1e044a60 Merge pull request #4923 from lavalamp/fix4
Allow reflector to do full resync periodically
2015-03-04 09:58:03 -05:00
Daniel Smith c4822dc060 Revert "Revert "Adding converter functions to convert field label selectors to internal version before matching""
This reverts commit 5f35a67002.
2015-03-02 15:00:09 -08:00
Abhishek Gupta 5e096fed34 Fixing test case to remove dependency on algorithm provider 2015-03-02 10:00:20 -08:00
Abhishek Gupta a04e600f16 Added test cases 2015-03-02 10:00:20 -08:00
Abhishek Gupta e5d319d611 Fixing comment alignment 2015-03-02 10:00:20 -08:00
Abhishek Gupta 3607a16293 Implementing PR feedback 2015-03-02 10:00:19 -08:00
Abhishek Gupta 548e0da567 Configuring scheduler via json configuration file 2015-03-02 10:00:19 -08:00
Zach Loafman 5f35a67002 Revert "Adding converter functions to convert field label selectors to internal version before matching" 2015-02-28 11:42:49 -08:00
Daniel Smith 554b1c847c add occasional polling to reflector 2015-02-27 16:59:14 -08:00
nikhiljindal 48e7945f65 Versioning the field selectors 2015-02-27 16:10:59 -08:00
Rohit Jnagal e455ee5d2e Merge pull request #4765 from brendandburns/scheduler
Log a better error with useful info on scheduling failures.
2015-02-26 12:01:04 -08:00
Mike Danese 5267127af1 api: rename conditionkind -> conditiontype 2015-02-23 22:13:21 -08:00
Brendan Burns 33f6576f61 Log a better error with useful info on scheduling failures. 2015-02-23 20:36:22 -08:00
Clayton Coleman 4859aa7cd8 Merge pull request #4453 from derekwaynecarr/make_quota_more_efficient
Make ListWatch work with a ListFunc and WatchFunc
2015-02-17 14:48:11 -05:00
Clayton Coleman 3e2e4714a2 Always set ?namespace in query if specified
Revise our code to only call Request.Namespace() if a namespace
*should* be present.  For root scoped resources, namespace should
be ignored.  For namespaced resources, it is an error to have
Namespace=="".
2015-02-16 00:23:38 -05:00
derekwaynecarr c0ce15c588 Make list watch take a ListFunc and WatchFunc, provide default funcs from client 2015-02-15 22:26:05 -05:00
derekwaynecarr 151be7773c Rename api.Namespace to api.NamespaceValue to avoid name collision 2015-02-10 09:44:29 -05:00
Yu-Ju Hong 4a72addaeb Factor out API defaulting from validation logic
Currently, the validation logic validates fields in an object and supply default
values wherever applies. This change factors out defaulting to a set of
defaulting callback functions for decoding (see #1502 for more discussion).

 * This change is based on pull request 2587.

 * Most defaulting has been migrated to defaults.go where the defaulting
   functions are added.

 * validation_test.go and converter_test.go have been adapted to not testing the
   default values.

 * Fixed all tests with that create invalid objects with the absence of
   defaulting logic.
2015-02-03 00:55:42 -08:00
Clayton Coleman 556e59b512 Merge pull request #3810 from ironcladlou/cache-namespacing
Support namespacing in cache.Store
2015-01-30 13:19:41 -05:00
Deyuan Deng c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
Dan Mace 5ee943d683 Support namespacing in cache.Store implementations
Support namespacing in cache.Store by framing the interface functions
around interface{} and providing a key function to each Store implementation.

Implementation of a fix for #2294.
2015-01-29 17:39:49 -05:00
davidopp a3e057d5d9 Merge pull request #3544 from mikedanese/provider-run-opt
Configure scheduler algorithm provider with cli option
2015-01-16 12:41:09 -08:00
Mike Danese 9f4c42e988 name and key are used interchangably in plugin/pkg/scheduler/factory/plugins.go. this standardizes on name. 2015-01-15 17:30:48 -08:00
Mike Danese 9dffd0c105 added algorithm name validation 2015-01-15 16:59:02 -08:00
Mike Danese e3da5e15bc added algorithm provider cli option to the kube-scheduler command and renamed default provider to follow naming convention 2015-01-15 16:27:25 -08:00
davidopp 2675cfa16b Merge pull request #2906 from abhgupta/abhgupta-dev
Enhancements to scheduler priority functions
2015-01-14 21:47:28 -08:00
Deyuan Deng 153dbd30a3 Filter out unhealthy node in scheduler 2015-01-13 17:09:07 -05:00
Abhishek Gupta 6fd0b181e3 Rebased onto the latest changes to the scheduler code 2015-01-13 09:41:25 -08:00
Abhishek Gupta 9e75a05df0 Implementing PR feedback 2015-01-13 09:34:45 -08:00
Abhishek Gupta 04db076e5f Enhancements to scheduler priority functions
- Modified the existing spreading priority to consider service pods explicitly
 - Added a new priority function to spread pods across zones
2015-01-13 09:34:42 -08:00
Clayton Coleman b38c25ebf4 Shorten scheduler/factory test by making backoff a struct var 2015-01-09 13:16:30 -05:00
Daniel Smith 963000715a Merge pull request #3294 from erictune/public_storetoers
Move Listers to pkg/client/cache.
2015-01-07 15:56:14 -08:00
Eric Tune ed74197fde Move Listers to pkg/client/cache.
I would like to use these in kubelet and kube-proxy.
This is the minimal change to get them moved.
I will follow up with changes to make interfaces consistent
and add Listers for other resources.
2015-01-07 15:33:17 -08:00
Clayton Coleman b03fbf90f8 Make RESTClient more generic to API version, simplify version handling
RESTClient is an abstraction on top of arbitrary HTTP endpoints that
follow the Kubernetes API conventions. Refactored RESTClientFor so that
assumptions that are Kube specific happen outside of that method (so
others can reuse the RESTClient). Added more validation to client.New
to ensure clients give good input. Exposed APIVersion on RESTClient
as a method so that wrapper code (code that adds typed / structured
methods over rest endpoints like client.Client) can more easily make
decisions about what APIVersion it is running under.
2015-01-07 18:03:34 -05:00
Eric Tune 7d5ac856c5 Make Reflector helpers reusable.
Scheduler uses Reflector from pkg/client/cache.
It defines some helper classes.
I'd like to use those helpers with pkg/client/cache
in kube-proxy and kubelet too.
2015-01-07 13:49:37 -08:00
Daniel Smith 9c2cd55528 Merge pull request #3181 from smarterclayton/cleanup_http_items
Minor cleanups to request - fix initialism on HTTPClientFunc
2014-12-30 17:34:00 -08:00
Clayton Coleman 502204ad6d Do not set empty field or label selectors on requests
Default behavior for "" is already "everything"
2014-12-30 19:33:40 -05:00
Clayton Coleman e355f54eda Update references from Path() to the appropriate segment use 2014-12-29 15:38:52 -05:00
Clayton Coleman c9501128b6 Scheduler is printing the wrong value when no default algorithms available 2014-12-24 00:01:54 -05:00
derekwaynecarr abb6632d75 Do not use namespace in url paths pre v1beta3 from client 2014-12-19 16:32:42 -05:00
Daniel Smith 3ade280f89 Merge pull request #2813 from derekwaynecarr/ns_url
Move namespace from query param to path part
2014-12-18 13:31:45 -08:00
Mike Danese 4850bdbe63 refactor scheduler factory to use plugin architecture style like credentialprovider and cloudprovider for configuring priority functions and fit predicates 2014-12-17 14:55:28 -08:00
derekwaynecarr 7cf664439f Move namespace from query param to path part 2014-12-16 15:55:47 -05:00
Clayton Coleman 19379b5a38 Internal rename api.Minion -> api.Node 2014-12-10 12:08:18 -05:00
Abhishek Gupta d17cebcd2a Implementing PR feedback and adding test cases 2014-12-08 14:47:05 -08:00
Abhishek Gupta 5fa1dbc07b Implementing PR feedback
- Making ConfigFactory struct public
 - Added comments for predicate/priority functions and new methods
2014-12-08 14:47:05 -08:00
Abhishek Gupta 13831856c9 Combining scheduler priority functions using weighted averages 2014-12-08 14:47:05 -08:00