Commit Graph

264 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
6b82792880 Merge pull request #34030 from MrHohn/e2e_service_fix
Automatic merge from submit-queue

Improve source ip preservation test, fail the test instead of panic.

From #31085.

The source IP preserve test starts to be flake again. Sending out this PR to get rid of panicing and log the unexpected output for future investigation.

@freehan
2016-10-05 00:07:11 -07:00
bprashanth
1d7cdffebc Cleanup netexec image and usage. 2016-10-04 14:22:41 -07:00
MrHohn
0d500921ea examine output format before return, fail the test instead of panic 2016-10-04 10:23:53 -07:00
deads2k
48ac4d549d change e2e scale to avoid adapter 2016-09-26 07:58:01 -04:00
Kubernetes Submit Queue
02dd178039 Merge pull request #30739 from MrHohn/e2e-sourceip
Automatic merge from submit-queue

Add e2e test for Source IP preservation (pod to service cluster IP)

Working on #27134.

This PR added the e2e test for source ip preservation (pod to service cluster IP) in service.go. Test scenario described as below:
- Pick two different nodes in cluster.
- Create a clusterIP type service.
- Create an echo server, which echoes back client IP, to be part of the service.
- Create a client on another node. Hit the server through service cluster IP.
- Verify the source IP.

@girishkalele @freehan
2016-09-05 12:23:25 -07:00
bprashanth
5dac1122b4 Logging for service restart e2e clarity 2016-09-01 14:49:52 -07:00
MrHohn
f20effb5e1 Add e2e test for Source IP preservation (pod to service cluster IP) 2016-08-31 16:28:24 -07:00
Girish Kalele
e5971e27f1 Fix feature name for ExternalTrafficLocalOnly alpha feature e2e 2016-08-29 19:39:18 -07:00
Kubernetes Submit Queue
1e125c2302 Merge pull request #31138 from girishkalele/esipp-e2e
Automatic merge from submit-queue

E2E tests for the Source IP Preservation for LoadBalancers

Breaking out E2E changes from the main PR - these tests require the Alpha feature gate turned on for this feature otherwise they will consistently fail.
2016-08-29 16:24:59 -07:00
AdoHe
10440ed47d fix same node port different protocols conflict issue 2016-08-26 07:36:45 +08:00
Girish Kalele
419e2241da E2E tests for the Source IP Preservation for LoadBalancers 2016-08-25 11:02:41 -07:00
Chao Xu
3688a78769 let load and density e2e tests use GC if it's on 2016-08-11 11:48:20 -07:00
Kubernetes Submit Queue
e7d01097dc Merge pull request #29971 from caesarxuchao/fix-kubectl-rolling-update-with-gc
Automatic merge from submit-queue

[GarbageCollector] Fix kubectl rolling-update to work with GC

This changes the order of the [Rename()](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/rolling_updater.go#L532) function. After the change, Rename() first deletes the old RC and orphans its pods, then creates the new RC, which will then have a chance to adopt the orphaned pods.

This also fixes the "should support rolling-update to same image" [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/kubectl.go#L915) when the garbage collector is on.

Here is the detailed explanation on why the test would have failed:
`kubectl rolling-update` will [rename](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/rolling_updater.go#L532-L546) the RC. It first creates the an identical RC (including spec.selectors) with the new name, then it deletes the existing RC. When GC is turned on, the newly created RC cannot adopt the existing pod, because it has a controllerRef pointing to the exising RC, so the new RC will create new pods and expect to see the creation. However, the new RC and the old RC have the same selector, so sometimes the old RC, instead of the new RC, has its [expectation lowered](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller.go#L346-L362), the new RC's expectation will stuck forever. The e2e test then times out when executing `kubectl delete newRC`, because there is the new RC will not scale down as its expectation is not fulfilled.

A side-note, we should fix [rm.getPodController()](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller.go#L346) to respect pod's controllerref, that will prevent similar bugs.

Also note that an old version `kubectl rolling-update` will not work with the GC. We cannot fix that.
2016-08-04 20:48:10 -07:00
Chao Xu
96c84303bd fix kubectl rolling-update when GC is enabled 2016-08-03 15:57:03 -07:00
Wojciech Tyczynski
b456c6dbfd Increase test timeouts for creating LB in large clusters 2016-08-02 12:32:04 +02:00
Harry Zhang
c495397cae Refactor uuid into its own pkg 2016-07-30 00:07:02 -04:00
PingWang
1606ce57ea combine the const definition
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-26 20:28:12 +08:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Wojciech Tyczynski
9961b8021b Fix failures in up and down services in large clusters 2016-06-15 16:09:46 +02:00
k8s-merge-robot
46323336cb Merge pull request #26559 from wojtek-t/max_idle_conns_per_host
Automatic merge from submit-queue

Max idle conns per host

Ref #26519

Hopefully, this will at least somehow help with #26519 

@gmarek @krousey @lavalamp
2016-06-01 11:41:42 -07:00
Wojciech Tyczynski
b67a6e6d41 Avoid creating multiple unnecessary clients in tests. 2016-05-31 14:57:09 +02:00
Jeff Lowdermilk
6ee2b7bc4e Fix some gce-only tests to run on gke as well
DaemonRestart kubelet test, and Services apiserver restart test.
2016-05-30 07:33:24 -07:00
Lucas Käldström
79ca1911e1 Removed all pause image constant strings, now the pause image is chosen by arch. Part of the effort of making e2e arch-agnostic 2016-05-26 19:16:43 +03: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
k8s-merge-robot
15919f336f Merge pull request #25284 from bprashanth/service_unready
Automatic merge from submit-queue

Add a service annotation that allows endpoints for unready pods

See https://github.com/kubernetes/kubernetes/issues/25283 for context 
@smarterclayton @thockin yes?

<!-- 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/25284)
<!-- Reviewable:end -->
2016-05-12 12:05:27 -07:00
k8s-merge-robot
5673f13edf Merge pull request #24014 from ihmccreery/chaosmonkey-no-ginkgo
Automatic merge from submit-queue

Upgrades tests use chaosmonkey package and ServiceTestJig

Introduce the `chaosmonkey` e2e package for doing disruptive testing (e.g. upgrade testing) more easily.

- [x] `chaosmonkey` package
- [x] migrate upgrade tests to `chaosmonkey` (using WIP `serviceJig`)
- [x] migrate upgrade tests to use `ServiceTestJig` and `chaosmonkey`

Deferred:

- [ ] make `ServiceTestJig` implement `chaosmonkey.Interface`
- [ ] migrate disruptive services tests to use `ServiceTestJig` and `chaosmonkey`

This provides the extensible framework for #15131.  We should now easily be able to add tests (e.g. #6084, #23189).

This is a rewrite of #22446.

cc @mikedanese @quinton-hoole @roberthbailey 

Assigning to @thockin, who wrote `ServiceTestJig`.

<!-- 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/24014)
<!-- Reviewable:end -->
2016-05-11 11:54:11 -07:00
Prashanth Balasubramanian
74ccd24574 Endpoints controller respects unready service annotation 2016-05-10 14:20:10 -07:00
Jay Vyas
326b213231 Consolidate node selecting tests to only use Schedulable + Running
nodes.
2016-05-06 10:32:12 -04:00
Muhammed Uluyol
f3690e2d5e
build/pause: write in C
Builds statically against glibc. References to the old pause
image have been updated.
2016-05-04 21:45:52 -04:00
Isaac Hollander McCreery
4e5e1b8ac5 Create chaosmonkey package, use ServiceTestJig for upgrade tests 2016-05-03 09:22:58 -07:00
Clayton Coleman
fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
Yu-Ju Hong
bdadaefe3b e2e: add a dummy environment variable in the service tests
This works around the docker bug:
https://github.com/docker/docker/issues/14203
2016-04-26 16:25:26 -07:00
Tim St. Clair
b0d3f32e88 Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
Jeff Lowdermilk
cd85b06465 Merge pull request #24001 from freehan/kubenet
include error in the fail msg
2016-04-08 20:55:35 -07:00
Minhan Xia
0174455111 include error in the fail msg 2016-04-07 15:42:21 -07:00
Joe Finney
39de4be40d
Mark services test slow. 2016-04-06 17:26:16 -07:00
Phillip Wittrock
f22ddf1ea8 Update serve_hostname version from 1.1 to v1.4 2016-03-21 12:53:22 -07:00
deads2k
ab03317d96 support CIDRs in NO_PROXY 2016-03-16 16:22:54 -04:00
Jay Vyas
9a71dfe753 KubeDescribe implementation with verify into after-build/ scripts. 2016-03-15 22:29:21 -04:00
Jeff Lowdermilk
f8d7793609 Merge pull request #22203 from bprashanth/network_flake
Ignore network flake in services e2e.
2016-03-03 15:20:12 -08:00
Prashanth Balasubramanian
41cbf952ca Ignore network flake in services e2e. 2016-02-29 17:40:24 -08:00
gmarek
110340c467 Add an option to pass client's QPS/burst to e2e framework 2016-02-29 09:32:29 +01:00
k8s-merge-robot
420d98fd8b Merge pull request #22027 from bprashanth/services_compare
Auto commit by PR queue bot
2016-02-26 17:25:22 -08:00
k8s-merge-robot
192119c2ac Merge pull request #21610 from fejta/e2etag
Auto commit by PR queue bot
2016-02-26 12:52:43 -08:00
Prashanth Balasubramanian
9be53e6319 Strip whitespace when comparing endpoints in services test. 2016-02-26 12:02:14 -08:00
k8s-merge-robot
f08a8f23c1 Merge pull request #20959 from justinsb/fix_20911
Auto commit by PR queue bot
2016-02-20 00:56:53 -08:00
Erick Fejta
3d8913a43a Use e2e tagged version of test images that aren't versioned 2016-02-19 20:22:49 -08:00
Tim Hockin
ff3f9f6bcc Move "extra" namespaces into framework
Now an aborted test will delete namespaces.  Hopefully this means less GCE
leaks.
2016-02-13 20:37:04 -08:00
Tim Hockin
677d4d6dbc e2e: Call AfterEach handlers in case of an abort
I was tired of aborted tests leaving debris in my cluster.
2016-02-13 20:29:46 -08:00
Justin Santa Barbara
46b89464fd e2e: Allow longer for AWS LoadBalancers to start serving traffic
When we create a LoadBalancer on AWS, there is a longer delay after
creating the LB before it starts to serve traffic than there is on GCE.
A delay of a few minutes is normal.

Use a longer timeout when waiting for the LB on AWS therefore.
2016-02-11 06:43:31 -05:00
Seth Jennings
982af896e1 use runId UUID for staticIPName to avoid collision 2016-02-10 21:42:17 -06:00
Justin Santa Barbara
a0093eb503 e2e: Don't try to create a UDP LoadBalancer on AWS
AWS doesn't support type=LoadBalancer with UDP services.  For now, we
simply skip over the test with type=LoadBalancer on AWS for the UDP
service.

Fix #20911
2016-02-10 12:31:18 -05:00
Yu-Ju Hong
4544575e11 e2e: use the tagged busybox image to avoid unnecessary pulling 2016-02-08 15:28:55 -08:00
k8s-merge-robot
14e2c2b740 Merge pull request #20773 from justinsb/fix/e2e_pods_to_be_ready_format
Auto commit by PR queue bot
2016-02-08 00:03:46 -08:00
Tim Hockin
fecb71420c Demote static IPs ASAP for easier cleanup
This exposed bugs in the IP promotion/demotion logic.
2016-02-06 21:15:06 -08:00
Justin Santa Barbara
051ff6aa35 e2e: fix format-string for error message
Argument was omitted
2016-02-06 09:15:55 -05:00
Tim Hockin
a98f556dbb cleaner service e2e strings 2016-02-04 09:28:48 -08:00
Saad Ali
b6c26ef69b Merge pull request #20569 from thockin/service-e2e-hang-20561
Fix wrong timeout param to wget
2016-02-03 16:00:13 -08:00
Saad Ali
ae35a302b5 Merge pull request #20471 from bprashanth/kp-logs
kube-proxy tries to apply latest snapshot
2016-02-03 15:49:02 -08:00
Tim Hockin
88dbcffdf0 Fix wrong timeout param to wget 2016-02-03 14:53:32 -08:00
Prashanth Balasubramanian
47f7f4417d Poll w/ timeout for nodeport to disappear. 2016-02-03 12:58:42 -08:00
Tim Hockin
b7782e73b6 Service e2e cleanup
Make a new jig that is based on the netexec container.  Change the LB tests to
use this new jig and leave TODOs for other tests.

Add UDP testing to the main mutability test.

Flatten the "identical names" test into the mutability test - it is now the
only load-balancer test (speedup).  Create LBs in parallel.
2016-02-02 22:04:27 -08:00
Tim Hockin
fd5cbdf73f Rename a couple things for obviousness 2016-02-02 21:46:30 -08:00
k8s-merge-robot
26202fc98a Merge pull request #18804 from marun/fix-nodeport-services
Auto commit by PR queue bot
2016-02-02 14:07:49 -08:00
Brendan Burns
2aa5dc317b Try harder to delete cloud resources in service tests 2016-02-01 15:34:55 -08:00
Maru Newby
a5e00da867 Fix nodeport service compat with default-deny fw 2016-02-01 21:34:30 +00:00
Chao Xu
90b4662d8d Add services/status path, and let the service controller uses Services.UpdateStatus() 2016-01-31 12:39:45 -08:00
Prashanth Balasubramanian
7076ec9ebf Poll nodeip:node-port till kube-proxy updates iptables. 2016-01-28 10:58:29 -08:00
Tim Hockin
9a75794fd6 slightly better logs in service e2e 2016-01-22 16:12:02 -08:00
Alex Mohr
a5dddfcb32 Merge pull request #19851 from thockin/fix-19723-test-strings
Match regexes for error strings in e2e
2016-01-21 14:31:47 -08:00
Tim Hockin
a1df9ff4b4 Match regexes for error strings in e2e 2016-01-21 08:46:37 -08:00
Harry Zhang
936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
Kenneth Shelton
9e6c45c395 Updated comments
Updated documentation
Fixed e2e test
2016-01-05 20:51:21 +00:00
Kenneth Shelton
d399a8f8cc * Added UDP LB support (for GCE) 2016-01-05 20:51:21 +00:00
Tim Hockin
4bbbb9a3c9 e2e: Loop more to defeat service randomization 2015-12-29 11:23:19 -08:00
Isaac Hollander McCreery
8b255feeee Add flaky label [Flaky] to tests 2015-12-22 12:29:57 -08:00
k8s-merge-robot
d01a954be7 Merge pull request #18682 from bprashanth/docker_exec
Auto commit by PR queue bot
2015-12-19 20:32:53 -08:00
k8s-merge-robot
3c3a24e1d4 Merge pull request #18694 from thockin/airplane_validation_pt7
Auto commit by PR queue bot
2015-12-19 03:57:53 -08:00
Isaac Hollander McCreery
bd49a3420e Add [Disruptive] and [Serial] labels to appropriate tests
And use for partitioning; makes progress toward 10548
2015-12-18 11:12:28 -08:00
Tim Hockin
0fecf965b4 Change how one-of blocks are validated
I took a hard look at error output and played until I was happier.  This now
prints JSON for structs in the error, rather than go's format.

Also made the error message easier to read.

Fixed tests.
2015-12-18 09:42:14 -08:00
k8s-merge-robot
0b93238423 Merge pull request #18536 from mikedanese/ns-label
Auto commit by PR queue bot
2015-12-17 02:38:04 -08:00
k8s-merge-robot
4a9922c900 Merge pull request #18509 from gmarek/fix-e2e-pd
Auto commit by PR queue bot
2015-12-17 02:06:23 -08:00
Prashanth Balasubramanian
4d9a33f96e Services e2e should use kubectl exec instead of docker run. 2015-12-15 11:16:04 -08:00
Tim Hockin
86b91ac6bc Deflake a test - Sleep(5) != 5 seconds
Fixes #18283 (I hope - very rare flake)
2015-12-14 11:59:34 -08:00
gmarek
f38455ddc3 Update e2e tests to list only schedulable nodes, to make them work with master Node registered. 2015-12-14 16:28:23 +01:00
Wojciech Tyczynski
960808bf08 Switch to versioned ListOptions in client. 2015-12-14 14:26:09 +01:00
Mike Danese
a3b6674fbf add a label to namespaces created by e2e framework 2015-12-11 09:53:56 -08:00
Tim Hockin
ad22d00e40 Extend a too-short timeout in services e2e 2015-12-10 16:34:07 -08:00
Tim Hockin
ed1f2d75e9 Deflake services e2e
Picking a nodePort needs to be more robust than "add one to an existing port
and hope it works".  Now we try all ports in the range if we have to.
2015-12-10 13:43:26 -08:00
Tim Hockin
ba907883fb Try to fix rare test flake in services e2e 2015-12-04 16:35:02 -08:00
Wojciech Tyczynski
6dcb689d4e Simplify List() signature in clients. 2015-12-03 09:54:07 +01:00
Wojciech Tyczynski
8343c8ce6c Pass ListOptions to List() methods. 2015-12-01 15:00:36 +01:00
Tim Hockin
baeea3272a make SSH logging in e2e more consistent 2015-11-20 14:49:19 -08:00
Dr. Stefan Schimanski
2d6c2eb897 e2e: replace ssh with net=host hostexec pod and kubectl exec
- document needed packages in hostexec image
- add RunHostCmdOrDie
- kube-proxy e2e: port from ssh to hostexec
  - use preset NodeName to schedule test pods to different nodes
  - parallel launch of pods
  - port from ssh to hostexec
  - add timeout because nc might block on udp
  - delete test container without grace period
- PrivilegedPod e2e: port from ssh to hostexec
- NodePort e2e: port from ssh to hostexec
- cluster/mesos/docker: Enable privileged pods
2015-11-17 20:48:34 +01:00
Tim Hockin
ba383bcfeb Refactor IntOrString into a new pkg
pkg/util/intstr is a cleaner encapsulation for this type and supporting
functions.  No behavioral change.
2015-11-16 10:57:52 -08:00
Matt Moore
b750d1dddc Drop the beta for GCR v2 images.
beta.gcr.io is no longer needed to pull through v2.
2015-11-14 12:19:02 -08:00
Brendan Burns
d2fec95dda Check some errors that we were letting slip silently by. 2015-11-04 11:18:35 -08:00
gmarek
e638a415d4 Port remaining e2e tests to framework 2015-10-27 09:24:32 +01:00
Alex Robinson
ef74abd2b7 Add test that verifies a load balancer's IP doesn't change when its port
is changed.
2015-10-16 21:46:42 +00:00
k8s-merge-robot
8580804f77 Merge pull request #15138 from mattmoor/limited-beta-rewrite
Auto commit by PR queue bot
2015-10-10 11:41:34 -07:00