mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #29859 from jingxu97/testdoc-7-28-1
Automatic merge from submit-queue Add instructions for running version-skewed tests Add instructions for running version-skewed tests
This commit is contained in:
commit
ca6137d46f
@ -56,6 +56,7 @@ Updated: 5/3/2016
|
|||||||
- [Debugging clusters](#debugging-clusters)
|
- [Debugging clusters](#debugging-clusters)
|
||||||
- [Local clusters](#local-clusters)
|
- [Local clusters](#local-clusters)
|
||||||
- [Testing against local clusters](#testing-against-local-clusters)
|
- [Testing against local clusters](#testing-against-local-clusters)
|
||||||
|
- [Version-skewed and upgrade testing](#version-skewed-and-upgrade-testing)
|
||||||
- [Kinds of tests](#kinds-of-tests)
|
- [Kinds of tests](#kinds-of-tests)
|
||||||
- [Conformance tests](#conformance-tests)
|
- [Conformance tests](#conformance-tests)
|
||||||
- [Defining Conformance Subset](#defining-conformance-subset)
|
- [Defining Conformance Subset](#defining-conformance-subset)
|
||||||
@ -406,6 +407,70 @@ To control the tests that are run:
|
|||||||
go run hack/e2e.go -v --test --check_node_count=false --test_args="--host=http://127.0.0.1:8080" --ginkgo.focus="Secrets"
|
go run hack/e2e.go -v --test --check_node_count=false --test_args="--host=http://127.0.0.1:8080" --ginkgo.focus="Secrets"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Version-skewed and upgrade testing
|
||||||
|
|
||||||
|
We run version-skewed tests to check that newer versions of Kubernetes work
|
||||||
|
similarly enough to older versions. The general strategy is to cover the following cases:
|
||||||
|
|
||||||
|
1. One version of `kubectl` with another version of the cluster and tests (e.g.
|
||||||
|
that v1.2 and v1.4 `kubectl` doesn't break v1.3 tests running against a v1.3
|
||||||
|
cluster).
|
||||||
|
1. A newer version of the Kubernetes master with older nodes and tests (e.g.
|
||||||
|
that upgrading a master to v1.3 with nodes at v1.2 still passes v1.2 tests).
|
||||||
|
1. A newer version of the whole cluster with older tests (e.g. that a cluster
|
||||||
|
upgraded---master and nodes---to v1.3 still passes v1.2 tests).
|
||||||
|
1. That an upgraded cluster functions the same as a brand-new cluster of the
|
||||||
|
same version (e.g. a cluster upgraded to v1.3 passes the same v1.3 tests as
|
||||||
|
a newly-created v1.3 cluster).
|
||||||
|
|
||||||
|
[hack/e2e-runner.sh](http://releases.k8s.io/HEAD/hack/jenkins/e2e-runner.sh) is
|
||||||
|
the authoritative source on how to run version-skewed tests, but below is a
|
||||||
|
quick-and-dirty tutorial.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Assume you have two copies of the Kubernetes repository checked out, at
|
||||||
|
# ./kubernetes and ./kubernetes_old
|
||||||
|
|
||||||
|
# If using GKE:
|
||||||
|
export KUBERNETES_PROVIDER=gke
|
||||||
|
export CLUSTER_API_VERSION=${OLD_VERSION}
|
||||||
|
|
||||||
|
# Deploy a cluster at the old version; see above for more details
|
||||||
|
cd ./kubernetes_old
|
||||||
|
go run ./hack/e2e.go -v --up
|
||||||
|
|
||||||
|
# Upgrade the cluster to the new version
|
||||||
|
#
|
||||||
|
# If using GKE, add --upgrade-target=${NEW_VERSION}
|
||||||
|
#
|
||||||
|
# You can target Feature:MasterUpgrade or Feature:ClusterUpgrade
|
||||||
|
cd ../kubernetes
|
||||||
|
go run ./hack/e2e.go -v --test --check_version_skew=false --test_args="--ginkgo.focus=\[Feature:MasterUpgrade\]"
|
||||||
|
|
||||||
|
# Run old tests with new kubectl
|
||||||
|
cd ../kubernetes_old
|
||||||
|
go run ./hack/e2e.go -v --test --test_args="--kubectl-path=$(pwd)/../kubernetes/cluster/kubectl.sh"
|
||||||
|
```
|
||||||
|
|
||||||
|
If you are just testing version-skew, you may want to just deploy at one
|
||||||
|
version and then test at another version, instead of going through the whole
|
||||||
|
upgrade process:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# With the same setup as above
|
||||||
|
|
||||||
|
# Deploy a cluster at the new version
|
||||||
|
cd ./kubernetes
|
||||||
|
go run ./hack/e2e.go -v --up
|
||||||
|
|
||||||
|
# Run new tests with old kubectl
|
||||||
|
go run ./hack/e2e.go -v --test --test_args="--kubectl-path=$(pwd)/../kubernetes_old/cluster/kubectl.sh"
|
||||||
|
|
||||||
|
# Run old tests with new kubectl
|
||||||
|
cd ../kubernetes_old
|
||||||
|
go run ./hack/e2e.go -v --test --test_args="--kubectl-path=$(pwd)/../kubernetes/cluster/kubectl.sh"
|
||||||
|
```
|
||||||
|
|
||||||
## Kinds of tests
|
## Kinds of tests
|
||||||
|
|
||||||
We are working on implementing clearer partitioning of our e2e tests to make
|
We are working on implementing clearer partitioning of our e2e tests to make
|
||||||
|
Loading…
Reference in New Issue
Block a user