From 5ebb3f2f88d2f7188cc411c6459f90d9f9aec89e Mon Sep 17 00:00:00 2001 From: pwittrock Date: Tue, 31 May 2016 16:35:10 +0000 Subject: Node e2e use vendored testing packages. --- e2e-node-tests.md | 51 +++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 24 deletions(-) (limited to 'e2e-node-tests.md') diff --git a/e2e-node-tests.md b/e2e-node-tests.md index 840d3c3a..d2634aa9 100644 --- a/e2e-node-tests.md +++ b/e2e-node-tests.md @@ -63,30 +63,40 @@ and remote passwordless sudo access over ssh) * using [run_e2e.go](../../test/e2e_node/runner/run_e2e.go) to build a tar.gz and executing on host (requires host access w/ remote sudo) -### Configuring a new remote host for testing +### Option 1: Configuring a new remote host from scratch for testing -The host must contain a environment capable of supporting a mini-kubernetes -cluster. Includes: +The host must contain an environment capable of running a minimal kubernetes cluster +consisting of etcd, the kube-apiserver, and kubelet. The steps required to step a host vary between distributions +(coreos, rhel, ubuntu, etc), but may include: * install etcd * install docker +* add user running tests to docker group * install lxc and update grub commandline * enable tty-less sudo access -See [setup_host.sh](../../test/e2e_node/environment/setup_host.sh) +These steps should be captured in [setup_host.sh](../../test/e2e_node/environment/setup_host.sh) -### Running the tests +### Option 2: Copying an existing host image from another project -1. If running against a host on gce +If there is an existing image in another project you would like to use, you can use the script +[copy-e2e-image.sh](../../test/e2e_node/jenkins/copy-e2e-image.sh) to copy an image +from one GCE project to another. - * Copy [template.properties](../../test/e2e_node/jenkins/template.properties) +```sh +copy-e2e-image.sh +``` - * Fill in `GCE_HOSTS` - * Set `INSTALL_GODEP=true` to install `godep`, `gomega`, `ginkgo` +### Running the tests - * Make sure host names are resolvable to ssh `ssh `. +1. If running tests against a running host on gce - * If needed, you can run `gcloud compute config-ssh` to add gce hostnames to -your .ssh/config so they are resolvable by ssh. + * Make sure host names are resolvable to ssh by running `gcloud compute config-ssh` to + update ~/.ssh/config with the GCE hosts. After running this command, check the hostnames + in the ~/.ssh/config file and verify you have the correct access by running `ssh `. + + * Copy [template.properties](../../test/e2e_node/jenkins/template.properties) + + * Fill in `GCE_HOSTS` with the name of the host * Run `test/e2e_node/jenkins/e2e-node-jenkins.sh ` * **Must be run from kubernetes root** @@ -103,8 +113,6 @@ tests with `--ssh-options` separated hosts>` * **Must be run from kubernetes root** - * requires (go get): `github.com/tools/godep`, `github.com/onsi/gomega`, -`github.com/onsi/ginkgo/ginkgo` 3. Alternatively, manually build and copy `e2e_node_test.tar.gz` to a remote host @@ -112,9 +120,6 @@ host * Build the tar.gz `go run test/e2e_node/runner/run_e2e.go --logtostderr --build-only` - * requires (go get): `github.com/tools/godep`, `github.com/onsi/gomega`, -`github.com/onsi/ginkgo/ginkgo` - * Copy `e2e_node_test.tar.gz` to the remote host * Extract the archive on the remote host `tar -xzvf e2e_node_test.tar.gz` @@ -127,13 +132,15 @@ kube-apiserver binaries. ## Running tests against a gce image -* Build a gce image from a prepared gce host +* Option 1: Build a gce image from a prepared gce host * Create the host from a base image and configure it (see above) * Run tests against this remote host to ensure that it is setup correctly before doing anything else * Create a gce *snapshot* of the instance * Create a gce *disk* from the snapshot * Create a gce *image* from the disk +* Option 2: Copy a prepared image from another project + * Instructions above * Test that the necessary gcloud credentials are setup for the project * `gcloud compute --project --zone images list` * Verify that your image appears in the list @@ -146,9 +153,7 @@ before doing anything else Node e2e tests are run against a static list of host environments continuously or when manually triggered on a github.com pull requests using the trigger -phrase `@k8s-bot test node e2e experimental` - *results not yet publish, pending -evaluation of test stability.*. - +phrase `@k8s-bot test node e2e` ### CI Host environments @@ -159,14 +164,12 @@ TBD | linux distro | distro version | docker version | etcd version | cloud provider | |-----------------|----------------|----------------|--------------|----------------| | containervm | | 1.8 | | gce | -| rhel | 7 | 1.10 | | gce | -| centos | 7 | 1.10 | | gce | | coreos | stable | 1.8 | | gce | | debian | jessie | 1.10 | | gce | | ubuntu | trusty | 1.8 | | gce | | ubuntu | trusty | 1.9 | | gce | | ubuntu | trusty | 1.10 | | gce | -| ubuntu | wily | 1.10 | | gce | + -- cgit v1.2.3