tag:
- latest:
branch: master
+ slave: lf-virtual1
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
- hunter:
branch: stable/hunter
+ slave: lf-virtual1
+ - arm64-latest:
+ branch: master
+ slave: lf-virtual1
+ - arm64-kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - arm64-jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - arm64-iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - arm64-hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
- parameter:
name: xtesting-slave
parameters:
- label:
name: slave
- default: lf-build2
+ default: '{slave}'
+
+- parameter:
+ name: xtesting-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
- parameter:
name: xtesting-branch
name: branch
default: '{branch}'
+- parameter:
+ name: xtesting-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
- xtesting-containers: &xtesting-containers
name: 'xtesting-containers'
repo: '{repo}'
tag: '{tag}'
- xtesting-run-containers: &xtesting-run-containers
- name: 'xtesting-build-containers'
+ name: 'xtesting-run-containers'
<<: *xtesting-containers
test: '{test}'
-
-- xtesting-build-containers: &xtesting-build-containers
- name: 'xtesting-build-containers'
- <<: *xtesting-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
+ privileged: '{privileged}'
+ network: '{network}'
- builder:
name: xtesting-pull-containers
sudo docker pull $image
- builder:
- name: xtesting-build-containers
+ name: xtesting-run-containers
builders:
- shell: |
set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- sudo docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
+ sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/xtesting/.boto:/root/.boto \
+ $image run_tests -t {test} -p -r
- builder:
- name: xtesting-run-containers
+ name: xtesting-remove-images
builders:
- shell: |
- set +ex
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ set +x
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- $image run_tests -t {test}
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ sudo docker rmi $image || true
+
+- xtesting-build-containers: &xtesting-build-containers
+ name: 'xtesting-build-containers'
+ <<: *xtesting-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
- builder:
- name: xtesting-remove-images
+ name: xtesting-build-containers
builders:
- shell: |
set +x
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ if [ "{ref_arg}" = "None" ]; then
+ build_arg=""
+ else
+ build_arg="--build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ sudo docker build $build_arg \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
- scm:
name: xtesting-scm
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-pull'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
builders:
- xtesting-pull-containers:
<<: *xtesting-containers
jobs:
- 'xtesting-{repo}-{container}-{tag}-pull'
+- project:
+ name: 'xtesting-opnfv-xtesting-mts-pull'
+ <<: *xtesting-params
+ container: 'xtesting-mts'
+ exclude:
+ - tag: hunter
+ - tag: iruya
+ - tag: jerma
+ - tag: kali
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ jobs:
+ - 'xtesting-{repo}-{container}-{tag}-pull'
+
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-rmi'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
builders:
- xtesting-remove-images:
<<: *xtesting-containers
jobs:
- 'xtesting-{repo}-{container}-{tag}-rmi'
+- project:
+ name: 'xtesting-opnfv-xtesting-mts-rmi'
+ <<: *xtesting-params
+ container: 'xtesting-mts'
+ exclude:
+ - tag: hunter
+ - tag: iruya
+ - tag: jerma
+ - tag: kali
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ jobs:
+ - 'xtesting-{repo}-{container}-{tag}-rmi'
+
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-{test}-run'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
+ - xtesting-build_tag:
+ build_tag: ''
+ - xtesting-DEBUG:
+ DEBUG: 'true'
builders:
- xtesting-run-containers:
<<: *xtesting-run-containers
- third
- fourth
- fifth
+ - sixth
+ exclude:
+ - tag: hunter
+ test: sixth
+ - tag: iruya
+ test: sixth
+ - tag: arm64-hunter
+ test: sixth
+ - tag: arm64-iruya
+ test: sixth
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'xtesting-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'xtesting-opnfv-xtesting-mts'
+ <<: *xtesting-params
+ container: 'xtesting-mts'
+ test:
+ - seventh
+ exclude:
+ - tag: hunter
+ test: seventh
+ - tag: iruya
+ test: seventh
+ - tag: jerma
+ test: seventh
+ - tag: kali
+ test: seventh
+ - tag: arm64-hunter
+ test: seventh
+ - tag: arm64-iruya
+ test: seventh
+ - tag: arm64-jerma
+ test: seventh
+ - tag: arm64-kali
+ test: seventh
+ privileged: 'false'
+ network: bridge
jobs:
- 'xtesting-{repo}-{container}-{tag}-{test}-run'
+- builder:
+ name: xtesting-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/xtesting/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'xtesting-{tag}-zip'
+ parameters:
+ - xtesting-slave:
+ slave: '{slave}'
+ - xtesting-build_tag:
+ build_tag: ''
+ - xtesting-DEBUG:
+ DEBUG: 'true'
+ builders:
+ - xtesting-zip:
+ <<: *xtesting-containers
+
+- project:
+ name: 'xtesting-{tag}-zip'
+ <<: *xtesting-params
+ container: 'xtesting'
+ jobs:
+ - 'xtesting-{tag}-zip'
+
- job-template:
name: 'xtesting-{tag}-daily'
project-type: multijob
triggers:
- timed: '@daily'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
+ - xtesting-build_tag:
+ build_tag: ''
+ - xtesting-DEBUG:
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-[a-z]+-(daily|check|gate)$'
+ - '^xtesting-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
+ <<: *xtesting-jobs
- multijob:
name: pull containers
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-pull'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-pull'
+ <<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
+ <<: *xtesting-jobs
+ - multijob:
+ name: opnfv/xtesting-mts:{tag}
+ projects:
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
+ <<: *xtesting-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'xtesting-{tag}-zip'
+ <<: *xtesting-jobs
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-gate'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
scm:
- xtesting-scm:
ref: $GERRIT_REFSPEC
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-check'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
- xtesting-branch:
branch: '{branch}'
scm:
ref: $branch
- project:
- name: 'xtesting-_-alpine-3.9-rmi'
+ name: 'xtesting-_-alpine-3.12-rmi'
repo: _
port:
container: alpine
- tag: 3.9
+ tag: '3.12'
+ slave: master
jobs:
- 'xtesting-{repo}-{container}-{tag}-rmi'
- project:
- name: 'xtesting-_-alpine-3.9-pull'
+ name: 'xtesting-_-alpine-3.12-pull'
repo: _
port:
container: alpine
- tag: 3.9
+ tag: '3.12'
+ slave: master
+ exclude:
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ - tag: arm64-latest
jobs:
- 'xtesting-{repo}-{container}-{tag}-pull'
<<: *xtesting-params
container: xtesting
ref_arg: BRANCH
- path: docker
+ path: docker/core
+ exclude:
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ - tag: arm64-latest
+ jobs:
+ - 'xtesting-{repo}-{container}-{tag}-gate'
+ - 'xtesting-{repo}-{container}-{tag}-check'
+
+- project:
+ name: xtesting-opnfv-xtesting-mts-{tag}-build
+ <<: *xtesting-params
+ container: xtesting-mts
+ ref_arg: BRANCH
+ path: docker/mts
+ exclude:
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ - tag: arm64-latest
jobs:
- 'xtesting-{repo}-{container}-{tag}-gate'
- 'xtesting-{repo}-{container}-{tag}-check'
name: 'xtesting-{tag}-check'
project-type: multijob
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
+ - xtesting-build_tag:
+ build_tag: ''
- xtesting-branch:
branch: '{branch}'
+ - xtesting-DEBUG:
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-[a-z]+-(daily|check|gate)$'
+ - '^xtesting-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
+ <<: *xtesting-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-rmi'
+ - name: 'xtesting-_-alpine-3.12-rmi'
<<: *xtesting-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-pull'
+ - name: 'xtesting-_-alpine-3.12-pull'
<<: *xtesting-jobs
- multijob:
- name: opnfv/functest-xtesting
+ name: opnfv/xtesting
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-check'
<<: *xtesting-jobs
+ - multijob:
+ name: opnfv/xtesting-mts
+ projects:
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-check'
+ <<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
+ <<: *xtesting-jobs
+ - multijob:
+ name: opnfv/xtesting-mts:{tag}
+ projects:
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
+ <<: *xtesting-jobs
- trigger:
name: xtesting-patchset-created
- xtesting-patchset-created:
branch: '{branch}'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
+ - xtesting-build_tag:
+ build_tag: ''
+ - xtesting-DEBUG:
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-[a-z]+-(daily|check|gate)$'
+ - '^xtesting-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
+ <<: *xtesting-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-rmi'
+ - name: 'xtesting-_-alpine-3.12-rmi'
<<: *xtesting-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-pull'
+ - name: 'xtesting-_-alpine-3.12-pull'
<<: *xtesting-jobs
- multijob:
- name: opnfv/functest-xtesting
+ name: opnfv/xtesting
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-gate'
<<: *xtesting-jobs
+ - multijob:
+ name: opnfv/xtesting-mts
+ projects:
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-gate'
+ <<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
+ <<: *xtesting-jobs
+ - multijob:
+ name: opnfv/xtesting-mts:{tag}
+ projects:
+ - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
+ <<: *xtesting-jobs
- project:
name: 'xtesting'
<<: *xtesting-params
jobs:
- 'xtesting-{tag}-daily'
+
+- project:
+ name: 'xtesting-gate'
+ <<: *xtesting-params
+ exclude:
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ - tag: arm64-latest
+ jobs:
- 'xtesting-{tag}-check'
- 'xtesting-{tag}-gate'
- last-success
- last-failure
- last-duration
- regex: ^xtesting-[a-z]+-(daily|check|gate)$
+ regex: ^xtesting-(arm.*-|amd64-)*[a-z]+-daily$
+
+- view:
+ name: xtesting-gate
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-(arm.*-|amd64-)*[a-z]+-gate$