Commit Graph

35 Commits

Author SHA1 Message Date
Veres Lajos
9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Eric Paris
7cbb52ce04 Use the pflag StringSlice instead of implementing it ourselves
Saves code and makes our code easier to read because we just use normal
[]string instead of custom type.
2015-08-06 19:16:13 -04: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
Alex Mohr
159ba48932 Merge pull request #12238 from eparis/godeps
Auto commit by PR queue bot
2015-08-05 01:06:11 -07:00
Eric Paris
a29789d60e Switch from to code.google.com/p/go-uuid/uuid to github.com/pborman/uuid 2015-08-04 20:13:07 -04:00
Dr. Stefan Schimanski
191f2def5f Add test to check that NewSchedulerServer sets resource defaults 2015-08-04 22:01:23 +02:00
Dr. Stefan Schimanski
3fced6f07b Set the cpu+mem default limit in the SchedulerServer 2015-08-04 12:15:17 +02:00
gmarek
d27ad5b714 Controller codebase refactoring 2015-08-03 17:06:25 +02:00
Dr. Stefan Schimanski
76dc61bcfb Revert "Revert "Add Mesos hyperkube minion server ""
This reverts commit 8372b0d927.
2015-07-31 20:33:04 +02:00
Mike Danese
8372b0d927 Revert "Add Mesos hyperkube minion server " 2015-07-31 10:47:42 -07:00
Mike Danese
464e208f95 Merge pull request #11928 from mesosphere/km-minion
Add Mesos hyperkube minion server
2015-07-31 10:25:21 -07:00
Dr. Stefan Schimanski
2b1ecd28f0 Add Mesos hyperkube minion server
The minion server will
- launch the proxy and executor
- relaunch them when they terminate uncleanly
- logrotate their logs.

It is a replacement for a full-blown init process like s6 which is not necessary
in this case.
2015-07-31 12:28:40 +02:00
Dr. Stefan Schimanski
1200125137 Share KM_* constants 2015-07-31 11:27:52 +02:00
Dr. Stefan Schimanski
0ebf1811f3 Add scheduler flag --executor-proxy-logv 2015-07-31 11:27:52 +02: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
Mike Danese
51a7a38f67 Merge pull request #12020 from wojtek-t/move_to_storage
Move storage-related code to pkg/storage
2015-07-30 16:23:03 -07:00
Mike Danese
ed9975b031 Merge pull request #11230 from mesosphere/resource-accounting
Implement resource accounting for pods with the Mesos scheduler
2015-07-30 14:36:41 -07:00
Dr. Stefan Schimanski
a2fa41b73f Implement resource accounting for pods with the Mesos scheduler
This patch

- set limits (0.25 cpu, 64 MB) on containers which are not limited in pod spec
  (these are also passed to the kubelet such that it uses them for the docker
  run limits)
- sums up the container resource limits for cpu and memory inside a pod,
- compares the sums to the offered resources
- puts the sums into the Mesos TaskInfo such that Mesos does the accounting
  for the pod.
- parses the static pod spec and adds up the resources
- sets the executor resources to 0.25 cpu, 64 MB plus the static pod resources
- sets the cgroups in the kubelet for system containers, resource containers
  and docker to the one of the executor that Mesos assigned
- adds scheduler parameters --default-container-cpu-limit and
  --default-container-mem-limit.

The containers themselves are resource limited the Docker resource limit which
the kubelet applies when launching them.

Fixes mesosphere/kubernetes-mesos#68 and mesosphere/kubernetes-mesos#304
2015-07-30 21:18:04 +02:00
Wojciech Tyczynski
3cbbe72f9f Move etcd storage to pkg/storage/etcd 2015-07-30 15:42:06 +02:00
Brendan Burns
0c07b66226 Skip another flaky mesos test. 2015-07-28 15:18:21 -07:00
Mike Danese
c70d8d4c59 Merge pull request #11108 from mesosphere/fix-10795
Fix races in mesos scheduler plugin test
2015-07-24 09:35:29 -07:00
Wojciech Tyczynski
ee92aa3897 Prepare for extracting EtcdHelper interface 2015-07-23 09:37:39 +02:00
Dr. Stefan Schimanski
95c7dc8cb3 Re-enable mesos scheduler TestPlugin_LifeCycle test 2015-07-13 22:43:16 +02:00
Dr. Stefan Schimanski
143cf4b08d Use correct offer's hostname of test pods in mesos scheduler plugin tests 2015-07-13 22:41:23 +02:00
Dr. Stefan Schimanski
dd7345b25f Fix offer+pod races in mesos scheduler plugin test
- Offers were reused and led to unexpected declining by the scheduler because
  the reused offer did not get a new expiration time.
- Pod scheduling and offer creation was not synchronized. When scheduling
  happened after aging of offers, the first issue was trigger. Because
  the mesos driver DeclineOffer was not mocked this lead to a test error.
2015-07-13 22:41:23 +02:00
Dr. Stefan Schimanski
bf44f5df28 Add DeclineOffer return value to mock driver in mesos scheduler test
Depending on timing the mesos scheduler might call DeclineOffer:

The default ttl of an offer in mesos scheduler is 5sec. If the tests run longer,
the old, unused offers are declined, leading to an mock error.

Probably fixes GoogleCloudPlatform/kubernetes#10795
2015-07-13 22:41:23 +02:00
David Oppenheimer
089a703194 Disable TestPlugin_LifeCycle due to flakiness. 2015-07-10 22:14:16 -07:00
Fabio Yeon
241e87cf9b Merge pull request #9077 from mesosphere/staticPodsUpstream
Add static pod support to mesos scheduler and executor.
2015-06-15 15:20:33 -07: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
Dr. Stefan Schimanski
615e4f99a7 Fix mesos plugin-test race
ListWatch returned the internal list of the MockPodsListWatch object, leading
to a race. Fixes travis builds.

Fixes mesosphere/kubernetes-mesos#354
2015-06-15 08:18:57 +02:00
James DeFelice
6436c4a3bc additional comments as per code review 2015-06-11 13:47:14 +00:00
James DeFelice
ee309f3cff add TODOs 2015-06-11 12:41:50 +00:00
James DeFelice
f445ead2da use common mesos_ prefix for metrics 2015-06-11 12:40:12 +00:00
James DeFelice
932c58a497 Kubernetes Mesos integration
This commit includes the fundamental components of the Kubernetes Mesos
integration:

* Kubernetes-Mesos scheduler
* Kubernetes-Mesos executor
* Supporting libs

Dependencies and upstream changes are included in a separate commit for easy
review.

After this initial upstream, there'll be two PRs following.

* km (hypercube) and k8sm-controller-manager #9265
* Static pods support #9077

Fixes applied:

- Precise metrics subsystems definitions
  -  mesosphere/kubernetes-mesos#331
  - https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion_r31875232
  - https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion_r31875240
- Improve comments and add clarifications
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875208
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875226
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875227
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875228
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875239
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875243
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875234
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875256
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875255
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875251
- Clarify which Schedule function is actually called
  - Fixes https://github.com/GoogleCloudPlatform/kubernetes/pull/8882#discussion-diff-31875246
2015-06-10 20:58:39 +00:00