Commit Graph

51 Commits

Author SHA1 Message Date
goltermann
696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -07:00
HAI HUANG
50f3fc8f9d removed unused constants 2016-03-03 21:26:54 -05:00
James DeFelice
fc1c43507e inject MESOS_EXECUTOR_CONTAINER_UUID envvar into all docker containers
spawned by kubelet: static and non-static pod user containers, as well
as pod infrastructure containers.
2016-02-10 18:20:52 +00:00
Chao Xu
184440f8ef rename release_1_2 to internalclientset 2016-02-05 14:02:28 -08:00
Chao Xu
f9f5736b01 grep sed 2016-02-03 13:06:07 -08:00
Chao Xu
cddd7b56a4 replace client with clientset in kubelet and other places 2016-02-02 20:28:45 -08:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
James DeFelice
35565e47a7 send TASK_LOST when apiserver returns pod-not-found 2016-01-29 21:40:17 +00:00
Clayton Coleman
4a6935b31f Remaining codec change refactors 2016-01-22 13:27:27 -05:00
James DeFelice
b2013cb1ba replace pod-observer and check-for-lost-pod polling with a single pod watcher and task registry 2016-01-20 18:53:34 +00:00
Mike Spreitzer
b35aec769b Issue #18721: introduce longer period for lost pod polling 2016-01-06 13:58:29 -05:00
James DeFelice
af95e3fe0e - forward updated labels/annotations for downward API compat
- refactor queue.Pod construction to take functional options, privatize Pod fields
- refactor DelayFIFO and HistoricalFIFO to offer consistent, more useful Pop() funcs
- refactor pod update processing changes; long term we should somehow combine with the special pod config source that we are using for mirror pods
- task launch timer cleanup
2015-12-11 13:15:06 +00:00
James DeFelice
02a11f7a2e Merge pull request #53 from mesosphere/jdef_fix_executor_state_locks
MESOS: avoid mutex locking around blocking calls in kubelet-executor
Conflicts:
	contrib/mesos/pkg/executor/service/service.go
2015-12-02 22:45:52 +00:00
Dr. Stefan Schimanski
271eeb008b Merge pull request #52 from mesosphere/sttts-task-lost-during-kubelet-pod-launch
MESOS: scheduler: handle lost task status updates during kubelet pod launch
2015-12-02 13:50:28 +01:00
Sergiusz Urbaniak
9eae47c6e6 scheduler: implement role awareness 2015-11-23 17:27:14 +01:00
James DeFelice
3d3577b9f3 rewrite of static pod json zipper
- add busybox static pod to mesos-docker cluster
- customize static pods with binding annotations
- code cleanup
- removed hacky podtask.And func; support minimal resources for static pods when resource accounting is disabled
- removed zip archive of static pods, changed to gzip of PodList json
- pod utilities moved to package podutil
- added e2e test
- merge watched mirror pods into the mesos pod config stream
2015-11-13 23:30:26 +00:00
Dr. Stefan Schimanski
ec582e736e Rename KubernetesMesosExecutor -> Executor 2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
3601292cff Split MesosScheduler from actual Scheduler code holding the task registry
- rename types.Framework -> types.Scheduler
- rename MesosScheduler -> Framework
- transform MesosFramework into independent Scheduler glueing all scheduler
  components, implementing types.Scheduler and owning the task registry
2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
d4675f1dc3 Rename mesos_{scheduler ->}.go, {mesos ->}framework.go 2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
518a7d5f3b Rename KubernetesMesosScheduler -> MesosScheduler 2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
866a17d6d8 Rename KubernetesExecutor -> KubernetesMesosExecutor 2015-11-12 01:33:50 +01:00
Dr. Stefan Schimanski
1435077820 Set executor cpu resources to an integer to avoid rounding errors
This avoid that we either waste cpu resources due to rounding or that we report
to much to the kubelet such that the e2e tests think they can schedule more than
resources are available.

This fixes https://github.com/mesosphere/kubernetes-mesos/issues/437
2015-10-10 21:19:08 +02:00
Dr. Stefan Schimanski
ae7830b4be Pass Mesos cpu and mem values to cadvisor 2015-10-10 21:19:08 +02:00
Dr. Stefan Schimanski
dd5bafdba5 Decouple startup of executor and kubelet 2015-10-10 11:54:27 +02:00
Dr. Stefan Schimanski
a60df400fd Decouple executor initialization from kubelet
This patch reduces the dependencies of the executor from the kubelet. This
makes it possible launch the kubelet after the executor.

This considerably reduces the complexity of the startup code.

Moreover, this work is a requirement to use a standalone kubelet some day.
2015-10-10 11:54:27 +02:00
Dr. Stefan Schimanski
efdd726027 Un-knot static pods creation in executor 2015-10-10 11:54:27 +02:00
Dr. Stefan Schimanski
686b767f28 Remove redundant kubelet dependency of executor 2015-10-10 11:54:27 +02:00
Dr. Stefan Schimanski
6af86cbaad Avoid panics during executor shutdown due to write to closed channel 2015-10-10 11:54:27 +02:00
Dr. Stefan Schimanski
9366ac4143 Pass PodLW to executor in tests 2015-10-10 11:54:27 +02:00
Yu-Ju Hong
a3e60cc32e Rename imported package local name kubeletTypes to kubetypes
According to the naming guidelines, package name should not include mixedCaps.
2015-10-09 10:24:31 -07:00
Yu-Ju Hong
098ab05997 kubelet: move common types to kubelet/types
This would faciliate tasks such as moving code in pkg/kubelet to sub packages.
2015-10-08 14:38:01 -07:00
Alex Robinson
84f8f01d45 Merge pull request #14432 from mesosphere/sur-k8sm-492-launch-grace-period
MESOS make launchGracePeriod configurable
2015-10-05 13:27:12 -07:00
Sergiusz Urbaniak
42c84954fd executor,scheduler: make launchGracePeriod configurable 2015-10-02 07:43:49 +02:00
Dr. Stefan Schimanski
74e57e85f1 Pass all changes of DeletionTimestamp and DeletionGracePeriodSeconds to kubelet 2015-10-01 06:50:07 +02:00
Dr. Stefan Schimanski
4d4ebe9f18 Add Mesos slave attributes as node labels
- pre-create node api objects from the scheduler when offers arrive
- decline offers until nodes a registered
- turn slave attributes as k8s.mesosphere.io/attribute-* labels
- update labels from executor Register/Reregister
- watch nodes in scheduler to make non-Mesos labels available for NodeSelector matching
- add unit tests for label predicate
- add e2e test to check that slave attributes really end up as node labels
2015-09-26 09:46:56 +02:00
Dr. Stefan Schimanski
9c24131b4e Remove unused Watch code in executor 2015-09-25 17:55:22 +02:00
Dr. Stefan Schimanski
be57b2871e Watch pods in executor and tell kubelet about graceful terminations
- instantiate framework.Controller for pods in the executor using framework.NewInformer,
  in order to watch pod updates for pods on that host
- forwards updates like graceful termination to the kubelet.

  This might also be the preparation for other updates which are supported by the
  kubelet.
2015-09-22 16:41:43 +02:00
k8s-merge-robot
1ad9aad8ab Merge pull request #14259 from mesosphere/sttts-cleanup-task-lost
Auto commit by PR queue bot
2015-09-21 07:11:48 -07:00
Dr. Stefan Schimanski
132f8892ed Move task-lost message prefix into messages module 2015-09-21 09:51:05 +02:00
Dr. Stefan Schimanski
a9d7acea39 Move suicide logic into its own file 2015-09-18 16:54:56 +02:00
Dr. Stefan Schimanski
216865b80a Switch to incremental pod config notification
This fixes https://github.com/mesosphere/kubernetes-mesos/issues/463, i.e.
https://github.com/kubernetes/kubernetes/pull/13003 which broke contrib/mesos.
2015-09-03 22:49:02 +02:00
Kris Rousey
ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -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
Dr. Stefan Schimanski
f59b5f503b Use BindingHostKey annotation to detect scheduled pods in k8sm-scheduler
Before NodeName in the pod spec was used. Hence, pods with a fixed, pre-set
NodeName were never scheduled by the k8sm-scheduler, leading e.g. to a failing
e2e intra-pod test.

Fixes mesosphere/kubernetes-mesos#388
2015-07-31 10:22:20 +02:00
Joerg Schad
7af8bf6ed3 Add static pod support to mesos scheduler and executor.
- the mesos scheduler gets a --static-pods-config parameter with a directory with
  pods specs. They are zipped and sent over to newly started mesos executors.
- the mesos executor receives the zipper static pod config via ExecutorInfo.Data
  and starts up the pods via the kubelet FileSource mechanism.
- both - the scheduler and the executor side - are fully unit tested
2015-06-15 17:24:54 +00:00
James DeFelice
5e4992aa5e fix broken TestExecutorLaunchAndKillTask unit test 2015-06-14 03:38:29 +00:00
James DeFelice
eca5a2ac88 lower container poll freq to something more sane 2015-06-13 22:23:43 +00:00
James DeFelice
c0b686e3be resolve pod readiness issue
see https://github.com/mesosphere/kubernetes-mesos/issues/342
xref #9710
2015-06-13 22:23:43 +00:00
James DeFelice
6436c4a3bc additional comments as per code review 2015-06-11 13:47:14 +00:00