Commit Graph

3302 Commits (c4bec1585fe9c31303c928c11ac45e380d2eaf77)

Author SHA1 Message Date
k8s-merge-robot 086ace44b8 Merge pull request #25548 from jlowdermilk/lower-ginkgo-parallelism
Automatic merge from submit-queue

Lower ginkgo parallelism and move same image rolling-update test out of flaky

Tentative fix for #25140.
2016-05-22 18:43:57 -07:00
k8s-merge-robot f58c587aaa Merge pull request #25542 from brendandburns/3rdpartye2e
Automatic merge from submit-queue

Add a basic e2e test for 3rd party objects.

Depends on https://github.com/kubernetes/kubernetes/pull/25365

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 17:42:58 -07:00
k8s-merge-robot 52707ac7ee Merge pull request #24884 from vulpecula/test-local-ssd
Automatic merge from submit-queue

E2e tests for GKE cluster with local SSD.

The test cover node pool with local SSD creation and scheduling a pod that writes and reads from it. Pod access local disk via hostPath. 

```release-note
E2e tests for GKE cluster with local SSD.
-OR-
```
2016-05-22 13:03:48 -07:00
k8s-merge-robot 6224f44717 Merge pull request #25771 from sjpotter/fs-info
Automatic merge from submit-queue

kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces.

basically

1) cadvisor struct will know what runtime the kubelet is, passed in via additional argument to New()

2) rename cadvisor wrapper function to DockerImagesFsInfo() to ImagesFsInfo() and have linux implementation choose a label based on the runtime inside the cadvisor struct

2a) mock/fake/unsupported modified to take the same additional argument in New()

3) kubelet's wrapper for the cadvisor wrapper is renamed in parallel

4) make all tests use new interface
2016-05-22 03:08:59 -07:00
k8s-merge-robot 346f965871 Merge pull request #25694 from cjcullen/authncache
Automatic merge from submit-queue

Cache Webhook Authentication responses

Add a simple LRU cache w/ 2 minute TTL to the webhook authenticator.

Kubectl is a little spammy, w/ >= 4 API requests per command. This also prevents a single unauthenticated user from being able to DOS the remote authenticator.
2016-05-21 10:48:38 -07:00
k8s-merge-robot eb733cbf45 Merge pull request #25285 from ingvagabund/extend-secrets-volumes-with-path-control
Automatic merge from submit-queue

Extend secrets volumes with path control

As per [1] this PR extends secrets mapped into volume with:

* key-to-path mapping the same way as is for configmap. E.g.

```
{
 "apiVersion": "v1",
 "kind": "Pod",
  "metadata": {
    "name": "mypod",
    "namespace": "default"
  },
  "spec": {
    "containers": [{
      "name": "mypod",
      "image": "redis",
      "volumeMounts": [{
        "name": "foo",
        "mountPath": "/etc/foo",
        "readOnly": true
      }]
    }],
    "volumes": [{
      "name": "foo",
      "secret": {
        "secretName": "mysecret",
        "items": [{
          "key": "username",
          "path": "my-username"
        }]
      }
    }]
  }
}
```

Here the ``spec.volumes[0].secret.items`` added changing original target ``/etc/foo/username`` to ``/etc/foo/my-username``.

* secondly, refactoring ``pkg/volumes/secrets/secrets.go`` volume plugin to use ``AtomicWritter`` to project a secret into file.

[1] https://github.com/kubernetes/kubernetes/blob/master/docs/design/configmap.md#changes-to-secret
2016-05-21 03:55:13 -07:00
k8s-merge-robot e484f142d6 Merge pull request #25216 from rootfs/pv-integration-test
Automatic merge from submit-queue

Add PV test to persistent volume integration test

This is a follow-up to #25120

@kubernetes/sig-storage
2016-05-21 01:34:06 -07:00
k8s-merge-robot 45514f729e Merge pull request #25915 from ncdc/e2e-fix
Automatic merge from submit-queue

Check status of framework.CheckPodsRunningReady

Check status of framework.CheckPodsRunningReady and fail test if it's false, instead of silently
ignoring the failure.

This doesn't fix whatever is causing the pod not to start in #17523 but it does fail the test as soon as it detects the pod didn't start, instead of allowing the testing to proceed.

cc @kubernetes/sig-testing @spxtr @ixdy @kubernetes/rh-cluster-infra
2016-05-20 19:52:46 -07:00
k8s-merge-robot 70cd282f11 Merge pull request #25944 from pwittrock/fix-24905
Automatic merge from submit-queue

Pre-pull images in node e2e-tests.  Possible resolution for #24905



[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-20 18:50:11 -07:00
Andy Goldstein f83a286fbc Check status of framework.CheckPodsRunningReady
Check status of framework.CheckPodsRunningReady and fail test if it's false, instead of silently
ignoring the failure.
2016-05-20 20:21:11 -04:00
Mike Danese 11105355fc Merge pull request #25916 from pwittrock/node-e2e-images
Update node e2e containervm image to not start kubelet as part of ini…
2016-05-20 16:41:28 -07:00
Mike Danese c715823cbc Merge pull request #25776 from krousey/proxy_exec
Removing indirection from proxy exec test
2016-05-20 16:41:11 -07:00
Mike Danese c2c030b6d8 fix kubemark 2016-05-20 15:42:40 -07:00
Kris f4cf45ee94 Removing indirection from proxy exec test
I removed the netexec and goproxy pods from the proxy exec test. Instead
it now runs kubectl locally and the proxy is running in-process. Since
Go won't proxy for localhost requests, this test cannot pass if the API
server is local. However it was already disabled for local clusters.
2016-05-20 09:16:23 -07:00
Phillip Wittrock e4b40fca9a Update node e2e containervm image to not start kubelet as part of init. Update the node e2e host setup.sh to also do this when creating new images. 2016-05-20 14:44:38 +00:00
k8s-merge-robot 27512dd0a1 Merge pull request #25190 from ingvagabund/e2e-scheduler-predicates-validate-resource-limits
Automatic merge from submit-queue

SchedulerPredicates e2e test: be more verbose about requested resource

When ``validates resource limits of pods that are allowed to run [Conformance]`` test is run, logs could give more information about requested resource and say it is for cpu and in mili units.

cpu is stored in m units here:

```
nodeToCapacityMap[node.Name] = capacity.MilliValue()
```
2016-05-20 05:31:38 -07:00
k8s-merge-robot 97a7d009ad Merge pull request #25708 from ixdy/node-e2e-test-timeout
Automatic merge from submit-queue

Add a timeout to the node e2e Ginkgo test runner

Also add a few debugging statements to indicate progress.

Should help prevent #25639, since we'll timeout tests before Jenkins times out the build.
2016-05-20 04:42:16 -07:00
Filip Grzadkowski afea2e2f95 Merge pull request #25780 from andyzheng0831/test-case
e2e: simple pod HTTP proxy test should use amd64 kubectl for GCI
2016-05-20 10:27:17 +02:00
Filip Grzadkowski d3522dd8d2 Merge pull request #24128 from smarterclayton/dns_test_change
Allow cluster DNS e2e verification to be overriden
2016-05-20 10:26:13 +02:00
Phillip Wittrock 839f4f8dd2 Pre-pull images in node e2e-tests. Possible resolution for #24905 2016-05-20 05:22:30 +00:00
Daniel Smith 785f1c31a6 emergency gc test fix--be extra safe 2016-05-19 22:04:50 -07:00
Daniel Smith 8e7b7a2f9a emergency gc test fix 2016-05-19 21:44:31 -07:00
Daniel Smith 5448400b1c Merge pull request #25243 from smarterclayton/explore_quantity
Provide an int64 version of Quantity that is much faster
2016-05-19 16:56:48 -07:00
k8s-merge-robot ef952efb82 Merge pull request #25800 from ingvagabund/mounttest-use-stats-instead-of-lstat-to-read-symlinks
Automatic merge from submit-queue

gcr.io/google_containers/mounttest: use Stat instead of Lstat

The current ``mt.go`` implementation use ``os.Lstat`` instead of ``os.Stat`` which does not read symlinks. Since implementation of ``AtomicWriter`` (which relies on existence of symlinks), the updated implementation of secret volume using the ``AtomicWriter`` can not be tested for secret file permission. Replacing ``Lstat`` with ``Stat`` allows to read symlinks and return permissions of target file. The change affects ``--file_perm`` and ``--file_mode`` options only.

``mounttest`` image is currently used by:

##### downwardapi_volume.go
- e2e: Downward API volume
- version: 0.6
- args: --file_content, --break_on_expected_content, --retry_time, --file_content_in_loop

##### empty_dir.go
- e2e: EmptyDir volumes
- version: 0.5
- args: --file_perm, --file_perm, ...

##### host_path.go
- e2e: hostPath
- version: 0.6
- args: --file_mode, ...

##### configmap.go
- e2e: ConfigMap
- version: 0.6
- args: --file_content, --break_on_expected_content, --retry_time, --file_content_in_loop

##### service_accounts.go
- e2e: ServiceAccounts
- version: 0.2
- args: --file_content

Some of the e2e tests use at least one of the affected options. Locally, I have updated all version of mounttest images to 0.7. All e2e tests pass with the new image.
2016-05-19 13:15:24 -07:00
Shaya Potter ae08ef38d7 kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces 2016-05-19 11:13:47 -07:00
Danka Niedziałkowska e676fc55f1 Update gke_local_ssd.go 2016-05-19 11:04:23 -07:00
Brendan Burns 014622db8f address comments. 2016-05-19 10:38:13 -07:00
Brendan Burns 7e43205110 Add an e2e test for third party resources (disabled by default) 2016-05-19 10:15:08 -07:00
Huamin Chen cc45f48bb7 persistent volume integration tests:
- create 100 PV, ranging from 0 to 99GB; create 1 PVC to claim 50GB. Verify only one PV is bound and rest are pending
- create 2 PVs with different access modes (RWM, RWO), 1 PVC to claim RWM PV. Verify RWM is bound and RWO is not bound.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-19 13:22:59 +00:00
Wojciech Tyczynski f204a9f399 Merge pull request #25783 from zhouhaibing089/indexer-fix
Fix the Store to be Indexer in test/component/scheduler/perf
2016-05-19 14:55:24 +02:00
Clayton Coleman 5e4308f91d
Update use of Quantity in other classes 2016-05-19 08:41:43 -04:00
Jan Chaloupka 6bfc80166a e2e test: [k8s.io] SchedulerPredicates [Serial] validates resource limits of pods that are allowed to run [Conformance]
Be more verbose about requested resource and say it is cpu in mili units
2016-05-19 12:25:41 +02:00
k8s-merge-robot c63ac4e664 Merge pull request #24331 from jsafrane/devel/refactor-binder
Automatic merge from submit-queue

Refactor persistent volume controller

Here is complete persistent controller as designed in https://github.com/pmorie/pv-haxxz/blob/master/controller.go

It's feature complete and compatible with current binder/recycler/provisioner. No new features, it *should* be much more stable and predictable.

Testing
--
The unit test framework is quite complicated, still it was necessary to reach reasonable coverage (78% in `persistentvolume_controller.go`). The untested part are error cases, which are quite hard to test in reasonable way - sure, I can inject a VersionConflictError on any object update and check the error bubbles up to appropriate places, but the real test would be to run `syncClaim`/`syncVolume` again and check it recovers appropriately from the error in the next periodic sync. That's the hard part.

Organization
---
The PR starts with `rm -rf kubernetes/pkg/controller/persistentvolume`. I find it easier to read when I see only the new controller without old pieces scattered around.
[`types.go` from the old controller is reused to speed up matching a bit, the code looks solid and has 95% unit test coverage].

I tried to split the PR into smaller patches, let me know what you think.

~~TODO~~
--

* ~~Missing: provisioning, recycling~~.
* ~~Fix integration tests~~
* ~~Fix e2e tests~~

@kubernetes/sig-storage

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24331)
<!-- Reviewable:end -->

Fixes #15632
2016-05-19 03:06:46 -07:00
Danka Niedziałkowska bba211e04b Test for GKE local SSD 2016-05-18 18:11:22 -07:00
Daniel Smith 0bda969cd5 Merge pull request #25261 from jayunit100/readySched
Support GetReadySchedulable pods for all node selecting tests.
2016-05-18 17:24:09 -07:00
Daniel Smith c4889dd826 Merge pull request #25781 from pwittrock/issue-25657
Clean up kubectl test to use the blessed e2e test redis configs and t…
2016-05-18 17:22:54 -07:00
CJ Cullen 57f96a932f Add expiration LRU cache for webhook token authenticator. 2016-05-18 11:58:11 -07:00
Andy Zheng 25c9764f29 e2e: use amd64 kubectl for simple pod HTTP proxy test 2016-05-18 10:29:00 -07:00
Kevin 52fb89ff73 implement taints and tolerations 2016-05-18 15:06:23 +00:00
Jan Chaloupka ebe56f5ff9 Extend the current secrets mounting to volume implementation with key to path mapping.
The key to path mapping allows pod to specify different name (thus location) of each secret.
At the same time refactor the volume plugin to use AtomicWritter to project secrets to files in a volume.

Update e2e Secrets test, the secret file permission has changed from 0444 to 0644
Remove TestPluginIdempotent as the AtomicWritter is responsible for secret creation
2016-05-18 16:12:31 +02:00
k8s-merge-robot 48c90f15c5 Merge pull request #24509 from caesarxuchao/primitive-gc
Automatic merge from submit-queue

Adding garbage collector controller

Adding the propagator and garbage processor of the gc.

Design doc is at https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/garbage-collection.md

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24509)
<!-- Reviewable:end -->
2016-05-18 03:14:25 -07:00
Jan Safranek 79b91b9ee0 Refactor persistent volume initialization
There should be only one initialization function, shared by the real
controller and unit tests.
2016-05-18 10:06:51 +02:00
Jan Safranek 440b4bc6ba Fix integration tests. 2016-05-18 10:06:51 +02:00
k8s-merge-robot bf4f84167f Merge pull request #23567 from smarterclayton/init_containers
Automatic merge from submit-queue

Add init containers to pods

This implements #1589 as per proposal #23666

Incorporates feedback on #1589, creates parallel structure for InitContainers and Containers, adds validation for InitContainers that requires name uniqueness, and comments on a number of implications of init containers.

This is a complete alpha implementation.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/23567)
<!-- Reviewable:end -->
2016-05-18 00:53:30 -07:00
pwittrock c7bfbe6460 Clean up kubectl test to use the blessed e2e test redis configs and to output debug info when failing. Debugs #25657. 2016-05-18 04:22:09 +00:00
zhouhaibing089 2afa7eed44 fix the Store to be Indexer 2016-05-18 10:18:13 +08:00
Janet Kuo e428b77cbe Fix e2e test failure: pull redis image from gcr instead of docker 2016-05-17 15:12:09 -07:00
Janet Kuo b51782206f Generate gobindata data 2016-05-17 15:12:07 -07:00
Chao Xu 0cda99b8d7 fixing TestCascadingDeletion flake 2016-05-17 13:48:37 -07:00
gmarek eb48166d5b Fix resource-gatherer that never gathered resources from non-master machines 2016-05-17 17:53:18 +02:00