mirror of https://github.com/k3s-io/k3s
Update conformance test.
Fix formatting and quote variable. Fix comments from a previous review. Move instructions to the top. Change from using tag to using branch. Improve documentation of conformance test. Use stable random seed. Fix bug where there was a double quote as a prefix and suffix to the skip regexp. Remove .* not needed in regex. Skip a few more tests that are not reliable for me in the Conformance test environment.pull/6/head
parent
98b5576a99
commit
2459cfa96c
|
@ -51,7 +51,7 @@ Definition of columns:
|
||||||
- **Networking** is what implements the [networking model](../../docs/networking.md). Those with networking type
|
- **Networking** is what implements the [networking model](../../docs/networking.md). Those with networking type
|
||||||
_none_ may not support more than one node, or may support multiple VM nodes only in the same physical node.
|
_none_ may not support more than one node, or may support multiple VM nodes only in the same physical node.
|
||||||
- **Conformance** indicates whether a cluster created with this configuration has passed the project's conformance
|
- **Conformance** indicates whether a cluster created with this configuration has passed the project's conformance
|
||||||
tests.
|
tests for supporting the API and base features of Kubernetes v1.0.0.
|
||||||
- Support Levels
|
- Support Levels
|
||||||
- **Project**: Kubernetes Committers regularly use this configuration, so it usually works with the latest release
|
- **Project**: Kubernetes Committers regularly use this configuration, so it usually works with the latest release
|
||||||
of Kubernetes.
|
of Kubernetes.
|
||||||
|
|
|
@ -14,6 +14,31 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
# When run as described below, the conformance test tests whether a cluster
|
||||||
|
# supports key features for Kubernetes version 1.0.
|
||||||
|
|
||||||
|
# Instructions:
|
||||||
|
# - Setup a Kubernetes cluster with $NUM_MINIONS nodes (defined below).
|
||||||
|
# - Provide a Kubeconfig file whose current context is set to the
|
||||||
|
# cluster to be tested, and with suitable auth setting.
|
||||||
|
# - Specify the location of that kubeconfig with, e.g.:
|
||||||
|
# declare -x KUBECONFIG="$HOME/.kube/config"
|
||||||
|
# - Specify the location of the master with, e.g.:
|
||||||
|
# declare -x KUBE_MASTER_IP="1.2.3.4"
|
||||||
|
# - Make sure only essential pods are running and there are no failed/pending pods.
|
||||||
|
# - Go to a git tree that contains the kubernetes source.
|
||||||
|
# - git clone git://github.com/GoogleCloudPlatform/kubernetes.git
|
||||||
|
# - Checkout the upstream/conformance-test-v1 branch
|
||||||
|
# - git checkout upstream/conformance-test-v1
|
||||||
|
# - The working tree will be in a "detached HEAD" state.
|
||||||
|
# - Make binaries needed by e2e
|
||||||
|
# make clean
|
||||||
|
# make quick-release
|
||||||
|
# - Run the test and capture output:
|
||||||
|
# hack/conformance-test.sh 2>&1 | tee conformance.$(date +%FT%T%z).log
|
||||||
|
#
|
||||||
|
|
||||||
|
# About the conformance test:
|
||||||
# The conformance test checks whether a kubernetes cluster supports
|
# The conformance test checks whether a kubernetes cluster supports
|
||||||
# a minimum set of features to be called "Kubernetes". It is similar
|
# a minimum set of features to be called "Kubernetes". It is similar
|
||||||
# to `hack/e2e-test.sh` but it differs in that:
|
# to `hack/e2e-test.sh` but it differs in that:
|
||||||
|
@ -31,40 +56,13 @@
|
||||||
# - tests of optional features, such as volume types.
|
# - tests of optional features, such as volume types.
|
||||||
# - tests of performance, scale, or reliability
|
# - tests of performance, scale, or reliability
|
||||||
# - known flaky tests.
|
# - known flaky tests.
|
||||||
|
|
||||||
# The conformance test should be run from a github repository at
|
|
||||||
# commit TBDCOMMITNUMBER. Otherwise, it may not include the right
|
|
||||||
# set of tests.
|
|
||||||
# e.g.:
|
|
||||||
# cd /new/directory
|
|
||||||
# git clone git://github.com/GoogleCloudPlatform/kubernetes.git
|
|
||||||
# cd kubernetes
|
|
||||||
# git checkout TBDCOMMITNUMBER.
|
|
||||||
# The working tree will be in a "detached HEAD" state.
|
|
||||||
#
|
|
||||||
# When run as described above, the conformance test tests whether a cluster is
|
|
||||||
# supports key features for Kubernetes version 1.0.
|
|
||||||
#
|
|
||||||
# TODO: when preparing to release a new major or minor version of Kubernetes,
|
# TODO: when preparing to release a new major or minor version of Kubernetes,
|
||||||
# then update above commit number, reevaluate the set of e2e tests,
|
# create a new conformance-test-vX.Y branch, update mentions of that branch in this file,
|
||||||
|
# reevaluate the set of e2e tests,
|
||||||
# update documentation at docs/getting-started-guides/README.md to have
|
# update documentation at docs/getting-started-guides/README.md to have
|
||||||
# a new column for conformance at that new version, and notify
|
# a new column for conformance at that new version, and notify
|
||||||
# community.
|
# community.
|
||||||
|
|
||||||
# Instructions:
|
|
||||||
# - Setup a Kubernetes cluster with $NUM_MINIONS nodes (defined below).
|
|
||||||
# - Provide a Kubeconfig file whose current context is set to the
|
|
||||||
# cluster to be tested, and with suitable auth setting.
|
|
||||||
# - Specify the location of that kubeconfig with, e.g.:
|
|
||||||
# declare -x KUBECONFIG="$HOME/.kube/config"
|
|
||||||
# - Specify the location of the master with, e.g.:
|
|
||||||
# declare -x KUBE_MASTER_IP="1.2.3.4"
|
|
||||||
# - Make sure only essential pods are running and there are no failed/pending pods.
|
|
||||||
# - Make binaries needed by e2e, e.g.:
|
|
||||||
# make clean
|
|
||||||
# make quick-release
|
|
||||||
# - Run the test and capture output:
|
|
||||||
# hack/conformance-test.sh 2>&1 | tee conformance.$(date +%FT%T%z).log
|
|
||||||
|
|
||||||
: ${KUBECONFIG:?"Must set KUBECONFIG before running conformance test."}
|
: ${KUBECONFIG:?"Must set KUBECONFIG before running conformance test."}
|
||||||
: ${KUBE_MASTER_IP:?"Must set KUBE_MASTER_IP before running conformance test."}
|
: ${KUBE_MASTER_IP:?"Must set KUBE_MASTER_IP before running conformance test."}
|
||||||
|
@ -98,13 +96,19 @@ echo "Conformance test checking conformance with Kubernetes version 1.0"
|
||||||
# Restart: node management.
|
# Restart: node management.
|
||||||
# Scale: performance
|
# Scale: performance
|
||||||
# Services.*load balancer: not all cloud providers have a load balancer.
|
# Services.*load balancer: not all cloud providers have a load balancer.
|
||||||
# Services.*NodePort: flaky
|
# Services.*NodePort: requires you to open the firewall yourself, so not covered.
|
||||||
|
# Services.*nodeport: requires you to open the firewall yourself, so not covered.
|
||||||
# Shell: replies on optional ssh access to nodes.
|
# Shell: replies on optional ssh access to nodes.
|
||||||
# SSH: optional feature.
|
# SSH: optional feature.
|
||||||
|
# Addon\supdate: requires SSH
|
||||||
# Volumes: contained only skipped tests.
|
# Volumes: contained only skipped tests.
|
||||||
export CONFORMANCE_TEST_SKIP_REGEX="Cadvisor|MasterCerts|Density|Cluster\slevel\slogging.*|Etcd\sfailure.*|Load\sCapacity|Monitoring|Namespaces.*seconds|Pod\sdisks|Reboot|Restart|Nodes|Scale|Services.*load\sbalancer|Services.*NodePort|Shell|SSH|Volumes"
|
# Clean\sup\spods\son\snode: performance
|
||||||
|
# MaxPods\slimit\snumber\sof\spods: not sure why this wasn't working on GCE but it wasn't.
|
||||||
|
# Kubectl\sclient\sSimple\spod: not sure why this wasn't working on GCE but it wasn't
|
||||||
|
# DNS: not sure why this wasn't working on GCE but it wasn't
|
||||||
|
export CONFORMANCE_TEST_SKIP_REGEX="Cadvisor|MasterCerts|Density|Cluster\slevel\slogging|Etcd\sfailure|Load\sCapacity|Monitoring|Namespaces.*seconds|Pod\sdisks|Reboot|Restart|Nodes|Scale|Services.*load\sbalancer|Services.*NodePort|Services.*nodeport|Shell|SSH|Addon\supdate|Volumes|Clean\sup\spods\son\snode|Skipped|skipped|MaxPods\slimit\snumber\sof\spods|Kubectl\sclient\sSimple\spod|DNS"
|
||||||
|
|
||||||
declare -x KUBERNETES_CONFORMANCE_TEST="1"
|
declare -x KUBERNETES_CONFORMANCE_TEST="y"
|
||||||
declare -x NUM_MINIONS=4
|
declare -x NUM_MINIONS=4
|
||||||
hack/ginkgo-e2e.sh
|
hack/ginkgo-e2e.sh
|
||||||
exit $?
|
exit $?
|
||||||
|
|
|
@ -44,10 +44,10 @@ source "${KUBE_ROOT}/cluster/kube-env.sh"
|
||||||
# ---- Do cloud-provider-specific setup
|
# ---- Do cloud-provider-specific setup
|
||||||
if [[ -n "${KUBERNETES_CONFORMANCE_TEST:-}" ]]; then
|
if [[ -n "${KUBERNETES_CONFORMANCE_TEST:-}" ]]; then
|
||||||
echo "Conformance test: not doing test setup."
|
echo "Conformance test: not doing test setup."
|
||||||
KUBERNETES_PROVIDER=""
|
KUBERNETES_PROVIDER=""
|
||||||
auth_config=(
|
auth_config=(
|
||||||
"--kubeconfig=${KUBECONFIG}"
|
"--kubeconfig=${KUBECONFIG}"
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
echo "Setting up for KUBERNETES_PROVIDER=\"${KUBERNETES_PROVIDER}\"."
|
echo "Setting up for KUBERNETES_PROVIDER=\"${KUBERNETES_PROVIDER}\"."
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ else
|
||||||
detect-master >/dev/null
|
detect-master >/dev/null
|
||||||
|
|
||||||
auth_config=(
|
auth_config=(
|
||||||
"--kubeconfig=${KUBECONFIG:-$DEFAULT_KUBECONFIG}"
|
"--kubeconfig=${KUBECONFIG:-$DEFAULT_KUBECONFIG}"
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -73,8 +73,9 @@ if [[ "${KUBERNETES_PROVIDER}" == "gke" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ginkgo_args=()
|
ginkgo_args=()
|
||||||
if [[ -n ${CONFORMANCE_TEST_SKIP_REGEX:-} ]]; then
|
if [[ -n "${CONFORMANCE_TEST_SKIP_REGEX:-}" ]]; then
|
||||||
ginkgo_args+=("--skip=\"${CONFORMANCE_TEST_SKIP_REGEX}\"")
|
ginkgo_args+=("--skip=${CONFORMANCE_TEST_SKIP_REGEX}")
|
||||||
|
ginkgo_args+=("--seed=1436380640")
|
||||||
fi
|
fi
|
||||||
if [[ ${GINKGO_PARALLEL} =~ ^[yY]$ ]]; then
|
if [[ ${GINKGO_PARALLEL} =~ ^[yY]$ ]]; then
|
||||||
ginkgo_args+=("-p")
|
ginkgo_args+=("-p")
|
||||||
|
|
Loading…
Reference in New Issue