Commit Graph

40 Commits (cd25bbee468fe00c2bc6ea7eefc7de7e6846e526)

Author SHA1 Message Date
Kubernetes Submit Queue c42c34daf2 Merge pull request #53755 from bcreane/named-ports
Automatic merge from submit-queue (batch tested with PRs 48665, 52849, 54006, 53755). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add named-port ingress test

**What this PR does / why we need it**:

Validate correct behavior when a `NetworkPolicyIngressRule` refers to a named port rather than a numerical port, e.g. `serve-80` rather than `80`.

**Release note**:

```release-note
NONE
```
2017-10-16 18:09:49 -07:00
Brendan Creane 65e1777622 Add named port ingress test. 2017-10-16 13:41:12 -07:00
Jeff Grafton aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Christoph Blecker 90c1a1e8b3
Bump kube-dns version used in e2e 2017-10-10 10:49:54 -07:00
Kubernetes Submit Queue c7f970c560 Merge pull request #49593 from gunjan5/np-e2e
Automatic merge from submit-queue (batch tested with PRs 53567, 53197, 52944, 49593). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Refactor network policy e2e tests, and add additional logging when tests fail

**What this PR does / why we need it**:
- Restructure tests, clean up duplicate code
- Add additional logging, so it's easier to debug when the tests fail
- Add retry on the client side pods because sometimes kubelet will start the pod when the network is not ready, resulting in flaky tests
- Add readiness probe for the server pods to further reduce the flakiness.

Current failure messages when a test fails:
```
checking client-can-connect could communicate with server.
  Expected error:
      <*errors.errorString | 0xc420868820>: {
          s: "pod \"client-can-connect\" failed with status: {Phase:Failed Conditions:[{Type:Initialized Status:True LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-07-25 15:54:48 -0700 PDT Reason: Message:} {Type:Ready Status:False LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-07-25 15:54:57 -0700 PDT Reason:ContainersNotReady Message:containers with unready status: [client-can-connect-container]} {Type:PodScheduled Status:True LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-07-25 15:54:48 -0700 PDT Reason: Message:}] Message: Reason: HostIP:10.138.0.2 PodIP:10.60.1.180 StartTime:2017-07-25 15:54:48 -0700 PDT InitContainerStatuses:[] ContainerStatuses:[{Name:client-can-connect-container State:{Waiting:nil Running:nil Terminated:&ContainerStateTerminated{ExitCode:1,Signal:0,Reason:Error,Message:,StartedAt:2017-07-25 15:54:49 -0700 PDT,FinishedAt:2017-07-25 15:54:57 -0700 PDT,ContainerID:docker://c91c33139672c20a5231bcba9437d74e12d35a6d19275b41bb8e571148b4ab57,}} LastTerminationState:{Waiting:nil Running:nil Terminated:nil} Ready:false RestartCount:0 Image:gcr.io/google_containers/redis:e2e ImageID:docker://sha256:e5e67996c442f903cda78dd983ea6e94bb4e542950fd2eba666b44cbd303df42 ContainerID:docker://c91c33139672c20a5231bcba9437d74e12d35a6d19275b41bb8e571148b4ab57}] QOSClass:BestEffort}",
      }
      pod "client-can-connect" failed with status: {Phase:Failed Conditions:[{Type:Initialized Status:True LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-07-25 15:54:48 -0700 PDT Reason: Message:} {Type:Ready Status:False LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-07-25 15:54:57 -0700 PDT Reason:ContainersNotReady Message:containers with unready status: [client-can-connect-container]} {Type:PodScheduled Status:True LastProbeTime:0001-01-01 00:00:00 +0000 UTC LastTransitionTime:2017-07-25 15:54:48 -0700 PDT Reason: Message:}] Message: Reason: HostIP:10.138.0.2 PodIP:10.60.1.180 StartTime:2017-07-25 15:54:48 -0700 PDT InitContainerStatuses:[] ContainerStatuses:[{Name:client-can-connect-container State:{Waiting:nil Running:nil Terminated:&ContainerStateTerminated{ExitCode:1,Signal:0,Reason:Error,Message:,StartedAt:2017-07-25 15:54:49 -0700 PDT,FinishedAt:2017-07-25 15:54:57 -0700 PDT,ContainerID:docker://c91c33139672c20a5231bcba9437d74e12d35a6d19275b41bb8e571148b4ab57,}} LastTerminationState:{Waiting:nil Running:nil Terminated:nil} Ready:false RestartCount:0 Image:gcr.io/google_containers/redis:e2e ImageID:docker://sha256:e5e67996c442f903cda78dd983ea6e94bb4e542950fd2eba666b44cbd303df42 ContainerID:docker://c91c33139672c20a5231bcba9437d74e12d35a6d19275b41bb8e571148b4ab57}] QOSClass:BestEffort}
  not to have occurred
```

Failure message with this PR:
```
 should support a 'default-deny' policy [Feature:NetworkPolicy] [It]
    /Users/gunjan/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/network/network_policy.go:81

    Jul 25 14:35:55.978: Pod client-cannot-connect should be able to connect to service svc-server, but was not able to connect.
    Pod logs:
    Connecting to svc-server.e2e-tests-network-policy-tbzm8:80 (10.63.254.124:80)
    wget: download timed out
    Connecting to svc-server.e2e-tests-network-policy-tbzm8:80 (10.63.254.124:80)
    wget: download timed out
    Connecting to svc-server.e2e-tests-network-policy-tbzm8:80 (10.63.254.124:80)
    wget: download timed out
    Connecting to svc-server.e2e-tests-network-policy-tbzm8:80 (10.63.254.124:80)
    wget: download timed out
    Connecting to svc-server.e2e-tests-network-policy-tbzm8:80 (10.63.254.124:80)
    wget: download timed out


   Current NetworkPolicies:
    	[{{ } {deny-all  e2e-tests-network-policy-tbzm8 /apis/networking.k8s.io/v1/namespaces/e2e-tests-network-policy-tbzm8/networkpolicies/deny-all 20fa92ab-7181-11e7-855b-42010a8a0003 87694 1 2017-07-25 14:35:07 -0700 PDT <nil> <nil> map[] map[] [] nil [] } {{map[] []} []}}]

   Pods:
    	[Pod: server, Status: &PodStatus{Phase:Running,Conditions:[{Initialized True 0001-01-01 00:00:00 +0000 UTC 2017-07-25 14:34:52 -0700 PDT  } {Ready True 0001-01-01 00:00:00 +0000 UTC 2017-07-25 14:35:00 -0700 PDT  } {PodScheduled True 0001-01-01 00:00:00 +0000 UTC 2017-07-25 14:34:52 -0700 PDT  }],Message:,Reason:,HostIP:10.138.0.2,PodIP:10.60.1.145,StartTime:2017-07-25 14:34:52 -0700 PDT,ContainerStatuses:[{server-container-80 {nil ContainerStateRunning{StartedAt:2017-07-25 14:34:53 -0700 PDT,} nil} {nil nil nil} true 0 gcr.io/google_containers/porter:4524579c0eb935c056c8e75563b4e1eda31587e0 docker://sha256:711ccbc1c74f3417f2a0f403c194017b3bde09eec3c3b42dc9c838db3894c223 docker://3fa73da57380ef28520f8bbf53b3540f523ab76d45a1b42cc9a1e4573eb45639}],QOSClass:BestEffort,InitContainerStatuses:[],}
     Pod: server, Status: &PodStatus{Phase:Running,Conditions:[{Initialized True 0001-01-01 00:00:00 +0000 UTC 2017-07-25 14:34:52 -0700 PDT  } {Ready True 0001-01-01 00:00:00 +0000 UTC 2017-07-25 14:35:00 -0700 PDT  } {PodScheduled True 0001-01-01 00:00:00 +0000 UTC 2017-07-25 14:34:52 -0700 PDT  }],Message:,Reason:,HostIP:10.138.0.2,PodIP:10.60.1.145,StartTime:2017-07-25 14:34:52 -0700 PDT,ContainerStatuses:[{server-container-80 {nil ContainerStateRunning{StartedAt:2017-07-25 14:34:53 -0700 PDT,} nil} {nil nil nil} true 0 gcr.io/google_containers/porter:4524579c0eb935c056c8e75563b4e1eda31587e0 docker://sha256:711ccbc1c74f3417f2a0f403c194017b3bde09eec3c3b42dc9c838db3894c223 docker://3fa73da57380ef28520f8bbf53b3540f523ab76d45a1b42cc9a1e4573eb45639}],QOSClass:BestEffort,InitContainerStatuses:[],}
    ]
```
**Release note**:

```release-note
NONE
```
2017-10-09 11:18:52 -07:00
Kubernetes Submit Queue 8849878bab Merge pull request #50447 from m1093782566/e2e-session-affinity
Automatic merge from submit-queue (batch tested with PRs 50447, 53308). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[e2e] add service session affinity test case

**What this PR does / why we need it**:

**Which issue this PR fixes**: 

Add service session affinity test case for e2e

fixes #31712

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-10-09 00:32:11 -07:00
Dane LeBlanc 9d448494b2 Skip e2e check for logs API path if provider is local
There is a networking e2e test with the It() description:
```
   "should provide unchanging, static URL paths for kubernetes api services"
```
This test performs GETs from the Kubernetes API using various paths,
including "/logs". This test for a GET using path "/logs" should be
skipped for provider type "skeleton", since this path is unsupported.

This change adds "skeleton" to the list of providers for which
this test case should be skipped.

fixes #53529
2017-10-06 09:29:42 -04:00
Kubernetes Submit Queue 51e2157838 Merge pull request #53384 from leblancd/e2e_ping6
Automatic merge from submit-queue (batch tested with PRs 51750, 53195, 53384, 53410). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add ping6 option for e2e ext connectivity test for IPv6-only clusters

e2e tests provide only an (IPv4) ping test for external connectivity.

We need a way to conditionally run a ping6 external connectivity check,
and disable the (IPv4) ping-based external connectivity check,
for end-to-end testing on IPv6-only clusters.

This feature will be needed for creating gating IPv6 CI tests.

fixes #53383



**What this PR does / why we need it**:
This adds an IPv6 (ping6) version of the external connectivity ping check to the e2e test suite,
and adds "Feature:" flags for selecting whether the IPv4 or IPv6 (or both) versions
of the connectivity test should be run. We need this change to be able to use the
e2e test suite in upstream gating IPv6 CI tests on IPv6-only clusters (at least until
dual-stack operation is fully supported in Kubernetes).

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

**Special notes for your reviewer**:
Please let me know if there are better tags to use for selecting IPv4 vs IPv6 testing.

**Release note**:

```release-note
NONE
```
2017-10-05 06:09:01 -07:00
Dan Osborne 3471daf759 Refactor network policy e2e tests, and add additional logging when tests fail
add retry for the client pods and readiness probe for the server pods

add additional logs when tests fail

address review comments
2017-10-04 15:36:31 -07:00
Kubernetes Submit Queue 0690df3fc5 Merge pull request #53389 from leblancd/v6_e2e_iperf
Automatic merge from submit-queue (batch tested with PRs 53345, 53389). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add IPv6 option for e2e iPerf test

The e2e iPerf test case currently only runs in IPv4 mode.
This change adds an option to run an iPerf test in IPv6 mode (i.e. by running
iPerf with a "-V" command line flag), so that the test can be run on
IPv6-only clusters.



**What this PR does / why we need it**:
This change adds an option to run an iPerf test in IPv6 mode (i.e. by running
iPerf with a "-V" command line flag), so that the test can be run on
IPv6-only clusters. It also adds a Feature tag to the current IPv4 iPerf test
so that it can be disabled when running e2e tests on an IPv6-only cluster.

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

**Special notes for your reviewer**:
Please let me know if there are better "Feature:" tags to use for selecting whether to run the IPv4 vs IPv6 test case.

**Release note**:

```release-note
NONE
```
2017-10-04 12:04:45 -07:00
Dane LeBlanc 4be181739e e2e tests need a ping6 test for IPv6-only clusters
e2e tests provide only an (IPv4) ping test for external connectivity.

We need a way to conditionally run a ping6 external connectivity check,
and disable the (IPv4) ping-based external connectivity check,
for end-to-end testing on IPv6-only clusters.

This feature will be needed for creating gating IPv6 CI tests.

fixes #53383
2017-10-03 19:51:53 -04:00
Dane LeBlanc 019a15c30b Add IPv6 option for e2e iPerf test
The e2e iPerf test case currently only runs in IPv4 mode.
This change add an option to run an iPerf test in IPv6 mode (i.e. by running
iPerf with a "-V" command line flag), so that the test can be run on
IPv6-only clusters.
2017-10-03 11:19:50 -04:00
Davanum Srinivas ac2e103280 Remove conformance tag for internet connectivity
ICMP ping is not available in many environments, so we should avoid
using a e2e test based the premise as a conformance test.
2017-10-03 09:09:19 -04:00
Kubernetes Submit Queue 70af5efb49 Merge pull request #52885 from xiangpengzhao/dns-remove-useless
Automatic merge from submit-queue (batch tested with PRs 52880, 52855, 52761, 52885, 52929). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>..

Don't need to check useAnnotation in dns e2e test

**What this PR does / why we need it**:
hostname/subdomain annotations were removed in #44137. This PR removes the check.
Also, `var dnsServiceLabelSelector` is not used anymore.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
ref: https://github.com/kubernetes/kubernetes/pull/44137

**Special notes for your reviewer**:
/cc @bowei @MrHohn 

**Release note**:

```release-note
NONE
```
2017-09-24 04:30:12 -07:00
xiangpengzhao 68949cd673 Don't need to check useAnnotation in dns e2e test 2017-09-22 14:02:07 +08:00
xiangpengzhao 8ccaf5ff08 Allow dns e2e test case for ExternalName to run on aws 2017-09-22 11:19:08 +08:00
xiangpengzhao a8e7dd8852 Don't specify clusterIP in dns e2e test 2017-09-21 17:25:37 +08:00
Yu-Ju Hong bb50086b8f e2e: network tiers should retry on 404 errors
The feature is still Alpha and at times, the IP address previously used
by the load balancer in the test will not completely freed even after
the load balancer is long gone. In this case, the test URL with the IP
would return a 404 response. Tolerate this error and retry until the new
load balancer is fully established.
2017-09-06 13:16:28 -07:00
Kubernetes Submit Queue f12368a187 Merge pull request #51805 from yujuhong/net-tiers-static-ip-test
Automatic merge from submit-queue

e2e: test using reserved IP with network tiers
2017-09-03 10:33:12 -07:00
Yu-Ju Hong e4fea0e623 e2e: test using reserved IP with network tiers 2017-09-01 09:30:23 -07:00
Manjunath A Kumatagi ee4d54c70c Port e2e tests for multi architecture 2017-09-01 05:40:52 +05:30
Manjunath A Kumatagi 22c3a590d1 Fix bazel 2017-09-01 05:39:00 +05:30
Yu-Ju Hong f33c37e102 e2e: Add tests for network tiers in GCE 2017-08-28 18:40:20 -07:00
m1093782566 1fd653f824 debug cost time 2017-08-26 17:06:46 +08:00
m1093782566 4356b49415 e2e test session affinity 2017-08-24 19:36:49 +08:00
Zihong Zheng e5349e8a90 [sig-network-e2e] Remove redundant sig prefix from tests 2017-08-21 11:17:02 -07:00
Kevin f76ca1fb16 update clientset.Core() to clientset.CoreV1() in test 2017-08-14 16:53:55 +08:00
Jeff Grafton a7f49c906d Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
Jeff Grafton 33276f06be Use buildozer to remove deprecated automanaged tags 2017-08-11 09:31:50 -07:00
Kubernetes Submit Queue 524a0e04c4 Merge pull request #50224 from xiangpengzhao/remove-beta-annotations
Automatic merge from submit-queue

Remove deprecated ESIPP beta annotations

**What this PR does / why we need it**:
Remove deprecated ESIPP beta annotations.

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

**Special notes for your reviewer**:
/assign @MrHohn
/sig network

**Release note**:

```release-note
Beta annotations `service.beta.kubernetes.io/external-traffic` and `service.beta.kubernetes.io/healthcheck-nodeport` have been removed. Please use fields `service.spec.externalTrafficPolicy` and `service.spec.healthCheckNodePort` instead.
```
2017-08-10 22:55:54 -07:00
Kubernetes Submit Queue 7ef5cc23d1 Merge pull request #46582 from m1093782566/fix-ipt-hard-code
Automatic merge from submit-queue (batch tested with PRs 49642, 50335, 50390, 49283, 46582)

fix iptables mode hard code in e2e test

Fixes #46078
2017-08-10 00:53:28 -07:00
Jordan Liggitt dd7be70a4a
Add rbac.authorization.k8s.io/v1 2017-08-09 17:04:54 -04:00
xiangpengzhao ea1a577358 Remove some helpers associated with ESIPP. 2017-08-09 14:25:08 +08:00
Phillip Wittrock 6cfc3d163c Move ownership of proxy test to sig-network directory 2017-08-07 14:10:52 -07:00
m1093782566 4a236f6145 use status code instead of response body for checking kube-proxy URLs 2017-08-05 11:35:32 +08:00
xiangpengzhao 8d7543415e Move left networking e2e tests to test/e2e/network 2017-08-02 23:47:10 +08:00
Kubernetes Submit Queue c25a7e6a75 Merge pull request #49341 from nicksardo/ilb-e2e
Automatic merge from submit-queue (batch tested with PRs 48846, 49483, 49341)

GCE: ILB E2E test

/assign @bowei 

**Release note**:
```release-note
NONE
```
2017-07-24 23:55:13 -07:00
xiangpengzhao f2875794ec Add [sig-network] prefix to network e2e tests 2017-07-25 08:56:35 +08:00
Nick Sardo e6bad4406f Test GCE ILB functionality 2017-07-24 14:13:41 -07:00
Bowei Du 92a8c1fcb0 Moves networking e2e tests to test/e2e/network
This also adds sig-network-{approvers,reviewers} alias
2017-07-22 09:43:42 -07:00