Commit Graph

3325 Commits

Author SHA1 Message Date
k8s-merge-robot
83c78fdcaa Merge pull request #24179 from aveshagarwal/master-downward-api-resources-limits-requests-implementation
Automatic merge from submit-queue

Downward API implementation for resources limits and requests

This is an implementation of Downward API for resources limits and requests, and it works with environment variables and volume plugin.

This is based on proposal https://github.com/kubernetes/kubernetes/pull/24051. This implementation follows API with magic keys approach as discussed in the proposal.

@kubernetes/rh-cluster-infra

<!-- 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/24179)
<!-- Reviewable:end -->
2016-05-25 03:38:49 -07:00
k8s-merge-robot
dec18dabc1 Merge pull request #26254 from wojtek-t/faster_load_test
Automatic merge from submit-queue

Speed up load test
2016-05-25 02:46:00 -07:00
k8s-merge-robot
e8f3cc9072 Merge pull request #26101 from pwittrock/node-e2e-junit
Automatic merge from submit-queue

Node e2e junit test artifacts


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

- Add junit test reported
- Write etcd.log, kubelet.log and kube-apiserver.log to files instead of stdout
- Scp artifacts to the jenkins WORKSPACE

Fixes #25966
2016-05-25 02:45:56 -07:00
k8s-merge-robot
1fc5687715 Merge pull request #25784 from bprashanth/prepull
Automatic merge from submit-queue

Prepull images in e2e 

Quick and dirty image puller because the SQ stalled multiple times just *today* on image pull flake (https://github.com/kubernetes/kubernetes/issues/25277).
@kubernetes/sig-node @kubernetes/sig-testing wdyt?
2016-05-25 01:50:35 -07:00
Wojciech Tyczynski
774347afca Speed up load test 2016-05-25 09:58:30 +02:00
k8s-merge-robot
2524cadeee Merge pull request #25171 from bprashanth/rolling
Automatic merge from submit-queue

Wait for RC to stabilize in rolling-update e2e

https://github.com/kubernetes/kubernetes/issues/25170
2016-05-25 00:09:00 -07:00
Wojciech Tyczynski
eaf9e5f596 Increase expected fluent CPU limit 2016-05-25 08:16:01 +02:00
k8s-merge-robot
107fedf607 Merge pull request #26192 from Random-Liu/fix-node-e2e-log-print
Automatic merge from submit-queue

Fix node e2e log print

Fix bad log print:
```
W0524 18:20:41.679642    2069 container_list.go:56] Could not pre-pull image %s %v output:  %sgcr.io/google_containers/pause-amd64:3.0exit status 1 [69 114 114 111 114 32 114 101 115 112 111 110 115 101 32 102 114 111 109 32 100 97 101 109 111 110 58 32 71 101 116 32 104 116 116 112 115 58 47 47 103 99 114 46 105 111 47 118 50 47 103 111 111 103 108 101 95 99 111 110 116 97 105 110 101 114 115 47 112 97 117 115 101 45 97 109 100 54 52 47 109 97 110 105 102 101 115 116 115 47 51 46 48 58 32 71 101 116 32 104 116 116 112 115 58 47 47 103 99 114 46 105 111 47 118 50 47 116 111 107 101 110 63 115 99 111 112 101 61 114 101 112 111 115 105 116 111 114 121 37 51 65 103 111 111 103 108 101 95 99 111 110 116 97 105 110 101 114 115 37 50 70 112 97 117 115 101 45 97 109 100 54 52 37 51 65 112 117 108 108 38 115 101 114 118 105 99 101 61 103 99 114 46 105 111 58 32 110 101 116 47 104 116 116 112 58 32 114 101 113 117 101 115 116 32 99 97 110 99 101 108 101 100 32 119 104 105 108 101 32 119 97 105 116 105 110 103 32 102 111 114 32 99 111 110 110 101 99 116 105 111 110 32 40 67 108 105 101 110 116 46 84 105 109 101 111 117 116 32 101 120 99 101 101 100 101 100 32 119 104 105 108 101 32 97 119 97 105 116 105 110 103 32 104 101 97 100 101 114 115 41 10]
```

/cc @pwittrock 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-24 16:16:28 -07:00
pwittrock
eae1961599 Node e2e export test artifacts to jenkins.
- Add junit test reported
- Write etcd.log, kubelet.log and kube-apiserver.log to files instead of stdout
- Scp artifacts to the jenkins WORKSPACE

Fixes #25966
2016-05-24 23:00:58 +00:00
k8s-merge-robot
db74335f60 Merge pull request #26100 from rootfs/fix-pd
Automatic merge from submit-queue

in e2e test, when kubectl exec fails to find the container to run a command, it should retry

fix #26076 
Without retrying upon "container not found" error, `Pod Disks` test failed on the following error:
```console
[k8s.io] Pod Disks 
  should schedule a pod w/two RW PDs both mounted to one container, write to PD, verify contents, delete pod, recreate pod, verify contents, and repeat in rapid succession [Slow]
  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/pd.go:271
[BeforeEach] [k8s.io] Pod Disks
  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:108
STEP: Creating a kubernetes client
May 23 19:18:02.254: INFO: >>> TestContext.KubeConfig: /root/.kube/config

STEP: Building a namespace api object
STEP: Waiting for a default service account to be provisioned in namespace
[BeforeEach] [k8s.io] Pod Disks
  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/pd.go:69
[It] should schedule a pod w/two RW PDs both mounted to one container, write to PD, verify contents, delete pod, recreate pod, verify contents, and repeat in rapid succession [Slow]
  /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/pd.go:271
STEP: creating PD1
May 23 19:18:06.678: INFO: Successfully created a new PD: "rootfs-e2e-11dd5f5b-211b-11e6-a3ff-b8ca3a62792c".
STEP: creating PD2
May 23 19:18:11.216: INFO: Successfully created a new PD: "rootfs-e2e-141f062d-211b-11e6-a3ff-b8ca3a62792c".
May 23 19:18:11.216: INFO: PD Read/Writer Iteration #0
STEP: submitting host0Pod to kubernetes
W0523 19:18:11.279910    4984 request.go:347] Field selector: v1 - pods - metadata.name - pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c: need to check if this is versioned correctly.
STEP: writing a file in the container
May 23 19:18:39.088: INFO: Running '/srv/dev/kubernetes/_output/dockerized/bin/linux/amd64/kubectl kubectl --server=https://130.211.199.187 --kubeconfig=/root/.kube/config exec --namespace=e2e-tests-pod-disks-3t3g8 pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c -c=mycontainer -- /bin/sh -c echo '1394466581702052925' > '/testpd1/tracker0''
May 23 19:18:40.250: INFO: Wrote value: "1394466581702052925" to PD1 ("rootfs-e2e-11dd5f5b-211b-11e6-a3ff-b8ca3a62792c") from pod "pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c" container "mycontainer"
STEP: writing a file in the container
May 23 19:18:40.251: INFO: Running '/srv/dev/kubernetes/_output/dockerized/bin/linux/amd64/kubectl kubectl --server=https://130.211.199.187 --kubeconfig=/root/.kube/config exec --namespace=e2e-tests-pod-disks-3t3g8 pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c -c=mycontainer -- /bin/sh -c echo '1740704063962701662' > '/testpd2/tracker0''
May 23 19:18:41.433: INFO: Wrote value: "1740704063962701662" to PD2 ("rootfs-e2e-141f062d-211b-11e6-a3ff-b8ca3a62792c") from pod "pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c" container "mycontainer"
STEP: reading a file in the container
May 23 19:18:41.433: INFO: Running '/srv/dev/kubernetes/_output/dockerized/bin/linux/amd64/kubectl kubectl --server=https://130.211.199.187 --kubeconfig=/root/.kube/config exec --namespace=e2e-tests-pod-disks-3t3g8 pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c -c=mycontainer -- cat /testpd1/tracker0'
May 23 19:18:42.585: INFO: Read file "/testpd1/tracker0" with content: 1394466581702052925

STEP: reading a file in the container
May 23 19:18:42.585: INFO: Running '/srv/dev/kubernetes/_output/dockerized/bin/linux/amd64/kubectl kubectl --server=https://130.211.199.187 --kubeconfig=/root/.kube/config exec --namespace=e2e-tests-pod-disks-3t3g8 pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c -c=mycontainer -- cat /testpd2/tracker0'
May 23 19:18:43.779: INFO: Read file "/testpd2/tracker0" with content: 1740704063962701662

STEP: deleting host0Pod
May 23 19:18:44.048: INFO: PD Read/Writer Iteration #1
STEP: submitting host0Pod to kubernetes
W0523 19:18:44.132475    4984 request.go:347] Field selector: v1 - pods - metadata.name - pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c: need to check if this is versioned correctly.
STEP: reading a file in the container
May 23 19:18:45.186: INFO: Running '/srv/dev/kubernetes/_output/dockerized/bin/linux/amd64/kubectl kubectl --server=https://130.211.199.187 --kubeconfig=/root/.kube/config exec --namespace=e2e-tests-pod-disks-3t3g8 pd-test-16d3653c-211b-11e6-a3ff-b8ca3a62792c -c=mycontainer -- cat /testpd1/tracker0'
May 23 19:18:46.290: INFO: error running kubectl exec to read file: exit status 1
stdout=
stderr=error: error executing remote command: error executing command in container: container not found ("mycontainer")
)
May 23 19:18:46.290: INFO: Error reading file: exit status 1
May 23 19:18:46.290: INFO: Unexpected error occurred: exit status 1
```
Now I've run this fix on e2e pd test 5 times and no longer see any failure
2016-05-24 15:21:07 -07:00
Random-Liu
22e4df74d8 Fix node e2e log print 2016-05-24 11:34:40 -07:00
Avesh Agarwal
1931931494 Downward API implementation for resources limits and requests 2016-05-24 12:22:35 -04:00
Huamin Chen
56719f83b7 when kubectl exec fails to find the container to run a command, it should retry
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-24 14:18:44 +00:00
Wojciech Tyczynski
316103875e Merge pull request #26146 from wojtek-t/avoid_dumb_logs
Avoid dumping all information in large clusters
2016-05-24 11:20:08 +02:00
Wojciech Tyczynski
bd920de4a4 Avoid dumping all information in large clusters 2016-05-24 10:23:42 +02:00
Mike Danese
1e97583f01 Merge pull request #26089 from spxtr/flakyflaky
Move PD tests to flaky suite.
2016-05-23 17:20:36 -07:00
k8s-merge-robot
51e308412b Merge pull request #26061 from wojtek-t/dont_dump_failure_logs
Automatic merge from submit-queue

Don't dump everything in kubemarks

Don't dump all events etc. in kubemark failures, those are useless anyway with that amount of data.
2016-05-23 13:19:55 -07:00
k8s-merge-robot
adf44ea190 Merge pull request #26025 from liggitt/auth-test-flake
Automatic merge from submit-queue

Fix panic in auth test failure

I got a spurious failure in the webhook integration test, but couldn't see the error returned because a panic was hit that assumed a body was always returned with the response
2016-05-23 13:19:49 -07:00
Prashanth B
730555b09b Add an e2e image puller static pod 2016-05-23 19:17:09 +00:00
Joe Finney
71037b26a1 Move PD tests to flaky suite. 2016-05-23 10:47:49 -07:00
Wojciech Tyczynski
6f43de4740 Don't dump everything in kubemarks 2016-05-23 11:53:40 +02:00
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
Jordan Liggitt
22649a19d0 Fix panic in auth test failure 2016-05-21 16:48:00 -04: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