Jenkins: Add configs for gke+trusty e2e test jobs

Additionally, merge kubernetes-e2e-trusty.yaml into kubernetes-e2e.yaml and
refactor the latter to serve all e2e jobs.
pull/6/head
Daniel Wang 2016-02-11 11:52:49 -08:00
parent 5516b8684f
commit 91b2f59bc6
2 changed files with 123 additions and 88 deletions

View File

@ -1,69 +0,0 @@
- job-template:
name: 'kubernetes-e2e-gce-trusty-{suffix}'
description: '{description} Test owner: {test-owner}.'
logrotate:
daysToKeep: 7
builders:
- shell: |
curl -fsS --retry 3 "https://raw.githubusercontent.com/kubernetes/kubernetes/{branch}/hack/jenkins/e2e.sh" | bash -
properties:
- mail-watcher
publishers:
- claim-build
- junit-publisher
- log-parser
- email-ext:
recipients: "{emails}"
- description-setter:
regexp: KUBE_GCE_MINION_IMAGE=(.*)
- groovy-postbuild:
script: |
def trustyImageMatcher = manager.getLogMatcher("KUBE_GCE_MINION_IMAGE=(.*)")
if(trustyImageMatcher?.matches()) manager.addShortText("<b>Trusty Image: " + trustyImageMatcher.group(1) + "</b>", "grey", "white", "0px", "white")
def k8sVersionMatcher = manager.getLogMatcher("Using\\spublished\\sversion\\s(.*)\\s\\(from.*")
if(k8sVersionMatcher?.matches()) manager.addShortText("<br><b>Kubernetes version: " + k8sVersionMatcher.group(1) + "</b>", "grey", "white", "0px", "white")
triggers:
- timed: 'H H/8 * * *'
wrappers:
- ansicolor:
colormap: xterm
- timeout:
timeout: '{timeout}'
fail: true
- timestamps
- workspace-cleanup
- project:
name: kubernetes-e2e-gce-trusty
test-owner: 'wonderfly@google.com'
branch: 'release-1.1'
emails:
adityakali@google.com,ameyd@google.com,andryeu@google.com,gwells@google.com,qzheng@google.com,saied@google.com,wonderfly@google.com,yinghan@google.com
suffix:
- 'head-release':
description: 'Continuously test Trusty build against latest k8s release.'
timeout: 150
- 'dev-release':
description: 'Continuously test Trusty dev build against latest k8s release.'
timeout: 150
- 'beta-release':
description: 'Continuously test Trusty beta build against latest k8s release.'
timeout: 150
- 'stable-release':
description: 'Continuously test Trusty stable build against latest k8s release.'
timeout: 150
- 'head-slow':
description: 'Run slow E2E tests on latest Trusty build.'
timeout: 270
- 'dev-slow':
description: 'Run slow E2E tests on latest Trusty dev build.'
timeout: 270
- 'beta-slow':
description: 'Run slow E2E tests on latest Trusty beta build.'
timeout: 270
- 'stable-slow':
description: 'Run slow E2E tests on latest Trusty stable build.'
timeout: 270
jobs:
- 'kubernetes-e2e-gce-trusty-{suffix}'

View File

@ -1,5 +1,17 @@
- job-template:
name: 'kubernetes-e2e-{suffix}'
# Common publishers shared by all e2e jobs.
- publisher:
name: e2e-publishers
publishers:
- claim-build
- junit-publisher
- gcs-uploader
- log-parser
- email-ext:
recipients: '{recipients}'
# Common attributes/actions shared by all e2e jobs.
- e2e_job_defaults: &e2e_job_defaults
name: e2e_job_defaults
description: '{description} Test owner: {test-owner}.'
logrotate:
daysToKeep: 7
@ -9,18 +21,6 @@
curl -fsS --retry 3 "https://raw.githubusercontent.com/kubernetes/kubernetes/{branch}/hack/jenkins/e2e.sh" | bash -
properties:
- mail-watcher
publishers:
- claim-build
- junit-publisher
- gcs-uploader
- log-parser
- email-ext:
recipients: "{emails}"
triggers:
- reverse:
jobs: '{trigger-job}'
result: success
- timed: '{cron-string}'
wrappers:
- ansicolor:
colormap: xterm
@ -30,6 +30,37 @@
- timestamps
- workspace-cleanup
# Template for e2e test jobs that run on GCE with Trusty images.
- job-template:
name: 'kubernetes-e2e-gce-trusty-{suffix}'
<<: *e2e_job_defaults
triggers:
- timed: 'H H/8 * * *'
publishers:
- e2e-publishers:
recipients: '{emails}'
- description-setter:
regexp: KUBE_GCE_MINION_IMAGE=(.*)
- groovy-postbuild:
script: |
def trustyImageMatcher = manager.getLogMatcher("KUBE_GCE_MINION_IMAGE=(.*)")
if(trustyImageMatcher?.matches()) manager.addShortText("<b>Trusty Image: " + trustyImageMatcher.group(1) + "</b>", "grey", "white", "0px", "white")
def k8sVersionMatcher = manager.getLogMatcher("Using\\spublished\\sversion\\s(.*)\\s\\(from.*")
if(k8sVersionMatcher?.matches()) manager.addShortText("<br><b>Kubernetes version: " + k8sVersionMatcher.group(1) + "</b>", "grey", "white", "0px", "white")
# Template for the rest of e2e test jobs.
- job-template:
name: 'kubernetes-e2e-{suffix}'
<<: *e2e_job_defaults
triggers:
- reverse:
jobs: '{trigger-job}'
result: success
- timed: '{cron-string}'
publishers:
- e2e-publishers:
recipients: '{emails}'
- project:
name: kubernetes-e2e-gce-master
trigger-job: 'kubernetes-build'
@ -92,7 +123,7 @@
description: |
Run flaky e2e tests using the following config:<br>
- provider: GKE<br>
- apiary: staging<br>
- api proxy: staging<br>
- borg job: test<br>
- client (kubectl): ci/latest.txt<br>
- cluster (k8s): ci/latest.txt<br>
@ -116,7 +147,7 @@
description: |
Run e2e tests using the following config:<br>
- provider: GKE<br>
- apiary: prod<br>
- api proxy: prod<br>
- borg job: prod<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
@ -126,7 +157,7 @@
description: |
Run e2e tests using the following config:<br>
- provider: GKE<br>
- apiary: staging<br>
- api proxy: staging<br>
- borg job: staging<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
@ -137,7 +168,7 @@
description: |
Run e2e tests using the following config:<br>
- provider: GKE<br>
- apiary: prod<br>
- api proxy: prod<br>
- borg job: prod<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
@ -148,7 +179,47 @@
description: |
Run e2e tests using the following config:<br>
- provider: GKE<br>
- apiary: staging<br>
- api proxy: staging<br>
- borg job: test<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
- tests: release/stable.txt
jobs:
- 'kubernetes-e2e-{suffix}'
- project:
name: kubernetes-e2e-gke-trusty
trigger-job: 'kubernetes-build-1.1'
test-owner: 'wonderfly@google.com'
branch: 'release-1.1'
emails: 'wonderfly@google.com,qzheng@google.com'
suffix:
- 'gke-trusty-prod':
timeout: 180
description: |
Run e2e tests with Trusty as node image using the following config:<br>
- provider: GKE<br>
- api proxy: prod<br>
- borg job: prod<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
- tests: release/stable.txt
- 'gke-trusty-staging':
timeout: 300
description: |
Run e2e tests with Trusty as node image using the following config:<br>
- provider: GKE<br>
- api proxy: staging<br>
- borg job: staging<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
- tests: release/stable.txt
- 'gke-trusty-test':
timeout: 300
description: |
Run e2e tests with Trusty as node image using the following config:<br>
- provider: GKE<br>
- api proxy: staging<br>
- borg job: test<br>
- client (kubectl): release/stable.txt<br>
- cluster (k8s): release/stable.txt<br>
@ -221,3 +292,36 @@
branch: 'release-1.1'
jobs:
- 'kubernetes-e2e-{suffix}'
- project:
name: kubernetes-e2e-gce-trusty
test-owner: 'wonderfly@google.com'
branch: 'release-1.1'
emails: 'wonderfly@google.com,qzheng@google.com'
suffix:
- 'head-release':
description: 'Continuously test Trusty build against latest k8s release.'
timeout: 150
- 'dev-release':
description: 'Continuously test Trusty dev build against latest k8s release.'
timeout: 150
- 'beta-release':
description: 'Continuously test Trusty beta build against latest k8s release.'
timeout: 150
- 'stable-release':
description: 'Continuously test Trusty stable build against latest k8s release.'
timeout: 150
- 'head-slow':
description: 'Run slow E2E tests on latest Trusty build.'
timeout: 270
- 'dev-slow':
description: 'Run slow E2E tests on latest Trusty dev build.'
timeout: 270
- 'beta-slow':
description: 'Run slow E2E tests on latest Trusty beta build.'
timeout: 270
- 'stable-slow':
description: 'Run slow E2E tests on latest Trusty stable build.'
timeout: 270
jobs:
- 'kubernetes-e2e-gce-trusty-{suffix}'