Commit Graph

635 Commits (95b528ffec6de06a2baf709fcbc984ea638bf510)

Author SHA1 Message Date
Jeff Lowdermilk 890615d93e Replace kubecfg with kubectl in e2e tests 2015-02-03 11:43:55 -08:00
Satnam Singh 6d5c56b2a7 Merge pull request #3995 from filbranden/e2e_pod_update_remove_external_json
Convert load of api/examples/pod.json into native Go definition of the api.Pod
2015-02-02 11:37:19 -08:00
Filipe Brandenburger 5b6eee294e Merge pull request #3993 from satnam6502/services
Fix services.sh to swap out broken kubecfg calls
2015-01-30 15:48:16 -08:00
Filipe Brandenburger 1d981f9345 Convert load of api/examples/pod.json into native Go definition of the api.Pod
This is another step in removing external dependencies of the Go e2e tests.

Remove references to this file on list of files required to run e2e tests.

Also use an unique name for the pod, so that failure in cleanup of a
previous run should not break a new run with a name conflict.

Tested by running cmd/e2e -t TestPodUpdate against an API server in GCE.
2015-01-30 15:25:56 -08:00
Satnam Singh b7aa81ebc6 Fix services.sh to swap out broken kubectl calls 2015-01-30 15:22:39 -08:00
Zach Loafman 67c382b5f0 Clean out dead docker containers and docker images every Jenkins build
This will increase build times on Jenkins, but should make the build
times consistent and make them pull from sources every time versus
leftover artifacts. Also upping timeout. (Try to address recent
some aborted builds.)
2015-01-30 13:53:27 -08:00
Filipe Brandenburger a74fce5bd7 Convert load of test/e2e/pod.json into native Go definition of the api.Pod
This is another step in removing external dependencies of the Go e2e tests.

Also remove other references to this file.

Tested by running cmd/e2e -t TestKubeletSendsEvent against an API server in GCE.
2015-01-30 13:21:09 -08:00
Satnam Singh c29d89a534 Merge pull request #3357 from proppy/fix-podex
contrib/podex: fix ordering and manifest generation
2015-01-30 12:02:15 -08:00
Brendan Burns a20ca78fb3 Update etcd to version 2.0.0 2015-01-29 17:53:53 -08:00
Tim Hockin d01ea11a6e Merge pull request #3856 from smarterclayton/validation_logic_needs_cleanup
Validation of ObjectMeta is inconsistently applied
2015-01-29 14:12:44 -08:00
Clayton Coleman 053c2b2100 Fix grafana and heapster RC names 2015-01-29 16:26:39 -05:00
Tim Hockin 7603f88960 Merge pull request #3903 from brendandburns/e2e2
Add a simple script for running go e2e tests against existing clusters.
2015-01-29 11:51:36 -08:00
Brendan Burns 0ad036e0eb Put watch in a loop so that we grab all event logs, even if the watch hangs up. 2015-01-29 09:56:20 -08:00
Brendan Burns ca6de16df7 Merge pull request #3915 from brendandburns/fixer
Fix update.sh
2015-01-28 20:02:58 -08:00
Brendan Burns 9f5ca3f6ac Fix update.sh 2015-01-28 20:00:47 -08:00
roberthbailey 9bfdfa0522 Merge pull request #3902 from satnam6502/killshell
Remove basic.sh and private.sh shell e2e tests
2015-01-28 16:51:22 -08:00
Brendan Burns ca6576d060 Add a simple script for running go e2e tests against existing clusters.
Also add an even simpler script for testing the network setup.
2015-01-28 16:39:21 -08:00
Zach Loafman 668d8539b8 Merge pull request #3855 from filbranden/ginkgo1
Initial adoption of Ginkgo in Kubernetes e2e tests
2015-01-28 16:32:11 -08:00
Filipe Brandenburger 606b517a07 Enable Go e2e report_dir in Jenkins
Use the E2E_REPORT_DIR global environment variable to define the
location where the JUnit XML reports should be saved.

Modify the Jenkins e2e.sh script to export that variable pointing to the
top of the Jenkins build tree.

Tested by running `E2E_REPORT_DIR=${PWD}/.. hack/e2e-test.sh` and
confirmed ../junit.xml was generated and looked good.
2015-01-28 16:27:43 -08:00
Maxwell Forbes 5500b1a261 Merge pull request #3576 from jlowdermilk/examples
Update update-demo example to use kubectl
2015-01-28 15:43:18 -08:00
Jeff Lowdermlk c912b831ce Update update-demo example and e2e test to use kubectl 2015-01-28 15:26:56 -08:00
Satnam Singh 7e6a4ec0f5 Remove basic.sh and private.sh shell e2e tests 2015-01-28 14:43:53 -08:00
Filipe Brandenburger 18880d9086 Merge pull request #3895 from brendandburns/e2e
introduce a timeout for the update test.
2015-01-28 14:42:21 -08:00
Brendan Burns d13d2e8661 Add a hacky sleep in an attempt to deflake a test. 2015-01-28 14:19:19 -08:00
Brendan Burns 281b3c15ab introduce a timeout for the update test. 2015-01-28 14:10:51 -08:00
Tim Hockin 988d15943f Merge pull request #3787 from satnam6502/serve_hostname
Reduce size of serve_hostname image
2015-01-28 09:07:26 -08:00
Brendan Burns abce3ecf26 Fix update.sh given the renaming of the network container. 2015-01-27 21:58:21 -08:00
Tim Hockin a480794efc Tighten validation of Name and Namespace 2015-01-27 17:04:59 -05:00
Paul Morie 8917c669d1 Make it possible to test a single package w/o cover report 2015-01-25 21:26:36 -05:00
Satnam Singh 3841d1b5d1 Reduce size of serve_hostname image 2015-01-24 09:49:26 -08:00
Vishnu Kannan 2131ed5616 Fix monitoring.sh 2015-01-24 00:09:44 +00:00
Tim Hockin 9566467cdd Fix monitoring e2e to find kubectl 2015-01-23 12:36:03 -08:00
Vishnu Kannan adbbfbf62f Improve monitoring e2e test. 2015-01-23 18:59:05 +00:00
Joe Beda f3b0f285fa Fix min minions for e2e 2015-01-21 11:37:57 -08:00
Brian Grant fc1e3854af Merge pull request #3684 from smreed/services-e2e-fix
Fixes endpoint propagation failure in services e2e
2015-01-21 10:37:26 -08:00
Steve Reed 0d79cfc581 Adds trailing semi-colon as per PR comment 2015-01-21 10:30:58 -08:00
Steve Reed e3f7899be2 Extra echo in services.sh e2e test to get it to pass 2015-01-21 10:30:19 -08:00
Brian Grant 91533095e5 Merge pull request #3656 from jbeda/vagrant-e2e
Fix up a bunch of vagrant stuff to enable e2e
2015-01-21 07:26:13 -08:00
Satnam Singh fc83ba704b Make basic end to end test robustly wait for hostIP 2015-01-20 19:30:13 -08:00
Joe Beda a76b6dddad Turn of services.sh as it is broken.
See https://github.com/GoogleCloudPlatform/kubernetes/issues/3655.
2015-01-20 16:48:10 -08:00
Joe Beda c5634e90ba Verify cluster size before e2e 2015-01-20 09:11:29 -08:00
Paul Morie 0c51f9df8d Make e2e -up recreate running clusters; remove kube-up retry 2015-01-18 12:19:07 -05:00
Satnam Singh d8f07da775 Revert basic.sh and private.sh 2015-01-16 14:43:11 -08:00
Eric Tune 98bdd3f7c4 Test for and fix crash with nil client in kubelet.
Added test that fails before fix.
Fixed use of nil pointer.
2015-01-16 13:39:31 -08:00
Vishnu Kannan 50c32fbba4 Adding a replication controller for all monitoring pods.
Removed auth for Grafana to facilitate usage via service proxy on the api-server.
Added a grafana service
Removed elasticsearch dependency for monitoring - faster startup times.
2015-01-16 18:37:46 +00:00
Johan Euphrosine 363ce1b39a contrib: fix name and readability, exclude from test 2015-01-16 11:54:11 +01:00
Satnam Singh 33e00320bf Convert private.sh test to Go and remove basic.sh and private.sh 2015-01-15 18:04:12 -08:00
Satnam Singh 1bff012c36 Convert basic.sh e2e test to Go 2015-01-15 11:41:29 -08:00
Joe Beda 224ffa4567 Merge pull request #3480 from jbeda/all_pflag
Convert all main binaries to pflag library
2015-01-15 11:26:41 -08:00
Brendan Burns 718a563b1f Add a gendocs pre-submit hook. 2015-01-15 09:52:51 -08:00
Joe Beda 228659a177 Fix up for posix flags 2015-01-15 09:12:19 -08:00
Joe Beda ddcd2e1d2b Merge pull request #3463 from jlowdermilk/gendocs
Autogenerate markdown docs for kubectl
2015-01-14 13:32:38 -08:00
Jeff Lowdermlk 250c948ae7 Autogenerate markdown docs for kubectl
Add test to verify generated docs are up to date.
2015-01-14 13:21:14 -08:00
Zach Loafman 0c4119fb07 Revert "Add --v=4 to e2e bash executions by default"
This reverts commit abc621759a, which
interacts weirdly with Jenkins on the GKE provider. Tactical revert
until that can be figured out:

https://github.com/GoogleCloudPlatform/kubernetes/issues/3474
2015-01-14 13:10:45 -08:00
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
Vishnu Kannan 090eb966f2 Adding an e2e test for monitoring. 2014-12-02 06:54:59 +00:00
James Kyle 361c8dbae5 Support remote docker hosts on OS X.
This commit brings two main changes, notably:

Two new options that can be set as environment variables

- DOCKER_OPTS: any arbitrary set of docker options. Example: --tlsverify
- DOCKER_NATIVE: This forces the use of the native docker available.
                 This is most useful if you're on OS X and do not want
                 to use boot2docker.

Now uses 'docker cp' instead of tar piping to transfer files. This
currently must be done by copying the binaries off of the docker volume
and into a local filesystem (/tmp) before a docker cp is done. This
workaround will no longer be necessary after bug fix
https://github.com/docker/docker/pull/8509 makes it into stable.

This was necessary because the tar | tar method was creating corrupted
archives on OS X even with the < /dev/null workaround.
2014-12-01 11:47:16 -08:00
Joe Beda 6ba07b38fc Convert gcutil to gcloud compute 2014-11-25 15:17:00 -08:00
Joe Beda 175ca37bc7 trace-bash flag for e2e.go 2014-11-25 15:16:35 -08:00
Brendan Burns 45d1f26889 Merge pull request #2583 from jbeda/window-build
Support building/packaging Windows client binaries.
2014-11-25 11:17:20 -08:00
Brendan Burns e1764e2e01 Add an e2e test for gce pd.
Add an example for gce pd.
Add an extra log message.
2014-11-25 09:02:00 -08:00
Joe Beda 5bf43236e3 Support building/packaging Windows client binaries.
Ug -- .exe suffix is a pain.  These are largely untested.
2014-11-24 14:10:28 -08:00
Eric Tune 248dddf34a Merge pull request #2538 from brendandburns/fix
Increase the verbosity of integration test runs.
2014-11-24 09:41:08 -08:00
Brendan Burns 5bda4f9292 Increase the verbosit of integration test runs. 2014-11-21 21:45:21 -08:00
Brian Grant 2ac8400cb2 Add API documentation pre-commit hook. 2014-11-20 20:25:44 +00:00
Brendan Burns cea52d7e4f Merge pull request #2409 from mattmoor/master
Implements a credentialprovider library for use by DockerPuller.
2014-11-17 21:53:25 -08:00
Matt Moore 0c5d9ed0d2 Implements a credentialprovider library for use by DockerPuller.
This change refactors the way Kubelet's DockerPuller handles the docker config credentials to utilize a new credentialprovider library.

The credentialprovider library is based on several of the files from the Kubelet's dockertools directory, but supports a new pluggable model for retrieving a .dockercfg-compatible JSON blob with credentials.

With this change, the Kubelet will lazily ask for the docker config from a set of DockerConfigProvider extensions each time it needs a credential.

This change provides common implementations of DockerConfigProvider for:
 - "Default": load .dockercfg from disk
 - "Caching": wraps another provider in a cache that expires after a pre-specified lifetime.

GCP-only:
 - "google-dockercfg": reads a .dockercfg from a GCE instance's metadata
 - "google-dockercfg-url": reads a .dockercfg from a URL specified in a GCE instance's metadata.
 - "google-container-registry": reads an access token from GCE metadata into a password field.
2014-11-17 21:46:54 -08:00
Joe Beda 66d287f7e4 Merge branch 'rename-to-kube' of https://github.com/eparis/kubernetes into eparis-rename-to-kube
* 'rename-to-kube' of https://github.com/eparis/kubernetes:
  rename kube server binaries to kube-

Conflicts:
	docs/salt.md
2014-11-17 09:52:10 -08:00
Brendan Burns 403e57be09 Merge pull request #2404 from jbeda/fix-nogo-build
Make dockerized build work when golang isn't installed.
2014-11-17 09:43:08 -08:00
Joe Beda f18cd53687 Make dockerized build work when golang isn't installed. 2014-11-16 16:29:58 -08:00
Brendan Burns c38880047d Update guestbook to fix given recent changes. 2014-11-15 19:36:02 -08:00
Tim Hockin eafdc684e9 Merge pull request #1922 from brendandburns/guestbook
Update the services now that Services v2 has IP per service.
2014-11-14 21:13:19 -08:00
Daniel Smith e4eb6149f8 Merge pull request #2383 from brendandburns/fix
Fix service e2e test, by eliminating the assumption that ips are re-used
2014-11-14 17:22:50 -08:00
Brendan Burns 97001e317b Fix service e2e test, by eliminating the assumption that ips are re-used. 2014-11-14 17:22:01 -08:00
Joe Beda 06d838ffb1 Merge pull request #2369 from jbeda/vagrant-fix
Vagrant fixes
2014-11-14 16:43:06 -08:00
Dawn Chen aa711af39e Merge pull request #2355 from brendandburns/kubelet
Add support for the a clusters cloud interface to cloud provider.
2014-11-14 11:14:17 -08:00
Brendan Burns d3e48c9525 Add the container API to our dependencies.
Update google-api-go-client
2014-11-14 10:38:22 -08:00
Joe Beda 5a0159ea00 Get Vagrant to start using TLS client certs.
Also fix up cert generation. It was failing during the first salt highstate when trying to chown the certs as the apiserver user didn't exist yet.  Fix this by creating a 'kube-cert' group and chgrping the files to that.  Then make the apiserver a member of that group.

Fixes #2365
Fixes #2368
2014-11-13 22:16:45 -08:00
Eric Paris a99c3c7963 rename kube server binaries to kube-
apiserver becomes kube-apiserver
controller-manager -> kube-controller-manager
scheduler and proxy similarly.

Only thing I promise is that right now hack/build-go.sh and
build/release.sh exit with 0.  That's it.  Who knows if any of this
actually works....
2014-11-13 20:08:26 -05:00
Daniel Smith c219d138ef make e2e test get events in background, for easier debugging after the fact. 2014-11-13 17:03:06 -08:00
Dawn Chen 143d986b28 Merge pull request #2336 from davidopp/master
Change update example to use a trivial webserver instead of nginx (issue...
2014-11-13 09:57:00 -08:00
Daniel Smith 4e1ab8045b fix e2e.go args for kubectl 2014-11-12 15:22:09 -08:00
David Oppenheimer 3d69351924 Change update example to use a trivial webserver instead of nginx (issue #1803). 2014-11-12 15:13:11 -08:00
Brendan Burns 110b5a3345 Update the services now that Services v2 has IP per service. 2014-11-12 11:31:28 -08:00
davidopp 6a736901ca Revert "Change update example to use a trivial webserver instead of nginx (issue..." 2014-11-11 23:03:23 -08:00
davidopp 004bc49349 Merge pull request #2320 from davidopp/master
Change update example to use a trivial webserver instead of nginx (issue...
2014-11-11 22:56:27 -08:00
David Oppenheimer 03ae4b54a3 Change update example to use a trivial webserver instead of nginx (issue #1803). 2014-11-11 22:16:18 -08:00
Eric Tune cf21f97cd2 Merge pull request #2309 from lavalamp/fix3
Refactors of kubectl object printers.
2014-11-11 16:39:04 -08:00
Daniel Smith d6d6229fea Actually let hack/e2e.go run kubectl 2014-11-11 15:32:12 -08:00
Daniel Smith 10c2a98eb0 Merge pull request #2043 from hmrm/e2e-vagrant
Clean up e2e bash-in-go script
2014-11-11 13:39:39 -08:00
Joe Beda ba611c2e31 Merge pull request #2299 from jbeda/version-fix
Use all tags for version detection
2014-11-11 12:19:10 -08:00
Joe Beda e02322ba4e Use all tags for version detection 2014-11-11 11:20:19 -08:00
Haney Maxwell fae27e2f17 Clean up e2e test 2014-11-11 11:03:07 -08:00
Brendan Burns 2c1221864d Make a standalone binary. 2014-11-10 13:34:11 -08:00
Daniel Smith d5c6499d93 Update scripts to expect versioned output in templates. 2014-11-07 16:47:22 -08:00
Daniel Smith b8aa87ed50 Add handy -cfg and -ctl options to make it easy to run a kubecfg or kubectl command against your e2e cluster. 2014-11-07 16:47:22 -08:00
Daniel Smith 5d0036070c Remove test verbosity; makes it hard to find failures when travis reports one. 2014-11-05 17:36:47 -08:00
Eric Paris 8a0e3e51e0 fix unbounded host_platform when building with --use_go_build
It's actually used unset a couple of lines after this patch, but this
just resolves it in one place instead of calling
$(kube::golang::host_platform) twice.
2014-11-04 13:58:06 -05:00
Eric Paris 7403de8bd4 add --use_go_build option when building binaries
Because of Fedora's crazy packaging guidelines, go install basically
isn't allowed.  So allow us to use go build instead of go install.
test-integration also needs to accept the flag to be able to pass it
along to the build function.
2014-11-04 13:04:22 -05:00
Clayton Coleman 6026c8b56a Add more extensive test-cmd scenarios for output 2014-11-04 10:44:56 -05:00
Clayton Coleman 179213f61c local-up-cluster: terminate all processes on SIGINT 2014-11-04 10:44:56 -05:00
Brendan Burns a4abafea02 Merge pull request #2129 from ddysher/fix-local-up
Fix local cluster scripts
2014-11-03 13:24:42 -08:00
Dawn Chen 2d92305338 Merge pull request #2132 from erikstmartin/kubelet-rootdir-fix
Fixes #1612 kubelet should fail to start if it cannot create rootDir
2014-11-03 12:51:47 -08:00
Erik St. Martin f75f2bbc0f Fixes #1612 kubelet should fail to start if it cannot create rootDir 2014-11-03 14:44:46 -05:00
Clayton Coleman 3836d24838 Merge pull request #2109 from smarterclayton/test_cmd_can_fail_on_public_addr
test-cmd.sh can fail if public IP not available
2014-11-03 11:21:27 -05:00
Deyuan Deng a7bdb362da Fix local cluster scripts 2014-11-02 23:30:14 -05:00
Joe Beda bbb66af3db Merge pull request #2092 from jbeda/1729-hack-build
Rationalize `build` and `hack` directories
2014-11-01 18:02:12 -07:00
Joe Beda 5d33ce46cc Rework hack/ and build/ directories.
* Rewrite a bunch of the hack/ directory with modular reusable bash libraries.
* Have 'build/*' build on 'hack/*'.  The stuff in build now just runs hack/* in a docker container.
* Use a docker data container to enable faster incremental builds.
* Standardize output to _output/{local,dockerized}/bin/OS/ARCH/*.  This regularized placement makes cross compilation work.
* Move travis specific scripts under hack/travis

With new dockerized incremental builds, I can do a no-op `make quick-release` in ~30s.  This is a significant improvement.
2014-11-01 17:56:41 -07:00
Clayton Coleman c1c11557a4 hack/local-up-cluster fails to even launch apiserver
--machines was removed but still referenced in hack/local-up-cluster.
This is not a total fix, but at least allows the apiserver to start.
2014-11-01 12:20:16 -04:00
Clayton Coleman 6e1527ed06 test-cmd.sh can fail if public IP not available
test-cmd runs a 127.0.0.1 version of the apiservers, but does not
set --public_address_override, which means it can fail on some systems
(like Macs) which don't expose a bindable external port by default.

Since reachability is not necessary for test-cmd.sh today, set
public_address_override to 127.0.0.1
2014-11-01 12:19:13 -04:00
Eric Tune 55c2d6bbbb Add basic Authorization.
Added basic interface for authorizer implementations.
Added default "authorize everything" and "authorize nothing
implementations.
Added authorization check immediately after authentication check.
Added an integration test of authorization at the HTTP level of
abstraction.
2014-10-31 12:04:33 -07:00
Deyuan Deng 019b7fc74c Separate minion controller from master. 2014-10-30 20:24:15 -04:00
Daniel Smith 6befc75da5 Build local go components as well as a release 2014-10-28 12:37:03 -07:00
bgrant0607 653d9d70d1 Merge pull request #1993 from hmrm/e2e-vagrant
Allow e2e tests to run with vagrant
2014-10-27 19:19:29 -07:00
bgrant0607 e45910fb08 Merge pull request #2017 from jbeda/fix-e2e
Fix e2e tests
2014-10-27 16:51:19 -07:00
Joe Beda 053d65c086 Fix e2e tests 2014-10-27 16:31:31 -07:00
bgrant0607 ddea4ff709 Merge pull request #1977 from lavalamp/fix4
Start running e2e go tests. Disable broken test.
2014-10-27 16:27:11 -07:00
Brendan Burns df3dd288f2 Fix the e2e tests and kubecfg given recent additional validation. 2014-10-27 13:39:21 -07:00
Joe Beda 019170e6fb Merge pull request #1716 from proppy/boot2docker-bootstrap
docker: add cluster bootstrap and doc
2014-10-27 11:46:55 -07:00
Haney Maxwell d709d8561a Allow e2e tests to run with vagrant 2014-10-24 17:16:10 -07:00
Johan Euphrosine 966c3dae70 boot2docker: add cluster bootstrap and doc 2014-10-23 18:06:17 -07:00
Daniel Smith 1e249be99d Start running e2e go tests. Disable broken test. 2014-10-23 16:13:46 -07:00
Daniel Smith 47f1cb966b Fixes to e2e script 2014-10-23 14:54:50 -07:00
Brendan Burns e1ae7bd16c Merge pull request #1973 from lavalamp/fix4
fix backwards compatible script
2014-10-23 12:52:37 -07:00
Daniel Smith d055e279fe fix backwards compatible script 2014-10-23 12:51:21 -07:00
Brendan Burns dbb23abac2 Fix the guestbook e2e test. 2014-10-23 11:32:01 -07:00
Daniel Smith bfabb41604 New e2e script (in go this time) that doesn't completely suck 2014-10-23 11:03:30 -07:00
Brendan Burns 77d2815b86 Merge pull request #1967 from jbeda/e2e-fix
Fix e2e test for .ID->.Name change
2014-10-22 17:20:44 -07:00
Joe Beda 33763d07b2 Fix e2e test for .ID->.Name change 2014-10-22 17:19:53 -07:00
Haney Maxwell 3160500940 Refactor kubelet access and add SSL 2014-10-22 14:53:59 -07:00
Joe Beda cb027ce2a9 Look at all tags when looking for version.
'git describe' uses only annotated tags by default.  We want to use all tags as we can only create 'lightweight' tags in the GitHub UI.
2014-10-17 14:34:30 -07:00
Tim Hockin 95f57dc886 Clean up e2e more
Don't early-terminate on test fail.
Log which tests failed at the end.
2014-10-16 11:08:39 -07:00
Tim Hockin 99bca68c7d Add local-up support 2014-10-16 08:36:47 -07:00
Tim Hockin 1c2f04b8b7 Add e2e test 2014-10-16 08:36:47 -07:00
Tim Hockin e907011111 Core support for ip-per-service 2014-10-16 08:36:47 -07:00
Eric Tune 6f577aa321 Merge pull request #1789 from lavalamp/eventing4
Add event creation library and implement in scheduler.
2014-10-15 15:55:26 -07:00
Joe Beda 1874926a70 Merge pull request #1815 from thockin/e2e
Better final print in e2e
2014-10-15 15:51:18 -07:00
Sam Ghods 4b220f8b0a kubectl: kubecfg rewrite for better modularity and improved UX 2014-10-15 15:29:54 -07:00
Tim Hockin ee1f2ddf7c Better final print in e2e 2014-10-15 14:31:15 -07:00
bgrant0607 e7573f63b3 Merge pull request #1812 from thockin/e2e
Allow e2e to only run some tests
2014-10-15 13:45:17 -07:00
Tim Hockin d6d92d13f0 Allow e2e to only run some tests 2014-10-15 13:08:25 -07:00
Daniel Smith 180e90f7eb Merge pull request #1790 from jbeda/1678-fix-e2e
Deal with the case where a pod goes away after we list it.
2014-10-15 12:01:28 -07:00
Daniel Smith 2987747a0f Merge pull request #1794 from brendandburns/e2e
Add a pod update e2e test in go. Also adjust validation logic a little.
2014-10-15 11:59:30 -07:00
Daniel Smith d4c750a878 Fix vet-go.sh and some things it complained about 2014-10-15 11:56:19 -07:00
Joe Beda 391335cbff Deal with the case where a pod goes away after we list it.
Fixes #1678
2014-10-15 11:20:17 -07:00
Tim Hockin 360f2e53b0 Revamp e2e basic test to use a smaller container. 2014-10-15 10:54:56 -07:00
Brendan Burns 8d38f8890e Add an e2e test in go. Also adjust validation logic a little to make it more reasonable.
Not integrated into existing e2e yet.
2014-10-14 16:43:00 -07:00
Joe Beda e1b9f1aae2 Handle empty array in update.sh
Fixes #1776
2014-10-14 13:07:22 -07:00
Joe Beda 96c1bc17ca Set shell options for reliability.
Tweak a few other small things in our shell scripts.
2014-10-10 12:33:36 -07:00
Joe Beda d43a6ec5a3 Standardize how we refer to the kubernetes root.
Now use $KUBE_ROOT as the variable pretty much everywhere.
2014-10-10 12:33:36 -07:00
Joe Beda 38d5906044 Clean up READMEs and broken stuff.
Move all support for clouds that are broken with this change into an `icebox` directory.  We'll move that stuff back out as we fix it up.
2014-10-10 12:33:36 -07:00