Commit Graph

586 Commits

Author SHA1 Message Date
markturansky
68358fd308 Added VolumeConfig to volumes 2015-09-01 12:04:26 -04:00
Edward Muller
69da77c6b0 s:code.google.com/p:github.com/scalingdata:
Because code.google.com is going away. Probably #1 of several.
2015-08-31 11:29:33 -07:00
Wojciech Tyczynski
e202f9c797 Add resource version to Store Replace params. 2015-08-31 09:49:12 +02:00
James DeFelice
a5fa5673e2 rewrite Process implementation from scratch, unskip previously failing test:
- fix races in unit tests
- fix flaky singleActionEndsProcess test; further simplify Process impl
- fix flakey error handling in processAdapter
- eliminate time-based test assertions
2015-08-31 06:05:51 +00:00
k8s-merge-robot
de60651cc0 Merge pull request #12858 from MatMaul/master
Auto commit by PR queue bot
2015-08-30 21:46:50 -07:00
k8s-merge-robot
4a7115d272 Merge pull request #11955 from pedro-r-marques/flag_resolv_conf
Auto commit by PR queue bot
2015-08-30 21:03:54 -07:00
Dr. Stefan Schimanski
cac58f6db7 Add --path-override to minion to change the PATH env var of subprocesses;
pass hostname-override through to kube-proxy (if defined)
2015-08-27 22:57:04 +00:00
Pedro Roque Marques
99b1da848d Add kubelet '--resolv-conf' flag.
Allow the user to specify the resolver configuration file that is used
to determine the default DNS parameters. This defaults to the system's
/etc/resolv.conf.
2015-08-26 15:41:36 -07:00
Yu-Ju Hong
c237ac4c84 Merge pull request #13003 from yujuhong/decouple_workers
kubelet: trigger pod workers independently
2015-08-26 09:53:25 -07:00
Mathieu Velten
57f18a0e04 Add a dockercfg_path parameter to the Mesos scheduler (the main purpose is to handle private repos auth).
This is implemented by copying the dockercfg file in the executor work directory.
2015-08-26 11:21:08 +02:00
Yu-Ju Hong
b906e34576 kubelet: trigger pod workers independently
Currently, whenever there is any update, kubelet would force all pod workers to
sync again, causing resource contention and hence performance degradation.

This commit flips kubelet to use incremental updates (as opposed to snapshots).
This allows us to know what pods have changed and send updates to those pod
workers only. The `SyncPods` function has been replaced with individual
handlers, each handling an operation (ADD, REMOVE, UPDATE). Pod workers are
still triggered periodically, and kubelet performs periodic cleanup as well.

This commit also spawns a new goroutine solely responsible for killing pods.
This is necessary because pod killing could hold up the sync loop for
indefinitely long amount of time now user can define the graceful termination
period in the container spec.
2015-08-25 17:52:01 -07:00
Clayton Coleman
8a62f1828d Evict terminating pods 2015-08-25 14:17:39 -03:00
Yu-Ju Hong
9f508e9422 Merge pull request #13076 from invenfantasy/master
Cleanup deprecated Forever function
2015-08-25 10:07:10 -07:00
Karl Isenberg
158c42f4be Log Mesos task message on status update
- Log error when task state is unknown
2015-08-24 15:31:31 -07:00
Dr. Stefan Schimanski
f9635d5778 [mesos] Handle TASK_ERROR
- The TASK_ERROR task status was introduced with Mesos 0.21 and is actually used since 0.22.
  It was not handled at all before this patch, leaving errored task in the registry in phase
  "Pending". This will lead to task status updates from the Mesos Master on reconciliation with empty
  slaveId fields, leading to scheduler crashes eventually.
- Handle terminal task with empty slaveId.
  The slave id can be empty for TASK_ERROR.
  The modified code path does not use the slaveId.
2015-08-24 15:31:31 -07:00
caogaojin
60cb4406e9 Cleanup deprecated Forever function
Since util.Forever function has been deprecated, we should cleanup these
pieces of code.
2015-08-24 10:31:59 +08:00
Jerzy Szczepkowski
b6f18c7ce0 Merge pull request #12943 from mesosphere/node-selector-support
Add NodeSelector support to Mesos scheduler
2015-08-21 10:32:24 +02:00
Saad Ali
9b01580946 Merge pull request #12872 from runningwild/master
Fix several problems with using rkt on gce
2015-08-20 15:46:16 -07:00
Eric Paris
bcf912667b Use pflag functions instead of ours. 2015-08-20 15:00:55 -07:00
Dr. Stefan Schimanski
10bb0424c4 Add NodeSelector support to scheduler 2015-08-20 20:59:10 +02:00
Wojciech Tyczynski
e794e36a32 Merge pull request #12861 from mesosphere/empty-kubelet-container-vars
MESOS: Stop the kubelet from taking control over cgroups and other processes
2015-08-20 09:02:19 +02:00
Saad Ali
8a43bd621e Merge pull request #12745 from eparis/even-less-dash-false-positive
verify-flags-underscore.py: Even fewer dash false positives
2015-08-19 17:03:29 -07:00
Dr. Stefan Schimanski
d6feca1885 Set the kubelet cgroup to <executor-cgroup>/kubelet
In contrast to the docker and system containers (= cgroup path) this has no
undesired consequence, only that the kubelet itself will be in its own cgroup
below the executor cgroup.
2015-08-19 20:36:21 +02:00
Jonathan Wills
80e799fc0c Allow configuring the rkt binary in a kubelet with a flag.
This is necessary because coreos comes with rkt installed, and if we want to use a different version
we need some way to avoid the default one.
2015-08-19 09:42:13 -04:00
Robert Bailey
08e6a43c1d Revert "Merge pull request #9165 from smarterclayton/graceful"
This reverts commit 4f856b595d, reversing
changes made to d78525a83b.

Conflicts:
	pkg/kubelet/status_manager.go
2015-08-18 17:34:49 -07:00
Kris Rousey
ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -07:00
Dr. Stefan Schimanski
8ddcb222e9 Stop the kubelet from taking control over cgroups and other processes 2015-08-18 17:42:58 +02:00
Clayton Coleman
edb108802d Handle gracefully terminated pods in node controller
Eviction should retry longer and wait for completion of the pod.
2015-08-18 09:08:45 -04:00
Eric Paris
c560f41a4b Update docs which were incorrectly using _ in flag names
Each of these was verified that the actual flag declaration correctly
used -
2015-08-17 11:18:43 -07:00
Karl Isenberg
61c9dd876e Improve readability of scheduling failure logs 2015-08-17 12:17:48 +02:00
Eric Paris
30d34d0e59 Reduce false positives with verify-flag-underscore.sh by updating regex
Check to make sure there is not an alphanumeric character immeditely
before or after the 'flag'.  It there is an alphanumeric character then
this is obviously not actually the flag we care about.  For example if
the project declares a flag "valid-name" but the regex finds something
like "invalid_name" we should not match.  Clearly this "invalid_name" is
not actually a wrong usage of the "valid-name" flag.
2015-08-13 21:06:39 -04:00
jiangyaoguo
5d3522dc7a Keep event reason consistant in scheduler and controller 2015-08-13 11:33:32 +08:00
CJ Cullen
353d3b0168 Merge pull request #12616 from mesosphere/mesos-service-port-name-issue
Remove outdated documented Mesos issue that service ports must be named
2015-08-12 16:08:52 -07:00
Dr. Stefan Schimanski
f8dd75091d Remove outdated documented Mesos issue that service ports must be named
The described behavior cannot be reproduced in current master anymore.

Compare mesosphere/kubernetes-mesos#322
2015-08-13 00:45:46 +02:00
Kris Rousey
2a17dbff13 Moving clientauth package to be under client 2015-08-12 14:43:17 -07:00
CJ Cullen
4163d1a5d2 Merge pull request #12535 from mesosphere/persist-assigned-slave
Make slave assignment before binding persistent
2015-08-12 10:14:38 -07:00
Dr. Stefan Schimanski
fb0d4dbc13 Address review comments 2015-08-12 08:03:37 +02:00
Dr. Stefan Schimanski
f1a560718c Make slave assignment before binding persistent
- move assigned slave to T.Spec.AssignedSlave
- only create the BindingHost annoation in prepareTaskForLaunch
- recover the assigned slave from annotation and write it back to the T.Spec field

Before this patch the annotation were used to store the assign slave. But due
to the cloning of tasks in the registry, this value was never persisted in the
registry.

This patch adds it to the Spec of a task and only creates the annotation
last-minute before launching.

Without this patch pods which fail before binding will stay in the registry,
but they are never rescheduled again. The reason: the BindingHost annotation does
not exist in the registry and not on the apiserver (compare reconcilePod function).
2015-08-12 08:03:36 +02:00
Bryan Stenson
9541414742 create cloudprovider "providers" package
move all providers into new package
    update all references to old package path
2015-08-11 22:36:51 -07:00
Kris Rousey
565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
markturansky
8e0d391b1e Refactored persistent volume controllers to new packaging structure 2015-08-10 23:18:48 -04:00
Alex Robinson
42e12f1c5f Merge pull request #12340 from wojtek-t/rewrite_service_etcd
Refactor "service" registry to use standard REST storage (and generic etcd)
2015-08-10 15:38:50 -07:00
Alex Robinson
11fcd3bb39 Merge pull request #12478 from eparis/use-pflag-network
Use pflags for net.IP and net.IPNet instead of custom flag types
2015-08-10 11:55:54 -07:00
Alex Robinson
1ad9015566 Merge pull request #12410 from mesosphere/non-unique-endpoint-ip-no-port-names
Fix e2e endpoints tests on Mesos
2015-08-10 09:49:55 -07:00
Eric Paris
fe6b633e2a Convert for util.IP to just use a net.IP
pflag can handle IP addresses so use the pflag code instead of doing it
ourselves. This means our code just uses net.IP and we don't have all of
the useless casting back and forth!
2015-08-10 10:15:05 -04:00
Wojciech Tyczynski
79125f460c Services using standard REST storage 2015-08-10 13:27:44 +02:00
Ed Costello
35a5eda585 Copy edits for typos 2015-08-09 14:18:06 -04:00
Veres Lajos
9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Satnam Singh
950ec96db0 Merge pull request #12182 from AnanyaKumar/qos-node
Add QoS support on node
2015-08-07 14:27:02 -07:00
Ananya Kumar
6ef3de1d5f Add QoS support on node 2015-08-07 11:18:16 -07:00