Support differentiation of OS distro in e2e tests

pull/6/head
Andy Zheng 2016-03-24 10:42:46 -07:00
parent 01b662af60
commit 364ac85179
6 changed files with 24 additions and 3 deletions

View File

@ -219,8 +219,11 @@ script
export TOKEN_DIR="/etc/srv/kubernetes"
export kubelet_kubeconfig_file="/var/lib/kubelet/kubeconfig"
export TRUSTY_MASTER="true"
if [ -n "${TEST_ADDON_CHECK_INTERVAL_SEC:-}" ]; then
export TEST_ADDON_CHECK_INTERVAL_SEC=${TEST_ADDON_CHECK_INTERVAL_SEC}
fi
# Run the script to start and monitoring addon manifest changes.
exec /var/lib/cloud/scripts/kubernetes/kube-addons.sh
exec /var/lib/cloud/scripts/kubernetes/kube-addons.sh 1>>/var/log/kube-addons.log 2>&1
end script
# Wait for 10s to start it again.

View File

@ -102,6 +102,7 @@ export PATH=$(dirname "${e2e_test}"):"${PATH}"
--repo-root="${KUBE_ROOT}" \
--node-instance-group="${NODE_INSTANCE_GROUP:-}" \
--prefix="${KUBE_GCE_INSTANCE_PREFIX:-e2e}" \
${KUBE_OS_DISTRIBUTION:+"--os-distro=${KUBE_OS_DISTRIBUTION}"} \
${NUM_NODES:+"--num-nodes=${NUM_NODES}"} \
${E2E_CLEAN_START:+"--clean-start=true"} \
${E2E_MIN_STARTUP_PODS:+"--minStartupPods=${E2E_MIN_STARTUP_PODS}"} \

View File

@ -284,6 +284,7 @@ oidc-issuer-url
oidc-username-claim
only-idl
oom-score-adj
os-distro
out-version
outofdisk-transition-frequency
output-base

View File

@ -210,13 +210,27 @@ var _ = KubeDescribe("Addon update", func() {
// Reduce the addon update intervals so that we have faster response
// to changes in the addon directory.
// do not use "service" command because it clears the environment variables
switch testContext.OSDistro {
case "debian":
sshExecAndVerify(sshClient, "sudo TEST_ADDON_CHECK_INTERVAL_SEC=1 /etc/init.d/kube-addons restart")
case "trusty":
sshExecAndVerify(sshClient, "sudo initctl restart kube-addons TEST_ADDON_CHECK_INTERVAL_SEC=1")
default:
Failf("Unsupported OS distro type %s", testContext.OSDistro)
}
})
AfterEach(func() {
if sshClient != nil {
// restart addon_update with the default options
switch testContext.OSDistro {
case "debian":
sshExec(sshClient, "sudo /etc/init.d/kube-addons restart")
case "trusty":
sshExec(sshClient, "sudo initctl restart kube-addons")
default:
Failf("Unsupported OS distro type %s", testContext.OSDistro)
}
sshClient.Close()
}
})

View File

@ -72,6 +72,7 @@ func RegisterFlags() {
flag.StringVar(&testContext.OutputDir, "e2e-output-dir", "/tmp", "Output directory for interesting/useful test data, like performance data, benchmarks, and other metrics.")
flag.StringVar(&testContext.ReportDir, "report-dir", "", "Path to the directory where the JUnit XML reports should be saved. Default is empty, which doesn't generate these reports.")
flag.StringVar(&testContext.prefix, "prefix", "e2e", "A prefix to be added to cloud resources created during testing.")
flag.StringVar(&testContext.OSDistro, "os-distro", "debian", "The OS distribution of cluster VM instances (debian, trusty, or coreos).")
// TODO: Flags per provider? Rename gce-project/gce-zone?
flag.StringVar(&cloudConfig.MasterName, "kube-master", "", "Name of the kubernetes master. Only required if provider is gce or gke")

View File

@ -190,6 +190,7 @@ type TestContextType struct {
MinStartupPods int
UpgradeTarget string
PrometheusPushGateway string
OSDistro string
VerifyServiceAccount bool
DeleteNamespace bool
CleanStart bool