Commit Graph

431 Commits

Author SHA1 Message Date
Zach Loafman
e14d5f3416 Merge pull request #3464 from smarterclayton/fix_invalid_json_in_services.sh
Fix e2e invalid JSON, ensure CLI communicates invalid JSON errors effectively
2015-01-14 10:26:34 -08:00
Clayton Coleman
ccdc20d90c Ignore empty objects from streams and error when nothing passed to create
Passing zero objects to create should be an error
2015-01-14 13:12:33 -05:00
Clayton Coleman
31413c8727 Add more tests around JSON/YAML decoding from the CLI
Switch the ignore stream errors behavior to print a Warningf on
failure to parse, not v(2)
2015-01-14 12:38:36 -05:00
Clayton Coleman
abc621759a Add --v=4 to e2e bash executions by default
Will allow more debugging output to be available in CLI
2015-01-14 12:37:40 -05:00
Clayton Coleman
d986028cf7 Remove trailing commas from e2e services.sh 2015-01-14 12:36:25 -05:00
Zach Loafman
1f210d4961 Merge pull request #3438 from zmerlynn/fix_pd_sh
Deflake pd.sh: Try really, really hard to detach and delete PD
2015-01-14 07:57:39 -08:00
Zach Loafman
21e81de190 Deflake pd.sh: Try really, really hard to detach and delete PD, up pod-up timeout 2015-01-14 07:48:34 -08:00
Clayton Coleman
ec803cb809 Allow resource.Builder to stream YAML from the CLI
Add both JSON and YAML STDIN tests in test-cmd
2015-01-14 00:50:13 -05:00
Clayton Coleman
be8d97077e hack/test-cmd.sh can be easier to read if we set PATH
instead of using a replacement var.  Makes cut and paste testing
easier.
2015-01-13 19:04:47 -05:00
Clayton Coleman
80260f4cb9 Improve hack/test-cmd.sh tests to check versions and default API behavior 2015-01-13 18:46:13 -05:00
Zach Loafman
ba618db226 Fix kubernetes-e2e-gke build
Got a little aggressive combining options here. Accidentally forgot
that this parameter would bork normal GKE.
2015-01-12 16:55:56 -08:00
Zach Loafman
c5c70dfcbb Merge pull request #3417 from brendandburns/e2e
Don't just sleep and hope when deleting the pd pod.
2015-01-12 16:13:00 -08:00
Brendan Burns
bdcb0c53f5 Don't just sleep and hope when deleting the pd pod. 2015-01-12 16:06:57 -08:00
Daniel Smith
14b718973a Merge pull request #3415 from zmerlynn/e2e_jenkins_script
Add Jenkins e2e script
2015-01-12 15:11:28 -08:00
Brendan Burns
a6f6f25dda Merge pull request #3387 from zmerlynn/fix_monitor_flake
Fix monitoring.sh flake (hopefully)
2015-01-12 14:32:31 -08:00
Zach Loafman
3095f1bf64 Add Jenkins e2e script
This commit adds and documents the e2e script that Jenkins runs
2015-01-12 13:49:24 -08:00
Zach Loafman
0b3baad0f4 Kill the forced upload to GCS.
This actually tickles the -opipefail, and is only necessary if you're
rebuilding (which isn't really safe, because it can slice downstream
builds.)
2015-01-12 09:52:58 -08:00
Zach Loafman
c5ab2412a3 chmod 755 hack/jenkins/build.sh (sorry) 2015-01-12 09:33:50 -08:00
Dawn Chen
724e766f91 Merge pull request #3360 from zmerlynn/jenkins_scripts_start
Initial commit of Jenkins script + README
2015-01-12 09:22:39 -08:00
Zach Loafman
0918bdbd88 Fix monitoring.sh flake (hopefully)
This was staring at me yesterday, and I even commented that "huh,
there's got to be something wrong with the firewall rules, but then
job/kubernetes-e2e-gce/1002/tapResults/ made it obvious: If you have
two e2e jobs running at the same time in the same project (hint:
Jenkins does), they'll race with each other, since resource names are
project scoped.
2015-01-10 08:19:55 -08:00
Zach Loafman
ca1753e51f Initial commit of Jenkins script + README
And a config description. This doesn't yet have much - first want to
make sure I can do the build job. Next I'll submit the e2e script with
its twiddles and switch those over. (After going to 3 e2es, I think
it's finally time for version control.)
2015-01-09 16:28:48 -08:00
Clayton Coleman
dcd11761e7 Reenable Coverage and Race detection for travis and integration test 2015-01-09 13:16:30 -05:00
bgrant0607
7bff03fb41 Merge pull request #2878 from smarterclayton/enable_v1beta3
Enable v1beta3 API via --runtime_config=api/v1beta3 flag
2015-01-08 11:04:06 -08:00
Tim Hockin
812e8346ac Merge pull request #3314 from zmerlynn/fix_services_sh_version_skewed
GKE: Fix services.sh for server versions < 0.8.0
2015-01-08 10:55:31 -08:00
Zach Loafman
e250c46598 GKE: Fix services.sh for server versions < 0.8.0
Commit e045c6ce broke this test against all server versions <0.8.0,
which immediately broke the GKE Jenkins runs.
2015-01-08 10:42:01 -08:00
Clayton Coleman
7fd887df61 Enable v1beta3 API via --runtime_config=api/v1beta3 flag
This exposes the proper v1beta3 API endpoint when the user specifies
the --runtime_config=api/v1beta3 argument to the apiserver. v1beta3
is still considered experimental and subject to change.

--runtime_config is a map of string keys and values, that can be
specified by providing

    --runtime_config=a=b,b=c,d,e

Only the key must be specified, the value can be omitted.

Enables v1beta3 in hack/local-up-cluster.sh and hack/test-cmd.sh
2015-01-08 13:01:24 -05:00
Clayton Coleman
8262c30c97 Improve serialization round trip test and add v1beta3 2015-01-08 12:44:28 -05:00
Clayton Coleman
2495174ab7 test-cmd should test all api versions 2015-01-08 10:47:53 -05:00
Vish Kannan
869f06c4e8 Merge pull request #3257 from brendandburns/monitoring
Add some more robustness to the curl check.
2015-01-08 07:40:16 -08:00
Zach Loafman
3ddde070f3 Merge pull request #3309 from brendandburns/race
Add some retry around the wget, in an effort to deflake the test
2015-01-07 22:20:42 -08:00
Brendan Burns
dba7248d0e Add some more robustness to the curl check. 2015-01-07 21:07:49 -08:00
Brendan Burns
eda47206bd Add some retry to the wget checking from container. 2015-01-07 21:05:19 -08:00
Eric Tune
0d4d1e28b2 Merge pull request #3270 from smarterclayton/kubelet_fixes
Cleanup to client initialization in Kubelet
2015-01-07 15:55:38 -08:00
Tim Hockin
d314862e46 Merge pull request #3285 from erictune/public_reflectors
Make Reflector helpers reusable.
2015-01-07 14:10:57 -08:00
Eric Tune
7d5ac856c5 Make Reflector helpers reusable.
Scheduler uses Reflector from pkg/client/cache.
It defines some helper classes.
I'd like to use those helpers with pkg/client/cache
in kube-proxy and kubelet too.
2015-01-07 13:49:37 -08:00
Clayton Coleman
ba53d723d3 Clean up how client is passed to Kubelet in preparation for reading pods
Also fixes how Kubelet server looks up pods by name when there are multiple
sources.
2015-01-07 14:40:37 -05:00
Rohit Jnagal
62ecd5f3ff Fix few vet errors.
There are quite a few 'composite literal uses unkeyed fields' errors that I have kept out of this patch.
And there's a couple where vet just seems confused. These are the easiest ones.
2015-01-07 08:40:16 +00:00
Eric Tune
ee2f63a877 Merge pull request #3221 from thockin/integ
Reduce verbosity on integration tests
2015-01-06 12:50:38 -08:00
Eric Tune
823d878b30 Merge pull request #3246 from zmerlynn/newline_printable
Fix newlines in TAP stdout/stderr output
2015-01-06 11:41:08 -08:00
Zach Loafman
9312af4f79 Fix newlines in TAP stdout/stderr output
It turns out, newlines are not "printable", causing the TAP
stderr/stdout output to be smushed. Also address etune's comment on
pr3208.
2015-01-06 08:08:19 -08:00
Brendan Burns
cdad54ba48 Merge pull request #3232 from nikhiljindal/third_party
Moving swagger-ui files from www/swagger-ui to third_party/swagger-ui
2015-01-05 21:38:41 -08:00
nikhiljindal
1db30aeb51 Moving swagger-ui files from www/swagger-ui to third-party/swagger-ui
and adding LICENSE and README files
2015-01-05 16:27:33 -08:00
Joe Beda
943ed6d289 Merge pull request #3146 from zmerlynn/limit_liveness_gke
GKE: Limit liveness.sh to server version >0.7.2
2015-01-05 14:41:39 -08:00
Zach Loafman
7d507a4fa9 Merge pull request #3228 from jbeda/dns-release
Create cluster/addons for things to put into a kubernetes cluster
2015-01-05 14:26:04 -08:00
Zach Loafman
e965fc1f79 GKE: Limit liveness.sh to server version >0.7.2
What I really want is
https://github.com/GoogleCloudPlatform/kubernetes/issues/2953, but
haven't had a chance to code that yet. Maybe it's time. (Then I'd
remove the provider-specific test and just say "is it > 0.7.2, or does
it claim to be capable of something from the future?" The latter
covers the HEAD server case .. though just bumping the server version
immediately after release might also accomplish that, too.)
2015-01-05 14:21:21 -08:00
Clayton Coleman
d90cf9b8ac Boilerplate checks on 2014, but commit included a 2015 (breaks travis)
Revert boilerplate to 2014 until hack/verify-boilerplate.sh is fixed
2015-01-05 16:28:52 -05:00
Joe Beda
9aa48b7628 Move heapster data files to cluster/addons.
Also pretty up the JSON (make it real JSON) and streamline the sed in cluster/gce/init.sh.
2015-01-05 12:32:35 -08:00
Joe Beda
4e417b98b5 Merge pull request #3206 from zmerlynn/jenkins_style_e2e
Add script to run e2e tests from binary deployment: e2e-from-release.sh
2015-01-05 11:09:38 -08:00
Tim Hockin
987d6ccef4 Reduce verbosity on integration tests 2015-01-05 10:51:43 -08:00
Zach Loafman
d938ecaba2 Escape stdout/stderr YAML-like elements for TAP output
Fixes https://github.com/GoogleCloudPlatform/kubernetes/issues/3094
2015-01-04 08:02:43 -08:00
Zach Loafman
51afb97b59 Add script to run e2e tests from binary deployment: hack/e2e-from-release.sh
We need a way to quickly emulate what Jenkins is doing. This script
easily demonstrates problems like
https://github.com/GoogleCloudPlatform/kubernetes/issues/3190, which
git based e2e runs won't show.
2015-01-04 05:55:29 -08:00
Tim Hockin
e045c6ce2f Split portals into host and container
After this DNS is resolvable from the host, if the DNS server is targetted
explicitly.  This does NOT add the cluster DNS to the host's resolv.conf.  That
is a larger problem, with distro-specific tie-ins and circular deps.
2014-12-29 09:18:12 -08:00
Tim Hockin
1c9ac79e78 Merge pull request #3141 from lavalamp/optimize
Fix e2e; add template function to make this possible
2014-12-23 15:03:33 -08:00
Daniel Smith
eff054515a fix update.sh 2014-12-23 22:48:43 +00:00
Brendan Burns
3f43dd32be Add some extra checks to (hopefully) prevent flakes. 2014-12-23 09:34:27 -08:00
Patryk Dunski
02862f926d Issue #3101 - fixes high CPU load in hack/local-up-cluster.sh when there is no standard input defined 2014-12-22 22:47:00 +01:00
Joe Beda
44ce5bef6a Merge pull request #3088 from sergeyevstifeev/patch-1
Remove unnecessary 'sudo'
2014-12-22 13:19:49 -08:00
Sergey Evstifeev
5236b22cda Run only kubernetes components with sudo 2014-12-22 20:12:02 +01:00
Vishnu Kannan
ad37518fbe Improve monitoring e2e test. 2014-12-20 02:02:03 +00:00
Max Forbes
c3efef86d0 Add GKE as a provider. 2014-12-19 11:47:06 -08:00
Brendan Burns
4833b88af4 Fix the e2e test to remove a race. 2014-12-18 13:45:41 -08:00
Brendan Burns
1720a4f170 Merge pull request #3001 from zmerlynn/taptimes
Fix duration_ms output to seconds (_ms obviously means measure-in-second...
2014-12-17 21:42:01 -08:00
Zach Loafman
d3aed6c9cd Add kubernetes-test.tar.gz
Add test artifacts to the build. This lets you do:

tar -xzf kubernetes.tar.gz
tar -xzf kubernetes-test.tar.gz
cd kubernetes
go run ./hack/e2e.go -up -test -down

without having a git checkout.
2014-12-17 14:30:30 -08:00
Zach Loafman
7ee633d186 Fix duration_ms output to seconds (_ms obviously means measure-in-seconds!?) 2014-12-17 10:04:09 -08:00
Zach Loafman
c25229937c Add test timing to TAP output in hack/e2e.go
Found this buried at https://issues.jenkins-ci.org/browse/JENKINS-16647
2014-12-16 16:54:45 -08:00
bgrant0607
003ba68e4c Merge pull request #2978 from brendandburns/exec
Add an e2e test for exec liveness probes.  Fix the docker exec integration
2014-12-16 14:53:21 -08:00
Joe Beda
e933ac5784 Make it clearer how to run kubectl after bringing up a local cluster.
Fixes #2935.
2014-12-16 14:21:22 -08:00
Brendan Burns
3a0d16ff35 Add an e2e test for exec liveness probes. Fix the docker exec integration. 2014-12-16 13:53:32 -08:00
bgrant0607
56ee66831b Merge pull request #2979 from brendandburns/e2e
Wait for not pending, not for running.
2014-12-16 13:49:49 -08:00
Brendan Burns
12803c1a0e Merge pull request #2944 from deads2k/deads-make-monitoring.sh-run
make e2e/monitor.sh work outside gce
2014-12-16 13:28:49 -08:00
Brendan Burns
d2ff21d3d5 Wait for not pending, not for running.
When failures occur, we go to 'Terminated' which can cause
indefinite blocking.
2014-12-16 13:27:34 -08:00
deads2k
8313e5d9bf make e2e/monitor.sh work outside gce 2014-12-16 15:01:16 -05:00
Daniel Smith
e62280d84a Merge pull request #2957 from brendandburns/e2e
Add an e2e test for http liveness.
2014-12-16 11:42:33 -08:00
Brendan Burns
f1b55c04e2 Add an e2e test for http liveness. 2014-12-16 11:38:52 -08:00
Alex Robinson
fe76243b05 Make it easy to use the e2e tests to test upgrading a running master
by adding support for testing official release versions and writing a
simple script to first bring up and test the old version before
upgrading it and testing it again. Related to supporting in-place
upgrades of masters (#2524).
2014-12-15 16:03:11 -08:00
Max Forbes
f9108c62c2 Use GCLOUD var consistently. 2014-12-15 13:08:10 -08:00
Max Forbes
bea37d5b17 Fix up e2e tests. 2014-12-15 11:53:51 -08:00
Brendan Burns
2d1b279311 Merge pull request #2905 from smarterclayton/misc_cleanup
Small fixes to prepare for v1beta3
2014-12-15 11:49:29 -08:00
Clayton Coleman
7d2a64b2a8 test-cmd should test all api versions 2014-12-12 18:23:17 -05:00
Zach Loafman
43addc7202 Add Test Anything Protocol (TAP) output to e2e.go
Adds a --tap option to change outputs to match the TAP format. Changes
pass/fail in general to "ok" / "not ok".
2014-12-11 12:20:38 -08:00
Zach Loafman
369064c69f Add --times to e2e.go
Make each test available for execution --times times. Acts like a
multi-deck shoe. (Otherwise this is easily scriptable outside the
e2e.go command).

Useful for "I want to walk away for a few hours leaving some end-to-ends
running", until we have more stress tests. Also useful for detecting
flakes.

Reporting is changed to break out Passed, Flaky and Failed. I chose to
keep all three lines even if --times isn't on, just for consistency in
scraping. Similarly, it always outputs the counts now. A report looks
like:

2014/12/09 07:31:21 Passed tests: goe2e.sh[100/100] guestbook.sh[100/100] private.sh[100/100] services.sh[100/100]
2014/12/09 07:31:21 Flaky tests: basic.sh[99/100] certs.sh[99/100] monitoring.sh[98/100] pd.sh[98/100] update.sh[98/100]
2014/12/09 07:31:21 Failed tests:
2014/12/09 07:31:21 8 test(s) failed.
2014-12-11 12:18:56 -08:00
Brendan Burns
a670f833bd Improve the pd e2e test by deleting the pod, and verifying that the PD was unmounted by
recreating the pod.
2014-12-10 20:31:46 -08:00
Clayton Coleman
d1d7505272 Rename client Minions->Nodes, select the correct path for v1beta3
Replaces the client public interface but leaves old references to "minions"
for a later refactor.  Selects the path "nodes" for v1beta3 and "minions"
for older versions.
2014-12-10 12:08:19 -05:00
Deyuan Deng
bf42ea26d5 Use EXIT pseudo-signal 2014-12-08 21:28:18 -05:00
Zach Loafman
b7a7e92ad1 Add --pushup to e2e.go
Silly but hopefully memorable name for an option to --push OR --up
depending on cluster state.
2014-12-08 15:23:30 -08:00
Daniel Smith
c5667e1cfe Merge pull request #2782 from zmerlynn/e2e.shuffle
Run e2e tests in deterministic random order
2014-12-08 13:01:32 -08:00
Zach Loafman
f3a992aa08 Run e2e tests in deterministic random order
Currently, we run the e2e tests in whatever order readdir happens to
return, which is random on some filesystems, name sorted on others,
create order on others, etc. Eventually, we may want to be
automatically hermetic between e2e tests (especially as we introduce
more resource destructive tests), but until then, it would be useful
if we permute the test order randomly between runs to ensure that
developers don't accidentally rely on a particular order. This
introduces a form of forced hermeticism, since improper state cleanup
from one test may not perturb a given test, but there's probably *a*
test in the suite that the order will perturb, so the RNG will find
that order eventually.

Adds logging of the generated seed, and an --orderseed argument that
can be used to re-run in the same order. Also sorts the pass/fail list
now for easier human reading.
2014-12-08 11:10:39 -08:00
Daniel Smith
0166649364 Merge pull request #2783 from zmerlynn/IsUp
Check if cluster is up before e2e test without -up
2014-12-08 10:54:22 -08:00
Zach Loafman
3afcebecca Fix e2e-suite/certs.sh unbound variables
Fixes e2e failure on GCE
2014-12-07 16:39:56 -08:00
Zach Loafman
3009c88865 Check if cluster is up before e2e test without -up
Minor usability nuisance: If you run:
  go run hack/e2e.go -v -test
.. and you don't happen to have an up e2e cluster, it should fail
fast, rather than chugging through every test and having them fall
over.
2014-12-07 15:35:22 -08:00
Brendan Burns
2a53b002ef Fix the update test. 2014-12-05 15:21:53 -08:00
Brendan Burns
f5dd5138ef Merge pull request #2774 from brendandburns/fix
Make certs.sh executable.
2014-12-05 15:19:18 -08:00
Brendan Burns
c60742a436 Make certs.sh executable. 2014-12-05 14:11:19 -08:00
Jordan Liggitt
4ab41f5be8 Add script to build ui assets, rebuild with latest go-bindata 2014-12-04 22:38:00 -08:00
Daniel Smith
9dfd5a1247 Merge pull request #2731 from brendandburns/bash
Adjust the regexp so that we can handle extra sub versions.
2014-12-04 11:12:47 -08:00
Tim Hockin
2486331d34 Add an e2e case for public IPs 2014-12-03 08:30:00 -08:00
Tim Hockin
bf1395f06a use a here-doc instead of kubecfg run 2014-12-02 23:55:45 -08:00
Brendan Burns
373cf77ae1 Adjust the regexp so that we can handle extra sub versions. 2014-12-02 23:00:01 -08:00
Brendan Burns
77d4950f83 Add an e2e test for cert generation. 2014-12-02 17:08:48 -08:00
Brendan Burns
6ec5da9f6a Merge pull request #2706 from vishh/monitoring_e2e
Adding an e2e test for monitoring.
2014-12-02 14:00:18 -08:00