Commit Graph

41141 Commits (1e48fd18cbc57a3c9b95d6e97542b21972b65cda)

Author SHA1 Message Date
wlan0 1e48fd18cb add cloud-controller-manager as the first step in breaking controller-manager 2016-12-22 14:37:15 -08:00
wlan0 731616e0b2 start breaking up controller manager into two pieces
Addresses: kubernetes/features#88

This commit starts breaking the controller manager into two pieces, namely,

1. cloudprovider dependent piece
2. coudprovider agnostic piece

the controller manager has the following control loops -

   - nodeController
   - volumeController
   - routeController
   - serviceController
   - replicationController
   - endpointController
   - resourcequotacontroller
   - namespacecontroller
   - deploymentController etc..

among the above controller loops,

   - nodeController
   - volumeController
   - routeController
   - serviceController

are cloud provider dependent. As kubernetes has evolved tremendously, it has become difficult
for different cloudproviders (currently 8), to make changes and iterate quickly. Moreover, the
cloudproviders are constrained by the kubernetes build/release lifecycle. This commit is the first
step in moving towards a kubernetes code base where cloud providers specific code will move out of
the core repository, and will be maintained by the cloud providers themselves.

Finally, along with the controller-manager, the kubelet also has cloud-provider specific code, and that will
be addressed in a different commit/issue.
2016-12-22 14:37:14 -08:00
Eric Paris 9ef610b672 Merge pull request #39165 from deads2k/fed-18-tolerate-missingsar
tolerate missing subjectaccessreview in e2e
2016-12-22 14:53:43 -05:00
deads2k 2444e0f270 tolerate missing subjectaccessreview in e2e 2016-12-22 14:03:57 -05:00
Eric Paris 89a506a9b5 Merge pull request #39154 from deads2k/rbac-34-add-gke-user
add kubekins as cluster-admin
2016-12-22 11:24:13 -05:00
Kubernetes Submit Queue fc41bc6ec6 Merge pull request #39091 from deads2k/api-54-move-authn
Automatic merge from submit-queue

remove unneeded authenticator dependencies from genericapiserver

Refactors the authenticator options to remove unneeded dependencies.

@sttts
2016-12-22 06:48:24 -08:00
deads2k 7f2d33dfdf add kubekins as cluster-admin 2016-12-22 09:32:00 -05:00
Kubernetes Submit Queue 38882c3727 Merge pull request #37537 from xilabao/extend-err-info-when-authorize-failed
Automatic merge from submit-queue

extend err info when authorize failed

if rolebinding related to a non-existent role,  kubectl get po will return a error.

old result:
```shell
$ kubectl --token=/test get po
Error from server (InternalError): an error on the server ("Internal Server Error: \"/api/v1/namespaces/default/pods\"") has prevented the request from succeeding (get pods)
```
new result (output the reason):
```shell
$ kubectl --token=hi/test get po
Error from server (Forbidden): User "hi" cannot list pods in the namespace "default".: "role.rbac.authorization.k8s.io \"admin-resource-role\" not found" (get pods)
```

test.yaml
```
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1alpha1
metadata:
  name:  admin-resource-binding
  namespace: default
subjects:
  - kind: Group
    name: test
roleRef:
  kind: Role
  name: admin-resource-role
```
2016-12-22 06:10:37 -08:00
Kubernetes Submit Queue 8e7154502a Merge pull request #39094 from deads2k/rbac-32-finish-e2es
Automatic merge from submit-queue (batch tested with PRs 39146, 39094)

cleanup last e2e authorization failures

Builds on https://github.com/kubernetes/kubernetes/pull/39080.  This adds rbac role bindings during e2e tests for test that use SA permissions to loopback to the API server.

Assigned to me until its ready.
2016-12-22 05:30:19 -08:00
Kubernetes Submit Queue 0e9cb8f86b Merge pull request #39146 from Crassirostris/make-fluentd-critical
Automatic merge from submit-queue

Make fluentd pods critical

Related to https://github.com/kubernetes/kubernetes/issues/38322

Make fluentd critical so it will be evicted with less probability.

CC @piosz @fgrzadkowski
2016-12-22 05:17:25 -08:00
deads2k ab1b77673f decouple genericapiserver from non-generic authenticator 2016-12-22 07:48:08 -05:00
deads2k a3564c0aa8 start kubeapiserver package for sharing between kubeapiserver and federation 2016-12-22 07:43:42 -05:00
Kubernetes Submit Queue a30b6e2d16 Merge pull request #38622 from Crassirostris/fluentd-liveness-probe
Automatic merge from submit-queue

Add liveness probe for fluentd-gcp

It's known that fluentd can hung up during execution until manual restart.

Liveness probe fixes this problem in the following way: if no buffer chunks were sent or created in the last 5 minutes, fluentd is hanging and should be restarted.

CC @piosz
2016-12-22 02:43:28 -08:00
Kubernetes Submit Queue 9a0a724313 Merge pull request #39067 from xilabao/fix-newconfig-file-in-test-cmd
Automatic merge from submit-queue (batch tested with PRs 39076, 39068, 39067)

fix the newconfig.yaml in test-cmd.sh

fix #39066
2016-12-22 00:54:22 -08:00
Kubernetes Submit Queue ab91500f15 Merge pull request #39068 from NickrenREN/imageManager-start
Automatic merge from submit-queue (batch tested with PRs 39076, 39068)

fix image manager Start() function return
2016-12-22 00:27:30 -08:00
Kubernetes Submit Queue ec897a16ab Merge pull request #39076 from NickrenREN/kubelet-volume-test
Automatic merge from submit-queue

add unit test for ListVolumesForPod

the result  of function ListVolumesForPod() checking
2016-12-22 00:27:18 -08:00
xilabao 2a77353164 extend err info when authorize failed 2016-12-22 14:47:56 +08:00
Kubernetes Submit Queue 4ee51fcc2d Merge pull request #39107 from spxtr/fix-kubeadmtest
Automatic merge from submit-queue

Fix kubeadm test in bazel.
2016-12-21 21:53:32 -08:00
Brian Grant 41e6357a07 Merge pull request #39123 from michelleN/docs-proposals-stubs
replace contents of docs/proposals with stubs
2016-12-21 21:31:55 -08:00
Brian Grant f0125ef1b1 Merge pull request #39120 from michelleN/docs-devel-stubs
replace contents of docs/devel with stubs
2016-12-21 21:24:40 -08:00
Kubernetes Submit Queue cba9c7d0ae Merge pull request #36004 from caesarxuchao/revert-hide-new-versions
Automatic merge from submit-queue (batch tested with PRs 39114, 36004)

Revert #32751 and #35840 in 1.6

Revert backward compatibility hacks (#36004, #32751) that are no-longer needed in release 1.6

@kubernetes/sig-api-machinery @liggitt
2016-12-21 18:51:31 -08:00
Kubernetes Submit Queue 66152b9066 Merge pull request #39114 from dchen1107/kube-proxy
Automatic merge from submit-queue (batch tested with PRs 39114, 36004)

assign -998 as the oom_score_adj for critical pods (e.g. kube-proxy)

I also validated this with a testing cluster: Fresh built cluster, and kill kube-proxy pod, etc. 

```
root      2660  2643  0 Dec21 ?        00:00:00 /bin/sh -c kube-proxy --master=https://104.198.79.64 --kubeconfig=/var/lib/kube-proxy/kubeconfig  --cluster-cidr=10.180.0.0/14 --resource-container="" --v=4   1>>/var/log/kube-proxy.log 2>&1
root      2667  2660  0 Dec21 ?        00:03:14 kube-proxy --master=https://104.198.79.64 --kubeconfig=/var/lib/kube-proxy/kubeconfig --cluster-cidr=10.180.0.0/14 --resource-container= --v=4
# cat /proc/2660/oom_score_adj 
-998
# cat /proc/2667/oom_score_adj 
-998
```

In this pr, I also include a small fix for import cycle issue. The right fix should remove the dependency on qos package from pkg/apis/componentconfig/v1alpha1. But since we plan to cherrypick this pr to both 1.5 and 1.4 (possible), I want touch the source as little as possible. 

Partial fix: #38322
2016-12-21 18:51:28 -08:00
Michelle Noorali ed10c2332f replace contents of docs/proposals with stubs 2016-12-21 21:15:09 -05:00
Kubernetes Submit Queue f87edaacac Merge pull request #39111 from spxtr/makeitwork
Automatic merge from submit-queue (batch tested with PRs 39115, 39111)

Make one of the go2idl unit tests pass in a sandbox.

Not sure how important this is.
2016-12-21 17:55:28 -08:00
Kubernetes Submit Queue ee8c14ae6b Merge pull request #39115 from Random-Liu/no-sudo-when-untar
Automatic merge from submit-queue (batch tested with PRs 39115, 39111)

Node E2E: Do not use sudo when untar node e2e tar ball.

`sudo tar -x` will [extract files with original file ownership](http://unix.stackexchange.com/questions/264464/sudo-tar-changes-extracted-files-ownership-to-unknown-user), which is not what we want.
This also causes problem to https://github.com/kubernetes/test-infra/issues/1348.

Because in https://github.com/kubernetes/test-infra/issues/1348 we move node e2e runner into a docker container. Inside the container, the user is `root` by default, so the tar ball has `root` ownership.

If we untar the tar ball with `sudo`, it will recover the `root` ownership and the following operation may not have enough permission.

No matter what, we should not recover the file ownership inside the tar ball because:
* We don't care it.
* It may even not exist on the host.

@krzyzacy
2016-12-21 17:55:26 -08:00
Michelle Noorali bc8f7e2c59 replace contents of docs/devel with stubs 2016-12-21 20:26:48 -05:00
Dawn Chen b03fca9783 Fixed an import cycle issue:
import cycle not allowed in test
package k8s.io/kubernetes/pkg/client/restclient (test)
	imports k8s.io/kubernetes/pkg/api/testapi
	imports k8s.io/kubernetes/pkg/apis/componentconfig/install
	imports k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1
	imports k8s.io/kubernetes/pkg/kubelet/qos
	imports k8s.io/kubernetes/pkg/kubelet/pod
	imports k8s.io/kubernetes/pkg/client/clientset_generated/clientset
	imports k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/apps/v1beta1
	imports k8s.io/kubernetes/pkg/client/restclient
2016-12-21 16:34:24 -08:00
Random-Liu a719a7d7e7 Do not use sudo when untar node e2e tar ball. 2016-12-21 16:28:33 -08:00
Dawn Chen 53931fbce4 assign -998 as the oom_score_adj for critical pods. 2016-12-21 16:07:49 -08:00
Joe Finney 8ce98ba3d4 Make one of the go2idl unit tests pass in a sandbox. 2016-12-21 16:01:11 -08:00
Kubernetes Submit Queue 4495af3822 Merge pull request #39098 from ixdy/verify
Automatic merge from submit-queue

Disable verify-test-owners.sh and make `go vet` more obvious

**What this PR does / why we need it**: I and others keep seeing the verify-test-owners.sh failure and think that's why the PR failed checks. Rather than making verify-test-owners.sh pass with errors, just skip it entirely.

Also print out the `go vet` command we're running, to make that failure more obvious.

cc @k82cn @saad-ali 

**Release note**:

```release-note
NONE
```
2016-12-21 15:43:58 -08:00
Chao Xu 83752406d8 revert backward compatibility hacks (36004, 32751) that are no-longer needed in 1.6 2016-12-21 15:34:08 -08:00
Joe Finney ecaeab60e3 Fix kubeadm test in bazel. 2016-12-21 15:15:00 -08:00
deads2k d9a4cfc09f fix e2e tests which use SAs for permissions 2016-12-21 16:25:32 -05:00
deads2k 19391164b9 add additional e2e rbac bindings to match existing users 2016-12-21 16:24:45 -05:00
Kubernetes Submit Queue 20003bdccb Merge pull request #38626 from deads2k/rbac-21-e2e-enable
Automatic merge from submit-queue

Enforce the RBAC authorizer in e2e for controllers and proxy

Turns on RBAC and updates the GCE controllers to use discrete service accounts.

Opening pull to start completing roles.
2016-12-21 12:29:29 -08:00
Jeff Grafton 05c09b1aa3 Disable verify-test-owners.sh and make `go vet` more obvious 2016-12-21 11:44:04 -08:00
Kubernetes Submit Queue 1955ed614f Merge pull request #39074 from Random-Liu/node-e2e-set-user
Automatic merge from submit-queue

Node E2E: Set user with `--ssh-user` flag when running remote node e2e.

This PR unblocks https://github.com/kubernetes/test-infra/issues/1348.

In our test environment, we must login test instance as user `jenkins` because of the service account. Node e2e is always using the default user on the host, which works fine till now, because it is always run as `jenkins` in our test environment.

However, now we moved the test runner into a docker container, inside the container user is `root` by default, which will cause error:
```
Permission denied (publickey)
```

This PR added a flag `--ssh-user` to explicitly specify the user used to ssh into test instance. The dockerized test runner can set user to `jenkins` with this flag.

@krzyzacy  @ixdy
2016-12-21 11:21:09 -08:00
Mik Vyatskov 4a7b3d7528 Make fluentd pods critical 2016-12-21 19:56:46 +01:00
deads2k 17f600d671 rbac deny output for e2e tests 2016-12-21 13:51:50 -05:00
deads2k 2e2a2e4b94 update gce for RBAC, controllers, proxy, kubelet (p1) 2016-12-21 13:51:49 -05:00
Kubernetes Submit Queue 744876d13f Merge pull request #38798 from NickrenREN/nodecontroller-status
Automatic merge from submit-queue

delete continue in monitorNodeStatus
2016-12-21 10:35:25 -08:00
Kubernetes Submit Queue ad47a181ee Merge pull request #38986 from ncdc/fix-daemonset-controller-cache-mutation
Automatic merge from submit-queue

Fix DaemonSet cache mutation

**What this PR does / why we need it**: stops the DaemonSetController from mutating the DaemonSet shared informer cache

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #38985

cc @deads2k @mikedanese @lavalamp @smarterclayton
2016-12-21 09:09:18 -08:00
Mik Vyatskov a3940ba874 Add liveness probe for fluentd-gcp 2016-12-21 17:32:28 +01:00
Kubernetes Submit Queue 60a34fda0a Merge pull request #38673 from resouer/pod-qos-shim
Automatic merge from submit-queue (batch tested with PRs 39079, 38991, 38673)

Support systemd based pod qos in CRI dockershim

This PR makes pod level QoS works for CRI dockershim for systemd based cgroups. And will also fix #36807
- [x] Add cgroupDriver to dockerService and use docker info api to set value for it
- [x] Add a NOTE that detection only works for docker 1.11+, see [CHANGE LOG](https://github.com/docker/docker/blob/master/CHANGELOG.md#1110-2016-04-13)
- [x] Generate cgroupParent in syntax expected by cgroupDriver
- [x] Set cgroupParent to hostConfig for both sandbox and user container
- [x] Check if kubelet conflicts with cgroup driver of docker

cc @derekwaynecarr @vishh
2016-12-21 08:01:45 -08:00
Kubernetes Submit Queue f8d5faf0b4 Merge pull request #38991 from deads2k/cli-19-rolebinding
Automatic merge from submit-queue (batch tested with PRs 39079, 38991, 38673)

add create rolebinding

Add `kubectl create rolebinding` command.

@kubernetes/sig-cli @kubernetes/kubectl
2016-12-21 08:01:43 -08:00
Kubernetes Submit Queue ecd251b2b7 Merge pull request #39079 from jszczepkowski/ha-validation-fix
Automatic merge from submit-queue (batch tested with PRs 39061, 39079)

Fixed cluster validation: added -q flag to gcloud.

Fixed cluster validation in multi-zone mode: added -q flag to gcloud.
2016-12-21 07:26:42 -08:00
Kubernetes Submit Queue 45d2449f13 Merge pull request #39061 from xulike666/fix-typo-assistant
Automatic merge from submit-queue

Fix typo for federation/*

**What this PR does / why we need it**:
 Increase code readability for this new member in v1.5

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 

**Special notes for your reviewer**: 
Could we develop a typo-fix bot along with a k8s terminology dictionary ? 

**Release note**:

```release-note
```
2016-12-21 07:07:29 -08:00
Kubernetes Submit Queue 0483548a93 Merge pull request #39077 from lukaszo/readyvalidation
Automatic merge from submit-queue

Validate numberReady in DaemonSet status

In #32781 numberReady was introduced but it wasn't validated.

@kargakis @mikedanese it's a very small change. Please take a look.
2016-12-21 06:19:54 -08:00
deads2k 8b25c21e79 add create rolebinding 2016-12-21 09:03:27 -05:00