Commit Graph

4342 Commits (75fba4c953c70d17aa615a54622eed4cf726a485)

Author SHA1 Message Date
Kubernetes Submit Queue 863dd10ae4 Merge pull request #30540 from Random-Liu/refactor-node-e2e-framework
Automatic merge from submit-queue

Node Conformance Test: Refactor node e2e framework

For #30122, #30174.
Based on #30348.

**Please only review the last 3 commits.**

This PR is part of our roadmap to package node conformance test.
The 1st commit is from #30348, it removed unnecessary dependencies in the node e2e test framework, because we've statically linked these dependencies.

The PR refactored the node e2e framework. Moving different utilities into different packages under `pkg/`.

We need to do this because:
1) Files like e2e_remote.go and e2e_build.go should only be used by runner, but they were compiled into the test suite because they were placed in the same package. The worst thing is that it will introduce some never used flags in the test suite binary.
2) Make the directory structure more clear. Only test should be placed in `test/e2e_node`, other utilities should be placed in different packages in `pkg/`.

@dchen1107 @vishh 
/cc @kubernetes/sig-node @kubernetes/sig-testing
2016-08-25 14:06:56 -07:00
Kubernetes Submit Queue 20e078fdb7 Merge pull request #31426 from mwielgus/ns-e2e-fix3
Automatic merge from submit-queue

Use deleteTimestamp in federated ns e2e tests

Fixes: #31317
2016-08-25 11:56:35 -07:00
Marcin Wielgus e67c6a750f Handle deleteTimestamp in federated ns e2e tests 2016-08-25 18:36:48 +02:00
Kubernetes Submit Queue 4ddfc4849a Merge pull request #27180 from sttts/sysctl-implementation
Automatic merge from submit-queue

Add sysctl support

Implementation of proposal https://github.com/kubernetes/kubernetes/pull/26057, feature  https://github.com/kubernetes/features/issues/34

TODO:
- [x] change types.go
- [x] implement docker and rkt support
- [x] add e2e tests
- [x] decide whether we want apiserver validation
- ~~[ ] add documentation~~: api docs exist. Existing PodSecurityContext docs is very light and links back to the api docs anyway: 6684555ed9/docs/user-guide/security-context.md
- [x] change PodSecurityPolicy in types.go
- [x] write admission controller support for PodSecurityPolicy
- [x] write e2e test for PodSecurityPolicy
- [x] make sure we are compatible in the sense of https://github.com/kubernetes/kubernetes/blob/master/docs/devel/api_changes.md
- [x] test e2e with rkt: it only works with kubenet, not with no-op network plugin. The later has no sysctl support.
- ~~[ ] add RunC implementation~~ (~~if that is already in kube,~~ it isn't)
- [x] update whitelist
- [x] switch PSC fields to annotations
- [x] switch PSP fields to annotations
- [x] decide about `--experimental-whitelist-sysctl` flag to be additive or absolute
- [x] decide whether to add a sysctl node whitelist annotation

### Release notes:

```release-note
The pod annotation `security.alpha.kubernetes.io/sysctls` now allows customization of namespaced and well isolated kernel parameters (sysctls), starting with `kernel.shm_rmid_forced`, `net.ipv4.ip_local_port_range`, `net.ipv4.tcp_max_syn_backlog` and `net.ipv4.tcp_syncookies` for Kubernetes 1.4.

The pod annotation  `security.alpha.kubernetes.io/unsafeSysctls` allows customization of namespaced sysctls where isolation is unclear. Unsafe sysctls must be enabled at-your-own-risk on the kubelet with the `--experimental-allowed-unsafe-sysctls` flag. Future versions will improve on resource isolation and more sysctls will be considered safe.
```
2016-08-25 06:21:24 -07:00
Dr. Stefan Schimanski dd7826359c Add sysctl e2e tests 2016-08-25 13:22:01 +02:00
Kubernetes Submit Queue a9a81219ef Merge pull request #31185 from coufon/log_throughput_benchmark
Automatic merge from submit-queue

add throughput in perf data and disable --cgroups-per-qos

This PR adds throughput data to printed perf data for benchmark. It also disables --cgrous-per-qos in jenkinds-benchmark.properties.
2016-08-25 04:05:20 -07:00
Marcin Wielgus 99cb1d7702 Use non-fed client for subclusters in federated namespace e2e test 2016-08-25 10:26:08 +02:00
Kubernetes Submit Queue c5e7e5124a Merge pull request #30969 from asalkeld/raw-status-code
Automatic merge from submit-queue

Make sure the StatusCode is taken into account in DoRaw()

**What this PR does / why we need it**:
Currently if there is an error (not found) the error printed out
is to do with the inablity to convert an empty body into the expected json.

This patch will fill in the err correctly.

example of before (with NotFound error):
$ kubectl top node
failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.NodeMetrics

Now:
$ kubectl top node
the server could not find the requested resource (get services http:heapster:)

**Which issue this PR fixes** 
related to bug #30818

**Special notes for your reviewer**:
None

**Release note**:
```release-note
NONE
```
2016-08-25 01:01:05 -07:00
Random-Liu afb780d4ee Move utilities into different packages. Add local and remove runner. 2016-08-24 20:18:45 -07:00
Kubernetes Submit Queue f0462c4043 Merge pull request #31200 from ronnielai/test1
Automatic merge from submit-queue

Skip disk eviction test on non-supported images.
2016-08-24 20:06:07 -07:00
Kubernetes Submit Queue 1952986a34 Merge pull request #30348 from Random-Liu/remove-unnecessary-binary-copy
Automatic merge from submit-queue

Node Conformance Test: Remove unnecessary binary copy

For #30122, #30174.

This PR removed unnecessary dependencies in the node e2e test framework, because we've statically linked these dependencies.

@dchen1107 @vishh 
/cc @kubernetes/sig-node @kubernetes/sig-testing
2016-08-24 14:35:34 -07:00
Michael Taufen 9fdb3f291a Stop fd leak in e2e_service.go
Previously this code used http.Get and failed to read/close resp.Body, which
prevented network connection reuse, leaking fds. Now we use http.Head
instead, because its response always has a nil Body, so we don't have to
worry about read/close.
2016-08-24 09:15:25 -07:00
Michael Taufen 2e989a3c38 Revert "Merge pull request #31297 from mikedanese/revert-kubelet"
This reverts the revert of #30090 and #31282.
2016-08-24 09:06:12 -07:00
Kubernetes Submit Queue c958d3d4fd Merge pull request #31325 from piosz/disable-e2e
Automatic merge from submit-queue

Run Rescheduler e2e on GCE only

fix #31277
2016-08-24 05:38:02 -07:00
Kubernetes Submit Queue 0a3219ebf7 Merge pull request #31335 from mwielgus/fix-ns-e2e
Automatic merge from submit-queue

Fix panics in federation e2e tets

cc: @quinton-hoole @madhusudancs
2016-08-24 04:15:48 -07:00
Kubernetes Submit Queue 9b0d57ff95 Merge pull request #31164 from coufon/skip_benchmark_in_jenkins_serial
Automatic merge from submit-queue

skip benchmark in jenkins serial test

This PR changes jenkins-serial.properties to skip benchmark tests (with tag [Benchmark]) in jenkins serial tests. It also add more comments in run_e2e.go.
2016-08-24 03:32:51 -07:00
Marcin Wielgus a653a5e8ce Fix panics in federation e2e 2016-08-24 11:14:03 +02:00
Piotr Szczesniak 9c2a951ae3 Run Rescheduler e2e on GCE only 2016-08-24 06:47:17 +02:00
Kubernetes Submit Queue 355178b794 Merge pull request #31314 from timstclair/aa-e2e
Automatic merge from submit-queue

Increase the AppArmor pod stop timeout to match the start timeout

Fixes https://github.com/kubernetes/kubernetes/issues/30750
2016-08-23 18:52:10 -07:00
Tim St. Clair a29ad353a6
Increase the AppArmor pod stop timeout to match the start timeout 2016-08-23 17:03:38 -07:00
Girish Kalele b82c028f77 GCE Cloud provider changes for ESIPP
Add feature gate (ExternalTrafficLocalOnly) for alpha feature
2016-08-23 16:16:39 -07:00
Kubernetes Submit Queue 4b55492570 Merge pull request #31052 from Random-Liu/set-longer-timeout-for-serial-test
Automatic merge from submit-queue

Node E2E: Extend serial test suite timeout to 3 hours.

Addresses https://github.com/kubernetes/kubernetes/issues/30550#issuecomment-241176666.

Extend the serial test timeout to 3 hours.

@coufon
2016-08-23 15:49:51 -07:00
Mike Danese 0a735b7886 Revert "Merge pull request #30090 from mtaufen/dynamic-kubelet-restart"
This reverts commit fe808ec2a4, reversing
changes made to f297ea966e.
2016-08-23 14:11:48 -07:00
Mike Danese 7cf1c73fef Revert "Merge pull request #31282 from mtaufen/dynkubetest-fix"
This reverts commit 5981aa8b37, reversing
changes made to fe808ec2a4.
2016-08-23 14:11:44 -07:00
Michael Taufen 280b64d47f Mark dynamic kubelet configuration test serial 2016-08-23 11:54:35 -07:00
Kubernetes Submit Queue fe808ec2a4 Merge pull request #30090 from mtaufen/dynamic-kubelet-restart
Automatic merge from submit-queue

[Kubelet] Optionally consume configuration from <node-name> named config maps

This extends the Kubelet to check the API server for new node-specific config, and exit when it finds said new config.

/cc @kubernetes/sig-node @mikedanese @timstclair @vishh

**Release note**:
```
Extends Kubelet with Alpha Dynamic Kubelet Configuration. Please note that this alpha feature does not currently work with cloud provider auto-detection.
```
2016-08-23 09:25:22 -07:00
Kubernetes Submit Queue f297ea966e Merge pull request #30838 from caesarxuchao/per-resource-orphan-behavior
Automatic merge from submit-queue

[GarbageCollector] Allow per-resource default garbage collection behavior

What's the bug:
When deleting an RC with `deleteOptions.OrphanDependents==nil`, garbage collector is supposed to treat it as `deleteOptions.OrphanDependents==true", and orphan the pods created by it. But the apiserver is not doing that.

What's in the pr:
Allow each resource to specify the default garbage collection behavior in the registry. For example, RC registry's default GC behavior is Orphan, and Pod registry's default GC behavior is CascadingDeletion.
2016-08-23 08:46:32 -07:00
Michael Taufen e780bb5fbd Enable dynamic kubelet configuration during tests 2016-08-23 07:42:44 -07:00
Michael Taufen 2413ec4494 Restart Kubelet if it exits during e2e tests 2016-08-23 07:42:44 -07:00
Kubernetes Submit Queue a3a33c53e1 Merge pull request #30496 from mwielgus/nc-e2e
Automatic merge from submit-queue

Federated namespace controller e2e test

Depends on #30443

cc: @quinton-hoole @wojtek-t @kubernetes/sig-cluster-federation
2016-08-23 07:18:15 -07:00
Piotr Szczesniak 4a6123df0a Enabled Rescheduler e2e test for serial suites 2016-08-23 13:23:29 +02:00
Kubernetes Submit Queue 28ded18c4c Merge pull request #31216 from piosz/e2e-utils-fix
Automatic merge from submit-queue

Improve ScaleRC function to be more generic

Relaxed the requirement for RC selector.
2016-08-23 02:27:16 -07:00
Marcin Wielgus 309630b548 E2E tests for federated namespace controller 2016-08-23 11:15:06 +02:00
Piotr Szczesniak e8135c30d5 Improve ScaleRC function to be more generic 2016-08-23 09:25:00 +02:00
Kubernetes Submit Queue 13305ef0ff Merge pull request #31139 from nikhiljindal/namespaceAdmissionControl
Automatic merge from submit-queue

federation: Adding support for namespace admission controls in federation-apiserver

Now that we have namespaces in federation apiserver, we can support namespace admission controls.

There are 3 of these:
namespace/autoprovision, namespace/exists and namespace/lifecycle.
namespace/autoprovision, namespace/exists should be deprecated in kubernetes(https://github.com/kubernetes/kubernetes/issues/31195). Adding support for namespace/lifecycle to federation-apiserver.
As in kube-apiserver, enabling namespace/lifecycle by default.


```release-note
Action required: If you have a running federation control plane, you will have to ensure that for all federation resources, the corresponding namespace exists in federation control plane.

federation-apiserver now supports NamespaceLifecycle admission control, which is enabled by default. Set the --admission-control flag on the server to change that.
```

cc @kubernetes/sig-cluster-federation @quinton-hoole
2016-08-23 00:19:08 -07:00
Michael Taufen 085df61204 Node e2e test for Dynamic Kubelet Configuration 2016-08-22 22:45:23 -07:00
nikhiljindal db7af6c0d7 Fixing/updating e2e tests 2016-08-22 21:49:34 -07:00
Random-Liu e646dc6b9e Remove unnecessary code after e2e services are statically linked. 2016-08-22 20:51:24 -07:00
Kubernetes Submit Queue 95be706bad Merge pull request #31046 from fejta/own
Automatic merge from submit-queue

Update test assignments

Add new jobs, remove old ones
2016-08-22 19:41:51 -07:00
Angus Salkeld 9c5e11e991 Fix static URL conformance test
1. /validate service does not exist, so remove the test for it and add some that actually do exist
2. The namespace does not exist so this will always return NotFound

Note: DoRaw() ignores the StatusCode.
This is in preparation for the next commit
2016-08-23 11:42:42 +10:00
bindata-mockuser 7b70c23998 Make disk eviction test run correctly on all images. 2016-08-22 18:40:54 -07:00
nikhiljindal 18a8597a4e Enabling namespace admission controls 2016-08-22 17:28:03 -07:00
Zhou Fang ac379b038e add throughput in perf data and disable --cgroups-per-qos 2016-08-22 16:04:32 -07:00
Zhou Fang c2d1a32597 skip benchmark in jenkins serial test 2016-08-22 14:19:40 -07:00
Kubernetes Submit Queue d6afd304b7 Merge pull request #31114 from wojtek-t/fix_heapster_in_kubemark
Automatic merge from submit-queue

Fix heapster in kubemark

Fix #31108
2016-08-22 13:33:30 -07:00
Chao Xu 67b7c7290a Allow per-resource default garbage collection behavior 2016-08-22 11:37:04 -07:00
Kubernetes Submit Queue 51a9fdb2a4 Merge pull request #31113 from piosz/rescheduler-e2e
Automatic merge from submit-queue

e2e test for rescheduling critical pods

ref #29023

The test is disabled by default.
2016-08-22 10:24:18 -07:00
Kubernetes Submit Queue 1e7545393f Merge pull request #30979 from m1093782566/fix-unnecessary-delete-rc-requests
Automatic merge from submit-queue

[e2e density test] Fix unnecessary Delete RC requests when not running latency test

As the following code block
https://github.com/kubernetes/kubernetes/blob/master/test/e2e/density.go#L666-L670
shows, after running each density test case, it will attempt to delete "additional replication controllers" even though there is **no additional replication controller**.

When we are not running latency test, API Server will return "404 error code". So, I propose to move the above code block inside thedetermine statementsif `itArg.runLatencyTest{ }` , looks like:

```
if itArg.runLatencyTest {
  ...
  for i := 1; i <= nodeCount; i++ {
    name := additionalPodsPrefix + "-" + strconv.Itoa(i)
    c.ReplicationControllers(ns).Delete(name, nil)
  }
}
```
In this way, removing RC will be executed only if we set `itArg.runLatencyTest` to be `true`. It can avoid post some necessary requests to API Server.

Issuse is #30977
2016-08-22 07:00:52 -07:00
Wojciech Tyczynski 56008de8d6 Fix heapster in kubemark 2016-08-22 15:38:02 +02:00
Piotr Szczesniak 9614f00832 e2e test for rescheduling critical pods 2016-08-22 15:30:42 +02:00