repo: 'opnfv'
port:
tag:
- - hunter:
- branch: stable/hunter
+ - latest:
+ branch: master
slave: intel-pod17
+ functest_tag: iruya
- parameter:
name: airship-slave
name: slave
default: '{slave}'
+- parameter:
+ name: airship-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: airship-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: airship-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
- airship-containers: &airship-containers
name: 'airship-containers'
repo: '{repo}'
port: '{port}'
container: '{container}'
- tag: '{tag}'
+ functest_tag: '{functest_tag}'
- airship-run-containers: &airship-run-containers
name: 'airship-run-containers'
- shell: |
set +x
if [ "{repo}" = "_" ]; then
- image={container}:{tag}
+ image={container}:{functest_tag}
elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
+ image={repo}/{container}:{functest_tag}
else
- image={repo}:{port}/{container}:{tag}
+ image={repo}:{port}/{container}:{functest_tag}
fi
sudo docker pull $image
name: airship-run-containers
builders:
- shell: |
- set +ex
+ set +x
[ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
- image={container}:{tag}
+ image={container}:{functest_tag}
elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
+ image={repo}/{container}:{functest_tag}
else
- image={repo}:{port}/{container}:{tag}
+ image={repo}:{port}/{container}:{functest_tag}
fi
- sudo docker run --rm \
+ sudo docker run --rm --dns 172.17.0.2 \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/airship/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=intel-pod17 \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
-e INSTALLER_TYPE=airship \
+ -e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=True \
- -e EXTERNAL_NETWORK=public \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DEPLOY_SCENARIO=ovs \
+ -e FLAVOR_EXTRA_SPECS=hw:mem_page_size:large \
+ -e NEW_USER_ROLE=_member_ \
+ -e NO_TENANT_NETWORK=true \
-v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
+ -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python3.6/\
site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
- $image run_tests -t {test} -r
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ -v /home/opnfv/functest/singlevm.py:/usr/lib/python3.6/\
+ site-packages/functest/core/singlevm.py \
+ $image run_tests -t {test} -r -p
- builder:
name: airship-remove-images
- shell: |
set +x
if [ "{repo}" = "_" ]; then
- image={container}:{tag}
+ image={container}:{functest_tag}
elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
+ image={repo}/{container}:{functest_tag}
else
- image={repo}:{port}/{container}:{tag}
+ image={repo}:{port}/{container}:{functest_tag}
fi
sudo docker rmi $image || true
builders:
- shell: |
set +x
- tools/deploy.sh deploy_site
+ export TERM_OPTS=" "
+ sudo -H -E -u ubuntu bash -c 'tools/deploy.sh $slave deploy_site'
- scm:
name: airship-scm
default: '{branch}'
- job-template:
- name: 'airship-deploy-{tag}'
+ name: 'airship-deploy-daily-{tag}'
parameters:
- airship-slave:
slave: '{slave}'
builders:
- airship-deploy
+- job-template:
+ name: 'airship-deploy-gate-{tag}'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ scm:
+ - airship-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - airship-deploy
+
- project:
name: 'airship-deploy'
- tag:
- - latest:
- branch: master
- slave: intel-pod17
+ <<: *airship-params
jobs:
- - 'airship-deploy-{tag}'
+ - 'airship-deploy-daily-{tag}'
+ - 'airship-deploy-gate-{tag}'
- job-template:
name: 'airship-{repo}-{container}-{tag}-pull'
jobs:
- 'airship-{repo}-{container}-{tag}-pull'
-- project:
- name: 'airship-opnfv-functest-features-pull'
- <<: *airship-params
- container: 'functest-features'
- jobs:
- - 'airship-{repo}-{container}-{tag}-pull'
-
- job-template:
name: 'airship-{repo}-{container}-{tag}-rmi'
parameters:
jobs:
- 'airship-{repo}-{container}-{tag}-rmi'
-- project:
- name: 'airship-opnfv-functest-features-rmi'
- <<: *airship-params
- container: 'functest-features'
- jobs:
- - 'airship-{repo}-{container}-{tag}-rmi'
-
- job-template:
name: 'airship-{repo}-{container}-{tag}-{test}-run'
parameters:
- airship-slave:
slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
builders:
- airship-run-containers:
<<: *airship-run-containers
- cinder_test
- odl
- tempest_smoke
+ - tempest_horizon
jobs:
- 'airship-{repo}-{container}-{tag}-{test}-run'
<<: *airship-params
container: 'functest-smoke'
test:
- - neutron-tempest-plugin-api
+ - tempest_neutron
+ - tempest_cinder
+ - tempest_keystone
+ - tempest_heat
+ - tempest_telemetry
- rally_sanity
- - refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
- tempest_full
- tempest_scenario
+ - tempest_slow
- patrole
- - neutron_trunk
- networking-bgpvpn
- networking-sfc
- - barbican
+ - tempest_barbican
+ - tempest_octavia
jobs:
- 'airship-{repo}-{container}-{tag}-{test}-run'
jobs:
- 'airship-{repo}-{container}-{tag}-{test}-run'
+- builder:
+ name: airship-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker run --rm --dns 172.17.0.2 \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/airship \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/ \
+ -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 \
+ -e DEPLOY_SCENARIO=ovs \
+ -e FLAVOR_EXTRA_SPECS=hw:mem_page_size:large \
+ -e NEW_USER_ROLE=_member_ \
+ -e NO_TENANT_NETWORK=true \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'airship-{tag}-zip'
+ parameters:
+ - airship-build_tag:
+ build_tag: ''
+ builders:
+ - airship-zip:
+ <<: *airship-containers
+
- project:
- name: 'airship-opnfv-functest-features'
+ name: 'airship-{tag}-zip'
<<: *airship-params
- container: 'functest-features'
- test:
- - doctor-notification
- - functest-odl-sfc
- - barometercollectd
- - vgpu
- - stor4nfv_os
+ container: 'functest-healthcheck'
jobs:
- - 'airship-{repo}-{container}-{tag}-{test}-run'
+ - 'airship-{tag}-zip'
- job-template:
name: 'airship-{tag}-daily'
project-type: multijob
triggers:
- - timed: '@daily'
+ - timed: '0 6 * * 3,6'
parameters:
- airship-slave:
slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
- airship-branch:
branch: 'master'
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^airship-{tag}-(daily|check|gate)$'
+ - '^airship-{tag}-(daily|gate)$'
builders:
- multijob:
name: deploy
projects:
- - name: 'airship-deploy-latest'
+ - name: 'airship-deploy-daily-{tag}'
<<: *airship-jobs
- multijob:
name: remove former images
<<: *airship-jobs
- name: 'airship-opnfv-functest-vnf-{tag}-rmi'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-features-{tag}-rmi'
- <<: *airship-jobs
- multijob:
name: pull containers
projects:
<<: *airship-jobs
- name: 'airship-opnfv-functest-vnf-{tag}-pull'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-features-{tag}-pull'
- <<: *airship-jobs
- multijob:
- name: opnfv/functest-healthcheck:{tag}
+ name: opnfv/functest-healthcheck:{functest_tag}
condition: ALWAYS
projects:
- name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *airship-jobs
- multijob:
- name: opnfv/functest-smoke:{tag}
+ name: opnfv/functest-smoke:{functest_tag}
condition: ALWAYS
projects:
- - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_platform-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_slow-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_octavia-run'
<<: *airship-jobs
- multijob:
- name: opnfv/functest-benchmarking:{tag}
+ name: opnfv/functest-benchmarking:{functest_tag}
condition: ALWAYS
projects:
- name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
- name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
<<: *airship-jobs
- multijob:
- name: opnfv/functest-vnf:{tag}
+ name: opnfv/functest-vnf:{functest_tag}
condition: ALWAYS
execution-type: SEQUENTIALLY
projects:
- name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *airship-jobs
- multijob:
- name: opnfv/functest-features:{tag}
- condition: ALWAYS
+ name: dump all campaign data
+ projects:
+ - name: 'airship-{tag}-zip'
+ <<: *airship-jobs
+
+- trigger:
+ name: airship-patchset-created
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'airship'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- job-template:
+ name: 'airship-{tag}-gate'
+ project-type: multijob
+ triggers:
+ - airship-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^airship-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'airship-deploy-gate-{tag}'
+ <<: *airship-jobs
+ - multijob:
+ name: remove former images
projects:
- - name: 'airship-opnfv-functest-features-{tag}-doctor-notification-run'
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-features-{tag}-functest-odl-sfc-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
+ <<: *airship-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-features-{tag}-barometercollectd-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-pull'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-features-{tag}-vgpu-run'
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-features-{tag}-stor4nfv_os-run'
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ projects:
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_keystone-run'
<<: *airship-jobs
-
- project:
name: 'airship'
<<: *airship-params
jobs:
- 'airship-{tag}-daily'
+ - 'airship-{tag}-gate'
- view:
name: airship