Commit Graph

3946 Commits (165add8692c276115805a4a14d619138253fcdd3)

Author SHA1 Message Date
k8s-merge-robot 8ead63f127 Merge pull request #28788 from deads2k/wire-authentication
Automatic merge from submit-queue

add tokenreviews endpoint to implement webhook

Wires up an API resource under `apis/authentication.k8s.io/v1beta1` to expose the webhook token authentication API as an API resource.  This allows one API server to use another for authentication and uses existing policy engines for the "authoritative" API server to controller access to the endpoint.

@cjcullen you wrote the initial type
2016-07-20 22:23:45 -07:00
Tim Hockin b829d4d4ef Merge pull request #26702 from joe2far/fix-broken-links
Fix broken warning image link in docs
2016-07-20 15:10:41 -07:00
deads2k 2c4a9f2e8d interesting changes to add tokenreviews endpoint to implement webhook 2016-07-20 15:11:56 -04:00
Avesh Agarwal f37d8fd60f Fix node e2e (kubelet metrics) by adding GinkgoRecover to a goroutine
to avoid panic
2016-07-20 13:26:56 -04:00
k8s-merge-robot d1fba05a1b Merge pull request #29020 from Random-Liu/add-namespace-controller-in-node-e2e
Automatic merge from submit-queue

Start namespace controller in node e2e

Fix https://github.com/kubernetes/kubernetes/issues/28320.
Based on https://github.com/kubernetes/kubernetes/pull/28807, only the last 2 commits are new.

Before this PR, there was no namespace controller running in node e2e test infrastructure. We can not enable the [`delete-namespace`](f2ddd60eb9/test/e2e/framework/test_context.go (L109)) flag in the test framework.
So after the test running, there will be running pod left on the test node. This seems to be acceptable in our test infrastructure because we create an new instance each time.

However, in 1.4 we may want to provide part of the test as node conformance test to the user, they definitely don't want the test to leave tons of pods on their node after test running.

Currently, there is no easy way to only start namespace controller in kube-controller-manager (confirmed with @mikedanese), so in this PR I started a "uncontainerized" one in the test infrastructure.

This PR:
* Started the namespace controller in the node e2e test infrastructure and enable the automatic namespace deletion.
* Change the privileged test to use framework (@yujuhong), so that all node e2e tests are using the framework and test pods will be cleaned up by namespace controller.

/cc @kubernetes/sig-node
2016-07-20 09:24:26 -07:00
k8s-merge-robot 3af6f472e4 Merge pull request #29250 from aveshagarwal/master-node-e2e-configmap-fixes
Automatic merge from submit-queue

Fix a typo
2016-07-20 07:52:23 -07:00
Avesh Agarwal 0c8b7de238 Fixes a typo 2016-07-19 22:40:48 -04:00
Marek Grabowski ec4b28791e Revert "Scheduler predicates tests should consider unschedulable" 2016-07-19 18:50:40 -07:00
Antoine Pelisse 321c410308 Revert "Switched watches in tests require ResourceVersion to be passed" 2016-07-19 13:28:57 -07:00
k8s-merge-robot 63bb2810d2 Merge pull request #28212 from soltysh/wait_pod
Automatic merge from submit-queue

Switched watches in tests require ResourceVersion to be passed

For testing the Watches are not sufficient in that it might miss the event of transitioning a Pod from one state to another which might happen before we start Watching events. To remedy this, I'm proposing to switch to Gets to always read the actual state of a Pod.

@smarterclayton this fixes https://github.com/openshift/origin/issues/9192 and hopefully all `gave up waiting for pod...` flakes 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-19 11:28:23 -07:00
Davanum Srinivas ee8507a5ae Use Infof/Warningf when appropriate
When we use a format string, we should use Infof/Warningf instead
of Info/Warning
2016-07-19 12:10:53 -04:00
k8s-merge-robot dca70739af Merge pull request #29110 from bboreham/clarify-healthcheck
Automatic merge from submit-queue

Don't repeat the program name in healthCheckCommand.String()

The name is in both `Path` and `Args[0]`, so start printing args at 1.
Also refactor to avoid an extra space character in the output.

I pondered whether `healthCheckCommand.String()` should check if the slice is empty, to avoid a panic, but it didn't check for `Cmd==nil` before.

Fixes #29107
2016-07-19 05:08:42 -07:00
k8s-merge-robot be8abdabf8 Merge pull request #27157 from soltysh/scheduledjob_test_2
Automatic merge from submit-queue

Scheduledjob test cont.

This continuation of #25737.

@erictune @caesarxuchao ptal

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-19 02:52:19 -07:00
k8s-merge-robot 8f8e6205e5 Merge pull request #28970 from intelsdi-x/sheduler_tests_should_consider_unschedulable
Automatic merge from submit-queue

Scheduler predicates tests should consider unschedulable

fixes https://github.com/kubernetes/kubernetes/issues/28857
2016-07-19 00:34:53 -07:00
k8s-merge-robot b3797b8a25 Merge pull request #28927 from Random-Liu/docker-validation-image-config-file
Automatic merge from submit-queue

Change the docker validation node e2e test to use gci-canary-test

This PR changed the continuous docker validation node e2e test to use the image config file introduced in https://github.com/kubernetes/kubernetes/pull/28708. @euank 

This PR also changed the gci image family from `gci-preview-test` to `gci-canary-test`. @wonderfly
2016-07-18 23:27:18 -07:00
k8s-merge-robot a049a97820 Merge pull request #28803 from lukaszo/ds
Automatic merge from submit-queue

Make Daemonset use GeneralPredicates

fixes: #21454 #22205
2016-07-18 22:12:14 -07:00
k8s-merge-robot 8d46d9b0c7 Merge pull request #28281 from nhlfr/authorize-return-bool
Automatic merge from submit-queue

Return (bool, error) in Authorizer.Authorize()

Before this change, Authorize() method was just returning an error, regardless of whether the user is unauthorized or whether there is some other unrelated error. Returning boolean with information about user authorization and error (which should be unrelated to the authorization) separately will make it easier to debug.

Fixes #27974
2016-07-18 21:40:26 -07:00
Random-Liu fa8bd1d034 Change privileged test to use framework, so that all namespaces
will be cleaned up by namespace controller.
2016-07-18 19:06:59 -07:00
Random-Liu ad7e3c3053 Start namespace controller in node e2e test. 2016-07-18 19:06:59 -07:00
k8s-merge-robot af0835c0f4 Merge pull request #28807 from Random-Liu/e2e-node-e2e-share-test
Automatic merge from submit-queue

Node E2E: Make it possible to share test between e2e and node e2e

This PR is part of the plan to improve node e2e test coverage.
* Now to improve test coverage, we have to copy test from e2e to node e2e.
* When adding a new test, we have to decide its destiny at the very beginning - whether it is a node e2e or e2e.

This PR makes it possible to share test between e2e and node e2e. 
By leveraging the mechanism of ginkgo, as long as we can import the test package in the test suite, the corresponding `Describe` will be run to initialize the global variable `_`, and the test will be inserted into the test suite. (See https://github.com/onsi/composition-ginkgo-example)

In the future, we just need to use the framework to write the test, and put the test into `test/e2e/node`, then it will be automatically shared by the 2 test suites.

This PR:
1) Refactored the framework to make it automatically differentiate e2e and node e2e (Mainly refactored the `PodClient` and the apiserver client initialization).
2) Created a new directory `test/e2e/node` and make it shared by e2e and node e2e.
3) Moved `container_probe.go` into `test/e2e/node` to verify the change.

@kubernetes/sig-node 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-18 18:52:56 -07:00
Random-Liu e40e82bd5c Make it possible to share test between e2e and node e2e,
and make container probing test shared to validate.
2016-07-18 14:05:08 -07:00
k8s-merge-robot 92f6b0c889 Merge pull request #29130 from caesarxuchao/fix-29065
Automatic merge from submit-queue

[flake fix] Wait for the podInformer to observe the pod

Fix #29065 

The problem is that the rc manager hasn't observed pod1, so it creates another pod and scales down, pod1 might get deleted. To fix it, wait for the podInformer to observe the pod before running the rc manager.

Marked as P0 as it's fixing a P0 flake.
2016-07-18 13:54:41 -07:00
k8s-merge-robot d08a722647 Merge pull request #28802 from fejta/service
Automatic merge from submit-queue

Drop support for --gce-service-account, require activated creds

Now that `gcloud auth activate-service-account` is in remove support in the test framework for default service accounts -- testing GCE/GKE now requires prior gcloud activation.
2016-07-18 12:08:03 -07:00
Maciej Szulik 647124bf5e ScheduledJob client and storage tests 2016-07-18 21:01:21 +02:00
Chao Xu 519b57484c wait for the podInformer to observe the pod creation in the rc's TestAdoption test 2016-07-18 11:26:58 -07:00
Marek Grabowski 77037722a3 Merge pull request #29111 from gmarek/maxpods
Fix the fix - no type-checking...
2016-07-18 16:30:18 +02:00
k8s-merge-robot fa174bcdaf Merge pull request #29042 from dims/fixup-imports
Automatic merge from submit-queue

Use Go canonical import paths

Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-18 07:23:38 -07:00
gmarek 9c49e87aa4 Fix the fix - no type-checking... 2016-07-18 16:02:47 +02:00
Bryan Boreham 0991c04be1 Don't repeat the program name in healthCheckCommand.String()
The name is in both 'Path' and 'Args[0]', so start printing args at 1.
Also refactor to avoid an extra space character in the output.
2016-07-18 14:55:39 +01:00
Pawel Skrzynski 1d7ee42ff0 Scheduler predicates tests shouldnt use unschedulable nodes to count capacity 2016-07-18 15:51:26 +02:00
Michal Rostecki fa0dd46ab7 Return (bool, error) in Authorizer.Authorize()
Before this change, Authorize() method was just returning an error,
regardless of whether the user is unauthorized or whether there
is some other unrelated error. Returning boolean with information
about user authorization and error (which should be unrelated to
the authorization) separately will make it easier to debug.

Fixes #27974
2016-07-18 12:06:54 +02:00
Maciej Szulik 83297a0617 Rework pod waiting mechanism in e2e tests to accept pod and watch based
on its ResourceVersion to make sure we catch all the events.
2016-07-18 12:06:36 +02:00
Maciej Szulik 4b0c0bd924 Shorten initial pod start time to 30s in e2e, since 4566 is closed 2016-07-18 12:03:32 +02:00
k8s-merge-robot 524c5b5361 Merge pull request #29005 from gmarek/maxpods
Automatic merge from submit-queue

Fix verify results in MaxPods

As we already have "unschedulable" PodCondition we can stop relying on Events, which should make the tests more reliable.

cc @davidopp
2016-07-18 02:54:44 -07:00
k8s-merge-robot 156205523d Merge pull request #28852 from deads2k/use-user
Automatic merge from submit-queue

authorize based on user.Info

Update the `authorization.Attributes` to use the `user.Info` instead of discrete getters for each piece.

@kubernetes/sig-auth
2016-07-16 20:12:43 -07:00
Davanum Srinivas 2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
k8s-merge-robot 51629f50b7 Merge pull request #29031 from saad-ali/waitForDetachOnPDTests
Automatic merge from submit-queue

Make PD E2E Tests Wait for Detach to Prevent Kernel Errors

Fixes https://github.com/kubernetes/kubernetes/issues/28854
2016-07-16 10:01:15 -07:00
k8s-merge-robot 5b027a5861 Merge pull request #28976 from coufon/debug_mirror_pod_test
Automatic merge from submit-queue

Fix a bug in mirror pod node e2e test.

Fixed a bug in test/e2e_node/mirror_pod_test.go. The function 'checkMirrorPodDisappear' returns nil even when the pod does not disappear. It should return a non-nil error. 

@Random-Liu
2016-07-15 17:39:16 -07:00
saadali ce0e976c7c Wait for PD detach on PD E2E to prevent kernel err 2016-07-15 14:31:45 -07:00
k8s-merge-robot 36c07cc554 Merge pull request #27961 from maisem/os-distribution
Automatic merge from submit-queue

Splitting OS_DISTRIBUTION into NODE_OS_DISTRIBUTION and MASTER_OS_DISTRIBUTION

fixes #26183 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-15 14:11:47 -07:00
Maisem Ali 97f3f80833 Splitting OS_DISTRIBUTION into NODE_OS_DISTRIBUTION and
MASTER_OS_DISTRIBUTION.
2016-07-15 12:02:31 -07:00
Buddha Prakash 5000e74664 Inject top level QoS cgroup creation in the Kubelet 2016-07-15 10:02:22 -07:00
gmarek 47d51e5138 Fix verify results in MaxPods 2016-07-15 16:18:22 +02:00
Marek Grabowski d1ff1b9726 Merge pull request #29003 from gmarek/taint
Fix the fix for taint scheduler predicate test
2016-07-15 16:15:02 +02:00
gmarek e936d57266 Fix the fix for taint scheduler predicate test 2016-07-15 16:13:13 +02:00
k8s-merge-robot 186c0c7b14 Merge pull request #29000 from gmarek/taint
Automatic merge from submit-queue

Defer taint removal in SchedulerPredictes

cc @davidopp @kevin-wangzefeng
2016-07-15 06:23:01 -07:00
gmarek 0129e25f8e Defer taint removal in SchedulerPredictes 2016-07-15 14:01:32 +02:00
k8s-merge-robot e7e434b10d Merge pull request #27600 from caesarxuchao/rc-gc
Automatic merge from submit-queue

[GarbageCollector] Let the RC manager set/remove ControllerRef

What's done:
* RC manager sets Controller Ref when creating new pods
* RC manager sets Controller Ref when adopting pods with matching labels but having no controller
* RC manager clears Controller Ref when pod labels change
* RC manager clears pods' Controller Ref when rc's selector changes
* RC manager stops adoption/creating/deleting pods when rc's DeletionTimestamp is set
* RC manager bumps up ObservedGeneration: The [original code](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller_utils.go#L36) will do this.
* Integration tests:
  * verifies that changing RC's selector or Pod's Labels triggers adoption/abandoning
* e2e tests (separated to #27151):
  * verifies GC deletes the pods created by RC if DeleteOptions.OrphanDependents=false, and orphans the pods if DeleteOptions.OrphanDependents=true.

TODO:

- [x] we need to be able to select Pods that have a specific ControllerRef. Then each time we sync the RC, we will iterate through all the Pods that has a controllerRef pointing the RC, event if the labels of the Pod doesn't match the selector of RC anymore. This will prevent a Pod from stuck with a stale controllerRef, which could be caused by the race between abandoner (the goroutine that removes controllerRef) and worker the goroutine that add controllerRef to pods).
- [ ] use controllerRef instead of calling `getPodController`. This might be carried out by the control-plane team.
- [ ] according to the controllerRef proposal (#25256): "For debugging purposes we want to add an adoptionTime annotation prefixed with kubernetes.io/ which will keep the time of last controller ownership transfer." This might be carried out by the control-plane team.

cc @lavalamp @gmarek
2016-07-15 04:40:40 -07:00
joe2far 88b6d4ad36 Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
Wojciech Tyczynski f71244975d Revert "[garbage collector] add e2e test" 2016-07-15 10:10:02 +02:00