Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
72290964
Commit
72290964
authored
Sep 03, 2015
by
Jeff Lowdermilk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add config for the main gke-jenkins jobs to e2e.sh
parent
bff6ee8e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
131 additions
and
12 deletions
+131
-12
config-common.sh
cluster/gke/config-common.sh
+1
-1
util.sh
cluster/gke/util.sh
+5
-5
e2e.sh
hack/jenkins/e2e.sh
+125
-6
No files found.
cluster/gke/config-common.sh
View file @
72290964
...
@@ -25,7 +25,7 @@ NETWORK="${NETWORK:-default}"
...
@@ -25,7 +25,7 @@ NETWORK="${NETWORK:-default}"
NETWORK_RANGE
=
"
${
NETWORK_RANGE
:-
10
.240.0.0/16
}
"
NETWORK_RANGE
=
"
${
NETWORK_RANGE
:-
10
.240.0.0/16
}
"
FIREWALL_SSH
=
"
${
FIREWALL_SSH
:-${
NETWORK
}
-allow-ssh
}
"
FIREWALL_SSH
=
"
${
FIREWALL_SSH
:-${
NETWORK
}
-allow-ssh
}
"
GCLOUD
=
"
${
GCLOUD
:-
gcloud
}
"
GCLOUD
=
"
${
GCLOUD
:-
gcloud
}
"
CMD_GROUP
=
"
${
CMD_GROUP
:-
beta
}
"
CMD_GROUP
=
"
${
CMD_GROUP
:-}
"
GCLOUD_CONFIG_DIR
=
"
${
GCLOUD_CONFIG_DIR
:-${
HOME
}
/.config/gcloud/kubernetes
}
"
GCLOUD_CONFIG_DIR
=
"
${
GCLOUD_CONFIG_DIR
:-${
HOME
}
/.config/gcloud/kubernetes
}
"
MINION_SCOPES
=
"
${
MINION_SCOPES
:-
"compute-rw,storage-ro"
}
"
MINION_SCOPES
=
"
${
MINION_SCOPES
:-
"compute-rw,storage-ro"
}
"
MACHINE_TYPE
=
"
${
MACHINE_TYPE
:-
n1
-standard-1
}
"
MACHINE_TYPE
=
"
${
MACHINE_TYPE
:-
n1
-standard-1
}
"
...
...
cluster/gke/util.sh
View file @
72290964
...
@@ -99,7 +99,7 @@ function verify-prereqs() {
...
@@ -99,7 +99,7 @@ function verify-prereqs() {
sudo_prefix
=
"sudo"
sudo_prefix
=
"sudo"
fi
fi
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update preview
||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update preview
||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update
"
${
CMD_GROUP
}
"
||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update
${
CMD_GROUP
:-}
||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update kubectl||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update kubectl||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update
||
true
${
sudo_prefix
}
gcloud
${
gcloud_prompt
:-}
components update
||
true
}
}
...
@@ -150,7 +150,7 @@ function kube-up() {
...
@@ -150,7 +150,7 @@ function kube-up() {
)
)
# Bring up the cluster.
# Bring up the cluster.
"
${
GCLOUD
}
"
"
${
CMD_GROUP
}
"
container clusters create
"
${
CLUSTER_NAME
}
"
"
${
create_args
[@]
}
"
"
${
GCLOUD
}
"
${
CMD_GROUP
:-}
container clusters create
"
${
CLUSTER_NAME
}
"
"
${
create_args
[@]
}
"
}
}
# Execute prior to running tests to initialize required structure. This is
# Execute prior to running tests to initialize required structure. This is
...
@@ -200,7 +200,7 @@ function test-setup() {
...
@@ -200,7 +200,7 @@ function test-setup() {
function
detect-master
()
{
function
detect-master
()
{
echo
"... in gke:detect-master()"
>
&2
echo
"... in gke:detect-master()"
>
&2
detect-project
>
&2
detect-project
>
&2
KUBE_MASTER_IP
=
$(
"
${
GCLOUD
}
"
"
${
CMD_GROUP
}
"
container clusters describe
\
KUBE_MASTER_IP
=
$(
"
${
GCLOUD
}
"
${
CMD_GROUP
:-}
container clusters describe
\
--project
=
"
${
PROJECT
}
"
--zone
=
"
${
ZONE
}
"
"
${
CLUSTER_NAME
}
"
\
--project
=
"
${
PROJECT
}
"
--zone
=
"
${
ZONE
}
"
"
${
CLUSTER_NAME
}
"
\
|
grep
endpoint |
cut
-f
2
-d
' '
)
|
grep
endpoint |
cut
-f
2
-d
' '
)
}
}
...
@@ -242,7 +242,7 @@ function detect-minion-names {
...
@@ -242,7 +242,7 @@ function detect-minion-names {
# NODE_INSTANCE_GROUP
# NODE_INSTANCE_GROUP
function
detect-node-instance-group
{
function
detect-node-instance-group
{
echo
"... in gke:detect-node-instance-group()"
>
&2
echo
"... in gke:detect-node-instance-group()"
>
&2
NODE_INSTANCE_GROUP
=
$(
"
${
GCLOUD
}
"
"
${
CMD_GROUP
}
"
container clusters describe
\
NODE_INSTANCE_GROUP
=
$(
"
${
GCLOUD
}
"
${
CMD_GROUP
:-}
container clusters describe
\
--project
=
"
${
PROJECT
}
"
--zone
=
"
${
ZONE
}
"
"
${
CLUSTER_NAME
}
"
\
--project
=
"
${
PROJECT
}
"
--zone
=
"
${
ZONE
}
"
"
${
CLUSTER_NAME
}
"
\
|
grep
instanceGroupManagers |
cut
-d
'/'
-f
11
)
|
grep
instanceGroupManagers |
cut
-d
'/'
-f
11
)
}
}
...
@@ -318,6 +318,6 @@ function test-teardown() {
...
@@ -318,6 +318,6 @@ function test-teardown() {
function
kube-down
()
{
function
kube-down
()
{
echo
"... in gke:kube-down()"
>
&2
echo
"... in gke:kube-down()"
>
&2
detect-project
>
&2
detect-project
>
&2
"
${
GCLOUD
}
"
"
${
CMD_GROUP
}
"
container clusters delete
--project
=
"
${
PROJECT
}
"
\
"
${
GCLOUD
}
"
${
CMD_GROUP
:-}
container clusters delete
--project
=
"
${
PROJECT
}
"
\
--zone
=
"
${
ZONE
}
"
"
${
CLUSTER_NAME
}
"
--quiet
--zone
=
"
${
ZONE
}
"
"
${
CLUSTER_NAME
}
"
--quiet
}
}
hack/jenkins/e2e.sh
View file @
72290964
...
@@ -70,6 +70,10 @@ if [[ ${JOB_NAME} =~ ^kubernetes-.*-gce ]]; then
...
@@ -70,6 +70,10 @@ if [[ ${JOB_NAME} =~ ^kubernetes-.*-gce ]]; then
:
${
E2E_MIN_STARTUP_PODS
:
=
"1"
}
:
${
E2E_MIN_STARTUP_PODS
:
=
"1"
}
:
${
E2E_ZONE
:
=
"us-central1-f"
}
:
${
E2E_ZONE
:
=
"us-central1-f"
}
:
${
NUM_MINIONS_PARALLEL
:
=
"6"
}
# Number of nodes required to run all of the tests in parallel
:
${
NUM_MINIONS_PARALLEL
:
=
"6"
}
# Number of nodes required to run all of the tests in parallel
elif
[[
${
JOB_NAME
}
=
~ ^kubernetes-.
*
-gke
]]
;
then
KUBERNETES_PROVIDER
=
"gke"
:
${
E2E_ZONE
:
=
"us-central1-f"
}
fi
fi
if
[[
"
${
KUBERNETES_PROVIDER
}
"
==
"aws"
]]
;
then
if
[[
"
${
KUBERNETES_PROVIDER
}
"
==
"aws"
]]
;
then
...
@@ -84,8 +88,8 @@ if [[ "${KUBERNETES_PROVIDER}" == "aws" ]]; then
...
@@ -84,8 +88,8 @@ if [[ "${KUBERNETES_PROVIDER}" == "aws" ]]; then
fi
fi
fi
fi
# Specialized t
ests which should be skipped by default for projec
ts.
# Specialized t
o skip when running reboot tes
ts.
GCE_DEFAUL
T_SKIP_TESTS
=(
REBOO
T_SKIP_TESTS
=(
"Autoscaling
\s
Suite"
"Autoscaling
\s
Suite"
"Skipped"
"Skipped"
"Reboot"
"Reboot"
...
@@ -93,6 +97,20 @@ GCE_DEFAULT_SKIP_TESTS=(
...
@@ -93,6 +97,20 @@ GCE_DEFAULT_SKIP_TESTS=(
"Example"
"Example"
)
)
# Specialized tests which should be skipped by default for projects.
GCE_DEFAULT_SKIP_TESTS
=(
"
${
REBOOT_SKIP_TESTS
[@]
}
"
"Reboot"
)
# Tests which cannot be run on GKE, e.g. because they require
# master ssh access.
GKE_REQUIRED_SKIP_TESTS
=(
"Nodes"
"Etcd
\s
Failure"
"MasterCerts"
"Shell"
)
# The following tests are known to be flaky, and are thus run only in their own
# The following tests are known to be flaky, and are thus run only in their own
# -flaky- build variants.
# -flaky- build variants.
GCE_FLAKY_TESTS
=(
GCE_FLAKY_TESTS
=(
...
@@ -345,6 +363,81 @@ case ${JOB_NAME} in
...
@@ -345,6 +363,81 @@ case ${JOB_NAME} in
:
${
KUBE_GCE_INSTANCE_PREFIX
=
"e2e-gce"
}
:
${
KUBE_GCE_INSTANCE_PREFIX
=
"e2e-gce"
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gce-release"
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gce-release"
}
;;
;;
kubernetes-e2e-gke-prod
)
:
${
DOGFOOD_GCLOUD
:
=
"true"
}
:
${
E2E_CLUSTER_NAME
:
=
"jkns-gke-e2e-prod"
}
:
${
E2E_NETWORK
:
=
"e2e-gke-prod"
}
:
${
E2E_SET_CLUSTER_API_VERSION
:
=y
}
:
${
JENKINS_USE_SERVER_VERSION
:
=y
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gke-prod"
}
:
${
GINKGO_TEST_ARGS
:
=
"--ginkgo.skip=
$(
join_regex_allow_empty
\
${
GKE_REQUIRED_SKIP_TESTS
[@]
:+
${
GKE_REQUIRED_SKIP_TESTS
[@]
}}
\
${
GCE_DEFAULT_SKIP_TESTS
[@]
:+
${
GCE_DEFAULT_SKIP_TESTS
[@]
}}
\
${
GCE_FLAKY_TESTS
[@]
:+
${
GCE_FLAKY_TESTS
[@]
}}
\
)
"
}
;;
kubernetes-e2e-gke-staging
)
:
${
DOGFOOD_GCLOUD
:
=
"true"
}
:
${
GKE_API_ENDPOINT
:
=
"https://staging-container.sandbox.googleapis.com/"
}
:
${
E2E_CLUSTER_NAME
:
=
"jkns-gke-e2e-staging"
}
:
${
E2E_NETWORK
:
=
"e2e-gke-staging"
}
:
${
E2E_SET_CLUSTER_API_VERSION
:
=y
}
:
${
JENKINS_USE_SERVER_VERSION
:
=y
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gke-staging"
}
:
${
GINKGO_TEST_ARGS
:
=
"--ginkgo.skip=
$(
join_regex_allow_empty
\
${
GKE_REQUIRED_SKIP_TESTS
[@]
:+
${
GKE_REQUIRED_SKIP_TESTS
[@]
}}
\
${
GCE_DEFAULT_SKIP_TESTS
[@]
:+
${
GCE_DEFAULT_SKIP_TESTS
[@]
}}
\
${
GCE_FLAKY_TESTS
[@]
:+
${
GCE_FLAKY_TESTS
[@]
}}
\
)
"
}
;;
kubernetes-e2e-gke-test
)
:
${
DOGFOOD_GCLOUD
:
=
"true"
}
:
${
CLOUDSDK_BUCKET
:
=
"gs://cloud-sdk-build/testing/rc"
}
:
${
GKE_API_ENDPOINT
:
=
"https://test-container.sandbox.googleapis.com/"
}
:
${
E2E_CLUSTER_NAME
:
=
"jkns-gke-e2e-test"
}
:
${
E2E_NETWORK
:
=
"e2e-gke-test"
}
:
${
JENKINS_USE_RELEASE_TARS
:
=y
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gke-ci"
}
:
${
GINKGO_TEST_ARGS
:
=
"--ginkgo.skip=
$(
join_regex_allow_empty
\
${
GKE_REQUIRED_SKIP_TESTS
[@]
:+
${
GKE_REQUIRED_SKIP_TESTS
[@]
}}
\
${
GCE_DEFAULT_SKIP_TESTS
[@]
:+
${
GCE_DEFAULT_SKIP_TESTS
[@]
}}
\
${
GCE_FLAKY_TESTS
[@]
:+
${
GCE_FLAKY_TESTS
[@]
}}
\
)
"
}
;;
kubernetes-e2e-gke-ci
)
:
${
DOGFOOD_GCLOUD
:
=
"true"
}
:
${
CLOUDSDK_BUCKET
:
=
"gs://cloud-sdk-build/testing/staging"
}
:
${
GKE_API_ENDPOINT
:
=
"https://test-container.sandbox.googleapis.com/"
}
:
${
E2E_CLUSTER_NAME
:
=
"jkns-gke-e2e-ci"
}
:
${
E2E_NETWORK
:
=
"e2e-gke-ci"
}
:
${
E2E_SET_CLUSTER_API_VERSION
:
=y
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gke-ci"
}
:
${
GINKGO_TEST_ARGS
:
=
"--ginkgo.skip=
$(
join_regex_allow_empty
\
${
GKE_REQUIRED_SKIP_TESTS
[@]
:+
${
GKE_REQUIRED_SKIP_TESTS
[@]
}}
\
${
GCE_DEFAULT_SKIP_TESTS
[@]
:+
${
GCE_DEFAULT_SKIP_TESTS
[@]
}}
\
${
GCE_FLAKY_TESTS
[@]
:+
${
GCE_FLAKY_TESTS
[@]
}}
\
)
"
}
;;
kubernetes-e2e-gke-ci-reboot
)
:
${
DOGFOOD_GCLOUD
:
=
"true"
}
:
${
CLOUDSDK_BUCKET
:
=
"gs://cloud-sdk-build/testing/staging"
}
:
${
GKE_API_ENDPOINT
:
=
"https://test-container.sandbox.googleapis.com/"
}
:
${
E2E_CLUSTER_NAME
:
=
"jkns-gke-e2e-ci-reboot"
}
:
${
E2E_NETWORK
:
=
"e2e-gke-ci"
}
:
${
E2E_SET_CLUSTER_API_VERSION
:
=y
}
:
${
PROJECT
:
=
"k8s-jkns-e2e-gke-ci"
}
:
${
GINKGO_TEST_ARGS
:
=
"--ginkgo.skip=
$(
join_regex_allow_empty
\
${
GKE_REQUIRED_SKIP_TESTS
[@]
:+
${
GKE_REQUIRED_SKIP_TESTS
[@]
}}
\
${
REBOOT_SKIP_TESTS
[@]
:+
${
REBOOT_SKIP_TESTS
[@]
}}
\
${
GCE_FLAKY_TESTS
[@]
:+
${
GCE_FLAKY_TESTS
[@]
}}
\
${
GCE_PARALLEL_SKIP_TESTS
[@]
:+
${
GCE_PARALLEL_SKIP_TESTS
[@]
}}
\
)
"
}
;;
esac
esac
# AWS variables
# AWS variables
...
@@ -362,6 +455,13 @@ export KUBE_GCS_STAGING_PATH_SUFFIX=${KUBE_GCS_STAGING_PATH_SUFFIX:-}
...
@@ -362,6 +455,13 @@ export KUBE_GCS_STAGING_PATH_SUFFIX=${KUBE_GCS_STAGING_PATH_SUFFIX:-}
export
CLUSTER_NAME
=
${
E2E_CLUSTER_NAME
}
export
CLUSTER_NAME
=
${
E2E_CLUSTER_NAME
}
export
ZONE
=
${
E2E_ZONE
}
export
ZONE
=
${
E2E_ZONE
}
export
KUBE_GKE_NETWORK
=
${
E2E_NETWORK
}
export
KUBE_GKE_NETWORK
=
${
E2E_NETWORK
}
export
E2E_SET_CLUSTER_API_VERSION
=
${
E2E_SET_CLUSTER_API_VERSION
:-}
export
DOGFOOD_GCLOUD
=
${
DOGFOOD_GCLOUD
:-}
export
CMD_GROUP
=
${
CMD_GROUP
:-}
if
[[
!
-z
"
${
GKE_API_ENDPOINT
:-}
"
]]
;
then
export
CLOUDSDK_API_ENDPOINT_OVERRIDES_CONTAINER
=
${
GKE_API_ENDPOINT
}
fi
# Shared cluster variables
# Shared cluster variables
export
E2E_MIN_STARTUP_PODS
=
${
E2E_MIN_STARTUP_PODS
:-}
export
E2E_MIN_STARTUP_PODS
=
${
E2E_MIN_STARTUP_PODS
:-}
...
@@ -371,6 +471,7 @@ export MINION_SIZE=${MINION_SIZE:-}
...
@@ -371,6 +471,7 @@ export MINION_SIZE=${MINION_SIZE:-}
export
NUM_MINIONS
=
${
NUM_MINIONS
:-}
export
NUM_MINIONS
=
${
NUM_MINIONS
:-}
export
PROJECT
=
${
PROJECT
:-}
export
PROJECT
=
${
PROJECT
:-}
export
KUBERNETES_PROVIDER
=
${
KUBERNETES_PROVIDER
}
export
PATH
=
${
PATH
}
:/usr/local/go/bin
export
PATH
=
${
PATH
}
:/usr/local/go/bin
export
KUBE_SKIP_CONFIRMATIONS
=
y
export
KUBE_SKIP_CONFIRMATIONS
=
y
...
@@ -407,10 +508,13 @@ if [[ "${E2E_UP,,}" == "true" || "${JENKINS_FORCE_GET_TARS:-}" =~ ^[yY]$ ]]; the
...
@@ -407,10 +508,13 @@ if [[ "${E2E_UP,,}" == "true" || "${JENKINS_FORCE_GET_TARS:-}" =~ ^[yY]$ ]]; the
# gcloud bug can cause racing component updates to stomp on each
# gcloud bug can cause racing component updates to stomp on each
# other.
# other.
export
KUBE_SKIP_UPDATE
=
y
export
KUBE_SKIP_UPDATE
=
y
sudo
flock
-x
-n
/var/run/lock/gcloud-components.lock
-c
"gcloud components update -q"
||
true
{
sudo
flock
-x
-n
/var/run/lock/gcloud-components.lock
-c
"gcloud components update preview -q"
||
true
sudo
flock
-x
-n
9
sudo
flock
-x
-n
/var/run/lock/gcloud-components.lock
-c
"gcloud components update alpha -q"
||
true
gcloud components update
-q
||
true
sudo
flock
-x
-n
/var/run/lock/gcloud-components.lock
-c
"gcloud components update beta -q"
||
true
gcloud components update preview
-q
||
true
gcloud components update alpha
-q
||
true
gcloud components update beta
-q
||
true
}
9>/var/run/lock/gcloud-components.lock
if
[[
!
-z
${
JENKINS_EXPLICIT_VERSION
:-}
]]
;
then
if
[[
!
-z
${
JENKINS_EXPLICIT_VERSION
:-}
]]
;
then
# Use an explicit pinned version like "ci/v0.10.0-101-g6c814c4" or
# Use an explicit pinned version like "ci/v0.10.0-101-g6c814c4" or
...
@@ -496,6 +600,21 @@ ARTIFACTS=${WORKSPACE}/_artifacts
...
@@ -496,6 +600,21 @@ ARTIFACTS=${WORKSPACE}/_artifacts
mkdir
-p
${
ARTIFACTS
}
mkdir
-p
${
ARTIFACTS
}
export
E2E_REPORT_DIR
=
${
ARTIFACTS
}
export
E2E_REPORT_DIR
=
${
ARTIFACTS
}
### Pre Set Up ###
# Install gcloud from a custom path if provided. Used to test GKE with gcloud
# at HEAD, release candidate.
if
[[
!
-z
"
${
CLOUDSDK_BUCKET
:-}
"
]]
;
then
sudo
gsutil
-m
cp
-r
"
${
CLOUDSDK_BUCKET
}
"
~
mv
~/
$(
basename
"
${
CLOUDSDK_BUCKET
}
"
)
~/repo
mkdir
~/cloudsdk
tar
zvxf ~/repo/google-cloud-sdk.tar.gz
-C
~/cloudsdk
export
CLOUDSDK_CORE_DISABLE_PROMPTS
=
1
export
CLOUDSDK_COMPONENT_MANAGER_SNAPSHOT_URL
=
file://
${
HOME
}
/repo/components-2.json
~/cloudsdk/google-cloud-sdk/install.sh
--disable-installation-options
--bash-completion
=
false
--path-update
=
false
--usage-reporting
=
false
export
PATH
=
${
HOME
}
/cloudsdk/google-cloud-sdk/bin:
${
PATH
}
export
CLOUDSDK_CONFIG
=
/var/lib/jenkins/.config/gcloud
fi
### Set up ###
### Set up ###
if
[[
"
${
E2E_UP
,,
}
"
==
"true"
]]
;
then
if
[[
"
${
E2E_UP
,,
}
"
==
"true"
]]
;
then
go run ./hack/e2e.go
${
E2E_OPT
}
-v
--down
go run ./hack/e2e.go
${
E2E_OPT
}
-v
--down
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment