+++ /dev/null
----
-- project:
- name: auto-rtd
- project: auto
- project-name: auto
-
- project-pattern: 'auto'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-auto/47350/'
- rtd-token: '3c2277762678c97e59d24c83201194d6b56d7983'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-# jenkins job templates for Auto
-- project:
- name: 'auto-ci-jobs'
- project: 'auto'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- # -------------------------------
- # DEPLOY TYPE ANCHORS
- # -------------------------------
- baremetal: &baremetal
- installer: 'fuel'
- slave-label: 'auto-baremetal'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI POD's
- # -------------------------------
- pod:
- - auto-baremetal:
- <<: *baremetal
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- # HA scenarios
- - 'os-nosdn-onap-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-
- jobs:
- - 'fuel-{scenario}-{pod}-auto-daily-{stream}'
- - 'fuel-deploy-{pod}-daily-{stream}'
- - 'auto-daily-{stream}'
- - 'auto-verify-{stream}'
- - 'auto-merge-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'fuel-{scenario}-{pod}-auto-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-{pod}-auto-daily-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - trigger-builds:
- - project: 'fuel-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- PROJECT=armband
- same-node: true
- block: true
-
-- job-template:
- name: 'auto-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'auto-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'intel-pod18-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - timed: '0 16 * * *'
-
- builders:
- - shell: |
- pwd
- ./ci/build-auto.sh daily
-
-- job-template:
- name: 'auto-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: freestyle
-
- concurrent: true
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- ./ci/build-auto.sh verify
-
-- job-template:
- name: 'auto-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: freestyle
-
- concurrent: true
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- ./ci/build-auto.sh merge
-
-########################
-# trigger macros
-########################
-# CI PODs
-# ----------------------------------------------------------------
-# Auto CI Baremetal Triggers running against master branch
-# ----------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-onap-ha-auto-baremetal-master-trigger'
- triggers:
- - timed: ''
-# ---------------------------------------------------------------------
-# Auto CI Baremetal Triggers running against fraser branch
-# ---------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-onap-ha-auto-baremetal-fraser-trigger'
- triggers:
- - timed: ''
-# ---------------------------------------------------------------------
-# Auto CI Baremetal Triggers running against gambia branch
-# ---------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-onap-ha-auto-baremetal-gambia-trigger'
- triggers:
- - timed: ''
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
# This is used for different test suite dependent packages storage
gs-packagepath: '/{suite}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- gs-packagepath: '/{stream}/{suite}'
- disabled: false
- - fraser:
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
gs-packagepath: '/{stream}/{suite}'
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
builders:
- shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
- multijob:
name: 'doctor-verify-sample'
execution-type: PARALLEL
name: 'doctor-verify-installer-inspector-builders-macro'
builders:
# yamllint disable rule:indentation
- - shell:
- !include-raw:
- - ./doctor-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
+ - shell: !include-raw:
+ - ./doctor-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
- shell: |
# prepare the env for test
source $HOME/opnfv-openrc.sh
gs-pathname: ''
docker-tag: 'latest'
disabled: true
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- dovetail-branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'ovp-2.0.0'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
dovetail-branch: 'master'
gs-pathname: '/{stream}'
slave-label: fuel-baremetal
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
- virtual:
slave-label: fuel-virtual
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# compass CI PODs
- baremetal:
slave-label: compass-baremetal
slave-label: compass-baremetal
SUT: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *hunter
- virtual:
slave-label: compass-virtual
SUT: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# -------------------------------
# Installers not using labels
# CI PODs
slave-label: apex-virtual-master
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: apex-baremetal-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: apex-virtual-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
- baremetal:
slave-label: apex-baremetal-master
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - armband-virtual:
- slave-label: armband-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
# -------------------------------
# None-CI PODs
# -------------------------------
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - zte-pod1:
- slave-label: zte-pod1
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - zte-pod3:
- slave-label: zte-pod3
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - huawei-pod4:
- slave-label: huawei-pod4
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - huawei-pod7:
- slave-label: huawei-pod7
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
# -------------------------------
testsuite:
cat << EOF >${POD}
nodes:
-- {ip: ${INSTALLER_IP}, name: node0, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${INSTALLER_IP}, name: node0, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
role: Jumpserver, user: ${ssh_user}}
-- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-- {ip: ${fuel_msg_ip}, name: msg01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_msg_ip}, name: msg01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
EOF
}
cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
-i ${INSTALLER_IP} ${options} -f ${POD} \
- -s /home/opnfv/userconfig/pre_config/id_rsa"
+ -s ${DOVETAIL_CONFIG}/id_rsa"
echo "INFO: cmd is ${cmd}"
${cmd}
- trigger:
name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 4 * * *'
+ - timed: '5 4 * * 1,4'
- trigger:
name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 6 * * *'
+ - timed: '5 6 * * 2,5'
- trigger:
name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
triggers:
- trigger:
name: 'fuel-os-odl-sfc-noha-virtual-daily-hunter-trigger'
triggers:
- - timed: '0 4 * * *'
+ - timed: '0 4 * * 1,4'
- trigger:
name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-hunter-trigger'
triggers:
- - timed: '0 7 * * *'
+ - timed: '0 7 * * 2,5'
- trigger:
name: 'fuel-os-ovn-nofeature-noha-virtual-daily-hunter-trigger'
triggers:
# shellcheck disable=SC2153
POD_NAME=${NODE_NAME/*-}
-# Fuel currently supports arm, enea, ericsson, intel, lf, unh and zte labs
-if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte) ]]; then
+# Fuel currently supports arm, enea, ericsson, intel, lf, unh, zte and itri labs
+if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte|itri) ]]; then
echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
exit 1
fi
COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
"sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
IMAGE_PROPERTIES="hw_disk_bus:scsi,hw_scsi_model:virtio-scsi"
- envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}"
+ envs="${envs} -e POD_ARCH=${COMPUTE_ARCH} -e BLOCK_MIGRATION=false"
fi
if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then
max_microversion: 2.65
EOF
;;
-stable/gambia)
- cat << EOF >> "${tempest_conf_yaml}"
-compute:
- max_microversion: 2.60
-EOF
- ;;
esac
echo "tempest_conf.yaml:" && cat "${tempest_conf_yaml}"
tests=()
skip_tests=0
if [ "${HOST_ARCH}" != "aarch64" ]; then
- if [[ ${BRANCH} == "stable/gambia" ]]; then
- tiers=(healthcheck smoke benchmarking features vnf components)
- else
- tiers=(healthcheck smoke benchmarking features vnf)
- fi
+ tiers=(healthcheck smoke benchmarking features vnf)
else
- if [[ ${BRANCH} == "stable/gambia" ]]; then
- tiers=(healthcheck smoke benchmarking features components)
- else
- tiers=(healthcheck smoke benchmarking features)
- fi
+ tiers=(healthcheck smoke benchmarking features)
fi
run_tiers ${tiers}
if [ ${skip_tests} -eq 0 ]; then
stream: master
branch: '{stream}'
gs-pathname: ''
- gambia: &gambia
- stream: gambia
+ iruya: &iruya
+ stream: iruya
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
hunter: &hunter
slave-label: fuel-virtual
installer: fuel
<<: *hunter
- # compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- <<: *gambia
- - virtual:
- slave-label: compass-virtual
- installer: compass
- <<: *gambia
# apex CI PODs
- virtual:
slave-label: apex-virtual-master
slave-label: apex-baremetal-master
installer: apex
<<: *hunter
- - virtual:
- slave-label: apex-virtual-master
- installer: apex
- <<: *gambia
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *gambia
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
slave-label: armband-baremetal
installer: fuel
<<: *hunter
+ # fuel NONE CI PODs
+ - zte-pod1:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
+ - itri-pod1:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
testsuite:
- 'suite':
- hunter:
branch: 'stable/{stream}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
arch_tag:
- 'amd64':
- hunter:
branch: 'stable/{stream}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
arch_tag:
- 'amd64':
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
phase:
- 'unit-tests-and-docs':
repo: 'opnfv'
port:
tag:
+ - latest:
+ branch: master
+ slave: lf-virtual8
- iruya:
branch: stable/iruya
+ slave: lf-virtual7
- hunter:
branch: stable/hunter
+ slave: lf-virtual5
- parameter:
name: functest-kubernetes-slave
parameters:
- label:
name: slave
- default: functest-virtual
+ default: '{slave}'
- parameter:
name: functest-kubernetes-branch
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker pull $image
+ docker pull $image
- builder:
name: functest-kubernetes-build-containers
build_arg="--build-arg {ref_arg}={ref}"
fi
cd {path}
- sudo docker build $build_arg \
+ docker build $build_arg \
--pull=false --no-cache --force-rm=true \
-t $image .
name: functest-kubernetes-run-containers
builders:
- shell: |
- set +ex
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ set +e
+ set -x
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ docker run --rm \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-e DEPLOY_SCENARIO=k8-nosdn-nofeature-noha \
- -v /home/opnfv/functest-kubernetes/config:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
$image run_tests -t {test}
res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
+ gsutil -dd -m cp -r $WORKSPACE/ \
+ gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID
find $WORKSPACE -type f \
-printf \
"http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID/%P\n"
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ docker rmi $image || true
- scm:
name: functest-kubernetes-scm
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-pull-containers:
<<: *functest-kubernetes-containers
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-remove-images:
<<: *functest-kubernetes-containers
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-run-containers:
<<: *functest-kubernetes-run-containers
triggers:
- timed: '@daily'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
scm:
- functest-kubernetes-scm:
ref: $GERRIT_REFSPEC
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
- functest-kubernetes-branch:
branch: '{branch}'
scm:
port:
container: golang
tag: alpine3.9
+ slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
port:
container: golang
tag: alpine3.9
+ slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-pull'
name: 'functest-kubernetes-{tag}-check'
project-type: multijob
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
- functest-kubernetes-branch:
branch: '{branch}'
properties:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
- functest-kubernetes-patchset-created:
branch: '{branch}'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
branch: 'stable/{stream}'
gs-pathname: ''
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
phase:
- 'unit-tests-and-docs':
- iruya:
branch: 'stable/{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
else
image={repo}:{port}/{container}:{tag}
fi
+ if [ "{tag}" = "latest" ]; then
+ py=3.6
+ else
+ py=2.7
+ fi
sudo docker run --rm \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-e DEBUG=True \
-e EXTERNAL_NETWORK=public \
- -e DEBUG=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/blacklist.yaml:/usr/lib/python2.7/\
+ -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
+ -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
+ site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml \
$image run_tests -t {test}
res=$?
gsutil -m cp -r $WORKSPACE/ \
- neutron-tempest-plugin-api
- rally_sanity
- refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
- tempest_full
- tempest_scenario
- patrole
- networking-bgpvpn
- networking-sfc
- barbican
+ exclude:
+ - tag: latest
+ test: refstack_defcore
+ - tag: iruya
+ test: refstack_defcore
+ - tag: hunter
+ test: refstack_compute
+ - tag: hunter
+ test: refstack_object
+ - tag: hunter
+ test: refstack_platform
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- hunter:
branch: 'stable/{stream}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
arch_tag:
- 'amd64':
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
phase:
- 'unit-tests-and-docs':
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
+++ /dev/null
----
-- project:
- name: models
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
+++ /dev/null
----
-- project:
- name: moon-rtd
- project: moon
- project-name: moon
-
- gerrit-skip-vote: true
- project-pattern: 'moon'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-moon/47373/'
- rtd-token: 'f4dc698744431a8688a58746f84fc5d7bee694b2'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: moon
-
- project: '{name}'
-
- jobs:
- - 'moon-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-
-- job-template:
- name: 'moon-verify-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "launch Moon unit tests"
- #nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'buildvm'
+ - change-merged-event
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
builders:
- shell: |
cd $WORKSPACE && tox
+ cd $WORKSPACE/nfvbenchvm/dib
+ bash verify-image.sh -v
+++ /dev/null
----
-- project:
- name: 'opera-daily-jobs'
-
- project: 'opera'
-
- #####################################
- # branch definitions
- #####################################
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- #####################################
- # pod definitions
- #####################################
- pod:
- - virtual:
- slave-label: 'huawei-virtual7'
- os-version: 'xenial'
- <<: *master
-
- #####################################
- # jobs
- #####################################
- jobs:
- - 'opera-{pod}-daily-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'opera-{pod}-daily-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
-
- triggers:
- - timed: '@midnight'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DEPLOY_SCENARIO
- default: os-nosdn-openo-ha
- - '{slave-label}-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'compass-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openo-ha
- COMPASS_OS_VERSION=xenial
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: functest
- condition: SUCCESSFUL
- projects:
- - name: 'functest-compass-{pod}-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openo-ha
- FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=opera_vims
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+++ /dev/null
----
-- project:
-
- name: opera-project
-
- project: 'opera'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
-
- jobs:
- - 'opera-build-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'opera-build-{stream}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - timed: 'H 23 * * *'
-
- builders:
- - 'opera-build-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'opera-build-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Hello world!"
+++ /dev/null
----
-- project:
- name: opera-rtd
- project: opera
- project-name: opera
-
- gerrit-skip-vote: true
- project-pattern: 'opera'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-opera/47379/'
- rtd-token: '4dc678d2d96adf6376b4f8f9aafdbbeb24dbb006'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: 'opera-verify-jobs'
-
- project: 'opera'
-
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'basic'
- - 'deploy'
-
- #####################################
- # jobs
- #####################################
- jobs:
- - 'opera-verify-{stream}'
- - 'opera-verify-{phase}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'opera-verify-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 120
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'huawei-pod7-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opera-verify-basic-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'opera-verify-deploy-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'opera-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 120
- fail: true
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'opera-verify-basic-macro'
- builders:
- - shell: |
- #!/bin/bash
- echo "Hello world!"
-
-- builder:
- name: 'opera-verify-deploy-macro'
- builders:
- - shell: |
- #!/bin/bash
- echo "Hello world!"
stream:
- master:
branch: 'master'
- - gambia:
- branch: 'stable/{stream}'
- - fraser:
- branch: 'stable/{stream}'
- - danube:
+ - hunter:
branch: 'stable/{stream}'
- job-template:
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
+++ /dev/null
----
-###################################
-# job configuration for orchestra
-###################################
-- project:
- name: 'orchestra-daily-jobs'
-
- project: 'orchestra'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- # ------------------------------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # ------------------------------------------------------
- pod:
- - virtual:
- slave-label: 'joid-virtual'
- os-version: 'xenial'
- <<: *master
-
- jobs:
- - 'orchestra-{pod}-daily-{stream}'
-
-################################
-# job template
-################################
-- job-template:
- name: 'orchestra-{pod}-daily-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
-
- - timeout:
- timeout: 240
- fail: true
-
- triggers:
- - timed: '@daily'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DEPLOY_SCENARIO
- default: os-nosdn-openbaton-ha
- - '{slave-label}-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openbaton-ha
- COMPASS_OS_VERSION=xenial
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: functest
- condition: SUCCESSFUL
- projects:
- - name: 'functest-joid-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openbaton-ha
- FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=orchestra_ims
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+++ /dev/null
----
-- project:
-
- name: orchestra-project
-
- project: 'orchestra'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
-
- jobs:
- - 'orchestra-build-{stream}'
-
-- job-template:
- name: 'orchestra-build-{stream}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
-
- scm:
- - git-scm
-
- triggers:
- - timed: 'H 23 * * *'
-
- builders:
- - 'orchestra-build-macro'
-
-- builder:
- name: 'orchestra-build-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Hello world!"
+++ /dev/null
----
-- project:
- name: orchestra-rtd
- project: orchestra
- project-name: orchestra
-
- gerrit-skip-vote: true
- project-pattern: 'orchestra'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-orchestra/47380/'
- rtd-token: 'c7f8cb2949a592bf6040c648552b0afa61f7da15'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: ovsnfv-rtd
- project: ovsnfv
- project-name: ovsnfv
-
- gerrit-skip-vote: true
- project-pattern: 'ovsnfv'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ovsnfv/47383/'
- rtd-token: '1faa400aa3da4eca3c6018f8ed0e48a33fa66a00'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: ovsnfv
-
- project: '{name}'
-
- jobs:
- - 'ovsnfv-verify-{stream}'
- - 'ovsnfv-merge-{stream}'
- - 'ovsnfv-daily-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'ovsnfv-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'ci/**'
-
- builders:
- - build-rpms
-
-- job-template:
- name: 'ovsnfv-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm
-
- wrappers:
- - timeout:
- timeout: 24
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'ci/**'
-
- builders:
- - build-rpms
-
-- job-template:
- name: 'ovsnfv-daily-{stream}'
-
- disabled: 'true'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm
-
- wrappers:
- - timeout:
- timeout: 24
- fail: true
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - build-rpms
-
- publishers:
- - email:
- recipients: therbert@redhat.com mark.d.gray@intel.com billy.o.mahony@intel.com
- - email-jenkins-admins-on-failure
-
-- builder:
- name: build-rpms
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- cd $WORKSPACE/ci
- ./build.sh
+++ /dev/null
----
-- project:
- name: parser-rtd
- project: parser
- project-name: parser
-
- project-pattern: 'parser'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-parser/47384/'
- rtd-token: '10223af1183fc8bdc191932045d82a0c1d7c874a'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: parser
-
- project: '{name}'
-
- jobs:
- - 'parser-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'parser-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: 'governance/**'
- - compare-type: ANT
- pattern: '*.txt|.gitignore|.gitreview|INFO|LICENSE'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- # ut and pep8 check parser/tosca2heat
- echo "Running tox on tosca2heat/tosca-parser ..."
- cd $WORKSPACE/tosca2heat/tosca-parser && tox
- echo "Running tox on tosca2heat/heat-translator ..."
- cd $WORKSPACE/tosca2heat/heat-translator && tox
+++ /dev/null
----
-###########################################
-# Experimental jobs for development purpose
-###########################################
-
-- project:
- name: qtip-experimental-jobs
- project: qtip
- jobs:
- - 'qtip-experimental-{pod}-{stream}'
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- pod:
- - zte-virtual5:
- installer: apex
- pod: zte-virtual5
-
-################################
-## job templates
-#################################
-
-- job-template:
- name: 'qtip-experimental-{pod}-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{pod}-defaults'
- scm:
- - git-scm-gerrit
-
- triggers:
- - experimental:
- project: '{project}'
- branch: '{branch}'
- files: '**'
-
- builders:
- - shell: |
- #!/bin/bash
- source tests/ci/experimental.sh
+++ /dev/null
----
-- project:
- name: qtip-rtd
- project: qtip
- project-name: qtip
-
- gerrit-skip-vote: true
- project-pattern: 'qtip'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-qtip/47387/'
- rtd-token: 'eb407b024fbe12c416d012f48db866caf5fbab7c'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-#######################
-# validate after MERGE
-#######################
-- project:
- name: qtip
- project: qtip
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: latest
- disabled: false
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- gs-pathname: '{stream}'
- docker-tag: 'stable'
- disabled: false
-
- # -------------------------------
- # JOB VARIABLES
- # -------------------------------
- qpi:
- - compute:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: node
- <<: *master
- - storage:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: ''
- <<: *master
- - network:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: ''
- <<: *master
- - compute:
- installer: fuel
- pod: zte-virtual6
- sut: vnf
- <<: *master
- - compute:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: node
- <<: *fraser
- - storage:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: ''
- <<: *fraser
- - compute:
- installer: fuel
- pod: zte-virtual6
- sut: vnf
- <<: *fraser
-
-
- # -------------------------------
- # JOB LIST
- # -------------------------------
- jobs:
- - 'qtip-{qpi}-{installer}-{pod}-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
- name: 'qtip-{qpi}-{installer}-{pod}-{stream}'
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{pod}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: generic
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debug output information"
- - string:
- name: TEST_SUITE
- default: '{qpi}'
- - string:
- name: TESTAPI_URL
- default: 'http://testresults.opnfv.org/test/api/v1'
- - string:
- name: OPNFV_RELEASE
- default: '{stream}'
- - string:
- name: SUT
- description: "System Under Test"
- default: '{sut}'
- scm:
- - git-scm
-
- wrappers:
- - timeout:
- timeout: 120
- abort: true
- - timestamps
-
- triggers:
- - 'qtip-daily'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - shell: |
- #!/bin/bash
- source tests/ci/periodic.sh
-
- publishers:
- - qtip-common-publishers
- - email-jenkins-admins-on-failure
-
-################
-# MARCOS
-################
-
-# --------
-# builder
-# --------
-
-# ----------
-# parameter
-# ----------
-
-# ----------
-# publisher
-# ----------
-
-- publisher:
- name: qtip-common-publishers
- publishers:
- - email:
- recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn
-
-# --------
-# trigger
-# --------
-
-- trigger:
- name: 'qtip-daily'
- triggers:
- - timed: '0 15 * * *'
+++ /dev/null
----
-######################
-# verify before MERGE
-######################
-
-- project:
- name: qtip-verify-jobs
- project: qtip
- jobs:
- - 'qtip-verify-{stream}'
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-################################
-## job templates
-#################################
-- job-template:
- name: 'qtip-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - qtip-unit-tests-and-docs-build
- publishers:
- - publish-coverage
- - email-jenkins-admins-on-failure
-
-# Upload juypter notebook to artifacts for review
-# TODO(yujunz): deal with *.ipynb deletion
-- job-template:
- name: 'qtip-verify-notebook-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.ipynb'
-
- builders:
- - upload-under-review-notebooks-to-opnfv-artifacts
- - report-build-result-to-gerrit
-
-- job-template:
- name: 'qtip-merged-notebook-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*ipynb'
-
- builders:
- - remove-old-docs-from-opnfv-artifacts
-
-################################
-## job builders
-#################################
-- builder:
- name: qtip-unit-tests-and-docs-build
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
-
- tox
-
-# modified from upload-under-review-docs-to-opnfv-artifacts
-# in global/releng-macro.yml
-- builder:
- name: upload-under-review-notebooks-to-opnfv-artifacts
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-
- echo
- echo "###########################"
- echo "UPLOADING DOCS UNDER REVIEW"
- echo "###########################"
- echo
-
- gs_base="artifacts.opnfv.org/$PROJECT/review"
- gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
- local_path="upload/$GERRIT_CHANGE_NUMBER"
-
- mkdir -p $local_path
-
- git diff HEAD~1 --name-status | grep -E "[AM]\t.+\.ipynb$" | awk '{print $2}' \
- | xargs -I '{}' cp '{}' $local_path
- gsutil -m cp -r "$local_path" "gs://$gs_base/"
-
- echo "Document link(s):" >> gerrit_comment.txt
- find "$local_path" | grep -e 'ipynb$' | \
- sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt
echo "---> Create virtualenv"
sudo -H pip install virtualenv
-virtualenv $WORKSPACE/venv
+virtualenv -p /usr/bin/python3 $WORKSPACE/venv
+
# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
source $WORKSPACE/venv/bin/activate
pip install --upgrade pip
branch: '{stream}'
gs-pathname: ''
disabled: true
- - fraser: &fraser
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: true
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
docker-tag: 'latest'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- baremetal:
slave-label: apex-baremetal-master
installer: apex
- <<: *gambia
+ <<: *hunter
## armband CI PODs
# - armband-baremetal:
# slave-label: armband-baremetal
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - gambia: &gambia
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - gambia: &gambia
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
}
+# This function allows developers to specify the specific XCI flavor for the
+# impacted scenario by adding the XCI Flavor info about the specific scenario.
+# This results in either skipping the real verification
+# totally or skipping the determining the installer and scenario programmatically.
+# It is important to note that this feature is only available to generic scenarios
+# and only single installer/scenario pair is allowed.
+# The input in commit message should be placed at the end of the commit message body,
+# before the signed-off and change-id lines.
+#
+# Pattern to be searched in Commit Message
+# xci-flavor:<xci-flavor>
+# Examples:
+# xci-flavor:noha
+function override_xci_flavor() {
+ echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
+
+ # process commit message for XCI Flavor
+ if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
+ XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
+
+ if [[ -z "$XCI_FLAVOR" ]]; then
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ else
+ echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
+ echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ fi
+ else
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ fi
+
+}
+
echo "Determining the impacted scenario"
declare -a DEPLOY_SCENARIO
determine_default_scenario
else
determine_scenario
+ override_xci_flavor
fi
override_scenario
installer: joid
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - itri-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
- zte-pod1:
slave-label: '{pod}'
installer: fuel
default: '-i 104.197.68.199:8086'
description: 'Arguments to use in order to choose the backend DB'
+- parameter:
+ name: 'yardstick-params-itri-pod1'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-zte-pod1'
parameters:
--- /dev/null
+---
+project: storperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ storperf: cc15a771fa60ddd63ac0a7eee3b43eb9f8cf2334
'lf-pod1' 'lf-pod2' \
'lf-virtual2' 'lf-virtual3' \
'intel-pod12' 'intel-pod18' \
+'itri-pod1' \
'ericsson-pod1' 'ericsson-pod2' \
'ericsson-virtual1' 'ericsson-virtual2' 'ericsson-virtual3' \
'ericsson-virtual4' 'ericsson-virtual5' \