Commit Graph

384 Commits

Author SHA1 Message Date
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