[submodule "jjb/global-jjb"]
- path = jjb/global-jjb
+ path = global-jjb
url = https://github.com/lfit/releng-global-jjb
--- /dev/null
+Subproject commit ddd8f4dd3b86b15eb45da9f5f65b16f890b7f60e
- 'odl-netvirt-verify-virtual-install-netvirt-.*'
- 'functest-netvirt-virtual-suite-.*'
- 'odl-netvirt-verify-virtual-postprocess-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git:
url: https://gerrit.opnfv.org/gerrit/apex
- 'odl-netvirt-verify-virtual-install-netvirt-.*'
- 'functest-netvirt-virtual-suite-.*'
- 'odl-netvirt-verify-virtual-postprocess-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- ssh-agent-wrapper
if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
- if [ "$BRANCH" == 'master' ]; then
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
# build rpm
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
else
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
elif [ "$ARTIFACT_VERSION" == "daily" ]; then
export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
- if [ "$BRANCH" == 'master' ]; then
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
else
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
fi
else
export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
- if [ "$BRANCH" == 'master' ]; then
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
else
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
echo "-------------------------"
ls -al $CACHE_DIRECTORY
-if [[ "$BUILD_ARGS" =~ '--iso' && "$BRANCH" != 'master' ]]; then
+if [[ "$BUILD_ARGS" =~ '--iso' && "$BRANCH" == 'stable/fraser' ]]; then
mkdir -p /tmp/apex-iso/
rm -f /tmp/apex-iso/*.iso
cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/
if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
echo "Writing opnfv.properties file"
- if [ "$BRANCH" != master ]; then
+ if [ "$BRANCH" == 'stable/fraser' ]; then
# save information regarding artifact into file
(
echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
# we want to use that built in mechanism to avoid re-downloading every job
# so we use a dedicated folder to hold the upstream cache
UPSTREAM_CACHE=$HOME/upstream_cache
- if [ "$BRANCH" == 'master' ]; then
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
mkdir -p ${UPSTREAM_CACHE}
RESOURCES=$UPSTREAM_CACHE
else
# set to use different directory here because upon RPM removal this
# directory will be wiped in daily
UPSTREAM_CACHE=$HOME/upstream_cache
- if [ "$BRANCH" == 'master' ]; then
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
mkdir -p ${UPSTREAM_CACHE}
RESOURCES=$UPSTREAM_CACHE
else
fi
if [[ "$PROMOTE" == "True" || "$CSIT_ENV_FLAG" == "True" ]]; then
- if [[ "$DEPLOY_SCENARIO" =~ "queens" ]]; then
- CSIT_ENV="csit-queens-environment.yaml"
+ if [[ "$OS_VERSION" != "master" ]]; then
+ CSIT_ENV="csit-${OS_VERSION}-environment.yaml"
else
CSIT_ENV="csit-environment.yaml"
fi
DEPLOY_CMD="${DEPLOY_CMD} -i ${INVENTORY_FILE}"
fi
-if [[ "$BRANCH" == "master" ]]; then
- echo "Upstream deployment detected"
- DEPLOY_CMD="${DEPLOY_CMD} --upstream"
-fi
-
if [ "$IPV6_FLAG" == "True" ]; then
NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml"
elif [[ "$PROMOTE" == "True" ]]; then
fi
if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
- if [ "$BRANCH" == 'master' ]; then
- echo "Skipping download of artifacts for master branch"
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
+ echo "Skipping download of artifacts for master/gambia branch"
else
# dev build
GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
RPM_LIST=$(basename $OPNFV_RPM_URL)
# find version of RPM
VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
- if [ "$BRANCH" != 'master' ]; then
+ if [ "$BRANCH" == 'stable/fraser' ]; then
# build RPM List which already includes base Apex RPM
RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm"
RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm"
--- /dev/null
+#!/bin/bash
+set -o errexit
+set -o nounset
+set -o pipefail
+
+features=$(echo $DEPLOY_SCENARIO | sed -r -n 's/os-.+-(.+)-(noha|ha)/\1/p')
+if [ "$features" == 'rocky' ]; then
+ functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-rocky-(noha|ha)/\1-nofeature-\2/p')
+ echo "DOCKER_TAG=hunter" > functest_scenario
+elif [[ "$features" =~ 'rocky' ]]; then
+ functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-(.+)_rocky-(noha|ha)/\1-\2-\3/p')
+ echo "DOCKER_TAG=hunter" > functest_scenario
+else
+ functest_scenario=$DEPLOY_SCENARIO
+ echo "DOCKER_TAG=$([[ ${BRANCH##*/} == "master" ]] && \
+ echo "latest" || echo ${BRANCH##*/})" > functest_scenario
+fi
+echo "DEPLOY_SCENARIO=$functest_scenario" >> functest_scenario
echo "--------------------------------------------------------"
echo
-if [ "$BRANCH" == 'master' ]; then
- echo "Skipping Apex iso verify for master branch"
+if [ "$BRANCH" != 'stable/fraser' ]; then
+ echo "Skipping Apex iso verify for ${BRANCH} branch"
exit 0
fi
gs-pathname: ''
concurrent-builds: 3
disabled: false
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ concurrent-builds: 3
+ disabled: false
- fraser: &fraser
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
option: 'project'
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify-iso-{stream}'
--- /dev/null
+---
+- project:
+ name: apex-rtd
+ project: apex
+ project-name: apex
+
+ project-pattern: 'apex'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-apex/47262/'
+ rtd-token: '134db049c774ab06c41db432e3a042a982f50edf'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
if [ "$ARTIFACT_TYPE" == 'snapshot' ]; then
uploadsnap
elif [ "$ARTIFACT_TYPE" == 'iso' ]; then
- if [[ "$ARTIFACT_VERSION" =~ dev || "$BRANCH" == 'master' ]]; then
- echo "Skipping ISO artifact upload for ${ARTIFACT_TYPE} due to dev/master build"
+ if [[ "$ARTIFACT_VERSION" =~ dev || "$BRANCH" != 'stable/fraser' ]]; then
+ echo "Skipping ISO artifact upload for ${ARTIFACT_TYPE} due to dev/${BRANCH} build"
exit 0
fi
if [[ -n "$SIGN_ARTIFACT" && "$SIGN_ARTIFACT" == "true" ]]; then
uploadiso
elif [ "$ARTIFACT_TYPE" == 'rpm' ]; then
if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
- if [ "$BRANCH" == 'master' ]; then
- echo "will not upload artifacts, master uses upstream"
+ if [[ "$BRANCH" != 'stable/fraser' ]]; then
+ echo "will not upload artifacts, ${BRANCH} uses upstream"
ARTIFACT_TYPE=none
else
echo "dev build detected, will upload image tarball"
RPM_LIST=$RPM_INSTALL_PATH/$(basename $OPNFV_RPM_URL)
SRPM_INSTALL_PATH=$BUILD_DIRECTORY
SRPM_LIST=$SRPM_INSTALL_PATH/$(basename $OPNFV_SRPM_URL)
- if [ "$BRANCH" != 'master' ]; then
+ if [[ "$BRANCH" == 'stable/fraser' ]]; then
VERSION_EXTENSION=$(echo $(basename $OPNFV_RPM_URL) | sed 's/opnfv-apex-//')
RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-undercloud-${VERSION_EXTENSION}"
RPM_LIST+=" ${RPM_INSTALL_PATH}/python34-opnfv-apex-${VERSION_EXTENSION}"
gs-pathname: ''
verify-scenario: 'os-nosdn-nofeature-noha'
disabled: false
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ verify-scenario: 'os-nosdn-nofeature-ha'
+ disabled: false
- fraser: &fraser
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
option: 'project'
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-.*-promote.*'
builders:
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-virtual.*'
abort-all-job: true
git-revision: true
- shell: |
- if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
- echo 'REPO=opnfv' > functest_repo
+ features=$(echo $DEPLOY_SCENARIO | sed -r -n 's/os-.+-(.+)-(noha|ha)/\1/p')
+ if [ "$features" == 'rocky' ]; then
+ echo "DOCKER_TAG=hunter" > functest_tag
+ elif [[ "$features" =~ 'rocky' ]]; then
+ echo "DOCKER_TAG=hunter" > functest_tag
else
- echo 'REPO=ollivier' > functest_repo
+ echo "DOCKER_TAG=''" > functest_tag
fi
- inject:
- properties-file: functest_repo
+ properties-file: functest_tag
+ override-build-parameters: true
- multijob:
name: functest-smoke
condition: ALWAYS
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DOCKER_TAG=""
FUNCTEST_SUITE_NAME=tempest_smoke
FUNCTEST_MODE=testcase
- REPO=$REPO
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
scenario_stream: 'master'
disable_daily: false
disable_promote: false
+ - gambia: &gambia
+ branch: 'stable/gambia'
+ gs-pathname: '/gambia'
+ build-slave: 'apex-build-master'
+ virtual-slave: 'apex-virtual-master'
+ baremetal-slave: 'apex-baremetal-master'
+ verify-scenario: 'os-nosdn-nofeature-ha'
+ scenario_stream: 'gambia'
+ disable_daily: false
+ disable_promote: false
- fraser: &fraser
branch: 'stable/fraser'
gs-pathname: '/fraser'
<<: *fraser
- 'os-odl-bgpvpn-ha':
<<: *fraser
+ - 'os-nosdn-nofeature-noha':
+ <<: *gambia
+ - 'os-nosdn-nofeature-ha':
+ <<: *gambia
+ - 'os-nosdn-nofeature-ha-ipv6':
+ <<: *gambia
+ - 'os-odl-nofeature-noha':
+ <<: *gambia
+ - 'os-odl-nofeature-ha':
+ <<: *gambia
+ - 'k8s-nosdn-nofeature-noha':
+ <<: *gambia
+ - 'os-odl-bgpvpn-ha':
+ <<: *gambia
+ - 'os-odl-bgpvpn-noha':
+ <<: *gambia
+ - 'os-odl-sfc-ha':
+ <<: *gambia
+ - 'os-odl-sfc-noha':
+ <<: *gambia
+ - 'os-nosdn-calipso-noha':
+ <<: *gambia
+ - 'os-ovn-nofeature-ha':
+ <<: *gambia
- 'os-nosdn-nofeature-noha':
<<: *danube
- 'os-nosdn-nofeature-ha':
<<: *master
- 'os-odl-nofeature-ha':
<<: *master
- - 'os-nosdn-queens-noha':
+ - 'os-nosdn-rocky-noha':
<<: *master
- - 'os-nosdn-queens-ha':
+ - 'os-nosdn-rocky-ha':
<<: *master
- - 'os-nosdn-queens-ha-ipv6':
+ - 'os-nosdn-rocky-ha-ipv6':
<<: *master
- - 'os-odl-queens-noha':
+ - 'os-odl-rocky-noha':
<<: *master
- - 'os-odl-queens-ha':
+ - 'os-odl-rocky-ha':
<<: *master
- 'k8s-nosdn-nofeature-noha':
<<: *master
<<: *master
- 'os-odl-sfc-noha':
<<: *master
- - 'os-odl-sfc_queens-ha':
+ - 'os-odl-sfc_rocky-ha':
<<: *master
- - 'os-odl-sfc_queens-noha':
+ - 'os-odl-sfc_rocky-noha':
<<: *master
- 'os-nosdn-calipso-noha':
<<: *master
- - 'os-nosdn-calipso_queens-noha':
+ - 'os-nosdn-calipso_rocky-noha':
+ <<: *master
+ - 'os-ovn-nofeature-ha':
+ <<: *master
+ - 'os-ovn-rocky-ha':
<<: *master
- 'os-nosdn-nofeature-noha':
<<: *euphrates
- 'virtual'
os_version:
- - 'pike':
- os_scenario: 'pike'
- odl_branch: 'stable/carbon'
- 'queens':
- os_scenario: 'queens'
+ os_scenario: 'nofeature'
+ odl_branch: 'stable/oxygen'
+ - 'rocky':
+ os_scenario: 'rocky'
odl_branch: 'stable/oxygen'
- 'master':
os_scenario: 'nofeature'
- odl_branch: 'stable/oxygen'
+ odl_branch: 'stable/fluorine'
topology:
- 'noha'
- logrotate-default
- build-blocker:
use-build-blocker: false
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-deploy.*'
- throttle:
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-deploy.*'
- 'functest.*'
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-runner.*'
- 'apex-run.*'
- 'apex-virtual-.*'
- 'apex-verify-gate-.*'
- 'odl-netvirt.*'
+ - 'apex-.*-promote.*'
- throttle:
max-per-node: 1
max-total: 10
kill-phase-on: FAILURE
abort-all-job: true
git-revision: true
- - shell: |
- if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
- echo 'REPO=opnfv' > functest_repo
- else
- echo 'REPO=ollivier' > functest_repo
- fi
- - inject:
- properties-file: functest_repo
- multijob:
name: functest-smoke
condition: ALWAYS
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
FUNCTEST_MODE=$FUNCTEST_MODE
FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- REPO=$REPO
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - shell: |
- if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
- echo 'REPO=opnfv' > functest_properties
- else
- echo 'REPO=ollivier' > functest_properties
- fi
- features=$(echo $DEPLOY_SCENARIO | sed -r -n 's/os-.+-(.+)-(noha|ha)/\1/p')
- if [ "$features" == 'queens' ]; then
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-queens-(noha|ha)/\1-nofeature-\2/p')
- elif [[ "$features" =~ 'queens' ]]; then
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-(.+)_queens-(noha|ha)/\1-\2-\3/p')
- else
- functest_scenario=$DEPLOY_SCENARIO
- fi
- echo "DEPLOY_SCENARIO=$functest_scenario" >> functest_properties
+ - shell:
+ !include-raw-escape: ./apex-functest-scenario.sh
- inject:
- properties-file: functest_properties
+ properties-file: functest_scenario
override-build-parameters: true
- multijob:
name: 'OPNFV Test Suite'
- name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
node-parameters: true
current-parameters: false
- predefined-parameters:
+ predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DOCKER_TAG=$DOCKER_TAG
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
name: DEPLOY_SCENARIO
default: '{scenario}'
description: "Scenario to deploy with."
+ - string:
+ name: DOCKER_TAG
+ default: ''
+ description: Default docker tag to pass to functest
properties:
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
- name: 'functest-apex-baremetal-daily-{scenario_stream}'
node-parameters: true
current-parameters: false
- predefined-parameters:
+ predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DOCKER_TAG=$DOCKER_TAG
kill-phase-on: NEVER
abort-all-job: false
git-revision: false
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-daily.*'
description: "Used for overriding the PROMOTE"
- string:
name: GS_URL
- default: $GS_BASE{gs-pathname}/{os_version}/{topology}
+ default: 'artifacts.opnfv.org/apex/{os_version}/{topology}'
description: "User for overriding GS_URL from apex params"
- string:
name: OS_VERSION
name: ODL_BRANCH
default: '{odl_branch}'
description: ODL branch being used
-
+ - string:
+ name: FORCE_PROMOTE
+ default: 'False'
+ description: "Used to force promotion and skip CSIT"
properties:
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
option: 'project'
triggers:
- - timed: '0 12 * * 0'
+ - '{stream}-{os_version}'
builders:
- multijob:
SSH_KEY_PATH=/tmp/csit/id_rsa
ODL_CONTAINERIZED=true
OS_VERSION=$OS_VERSION
+ SKIP_CSIT=$FORCE_PROMOTE
node-parameters: true
kill-phase-on: NEVER
abort-all-job: false
properties:
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-deploy.*'
project-type: 'multijob'
- disabled: false
+ disabled: true
node: 'flex-pod2'
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
abort-all-job: true
git-revision: false
+# gambia Builder
+- builder:
+ name: apex-builder-gambia
+ builders:
+ - multijob:
+ name: Baremetal Deploy and Test Phase
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-os-nosdn-nofeature-noha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-noha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-ha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-k8s-nosdn-nofeature-noha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-bgpvpn-ha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-bgpvpn-noha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-sfc-ha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-sfc-noha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-calipso-noha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-ovn-nofeature-ha-baremetal-gambia'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+
# danube Builder
- builder:
name: apex-builder-danube
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-nosdn-queens-noha-baremetal-master'
+ - name: 'apex-os-nosdn-rocky-noha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-nosdn-queens-ha-baremetal-master'
+ - name: 'apex-os-nosdn-rocky-ha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-nosdn-queens-ha-ipv6-baremetal-master'
+ - name: 'apex-os-nosdn-rocky-ha-ipv6-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-odl-queens-noha-baremetal-master'
+ - name: 'apex-os-odl-rocky-noha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-odl-queens-ha-baremetal-master'
+ - name: 'apex-os-odl-rocky-ha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-odl-sfc_queens-ha-baremetal-master'
+ - name: 'apex-os-odl-sfc_rocky-ha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-odl-sfc_queens-noha-baremetal-master'
+ - name: 'apex-os-odl-sfc_rocky-noha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-nosdn-calipso_queens-noha-baremetal-master'
+ - name: 'apex-os-nosdn-calipso_rocky-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-ovn-nofeature-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-ovn-rocky-ha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
#######################
# trigger macros
+# timed is in format: 'min hour daymonth month dayweek'
########################
- trigger:
name: 'apex-master'
triggers:
- timed: '0 0 1-31/2 * *'
+- trigger:
+ name: 'apex-gambia'
+ triggers:
+ - timed: '0 4 2-30/2 * *'
+
- trigger:
name: 'apex-fraser'
triggers:
name: 'apex-danube'
triggers:
- timed: '0 3 1 1 7'
+
+- trigger:
+ name: 'master-master'
+ triggers:
+ - timed: '0 5 * * *'
+
+- trigger:
+ name: 'master-rocky'
+ triggers:
+ - timed: '0 5 * * *'
+
+- trigger:
+ name: 'master-queens'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'gambia-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'gambia-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'gambia-queens'
+ triggers:
+ - timed: '0 5 * * *'
+
+- trigger:
+ name: 'fraser-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'fraser-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'fraser-queens'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'euphrates-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'euphrates-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'euphrates-queens'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'danube-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'danube-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'danube-queens'
+ triggers:
+ - timed: ''
scenario_stream: 'master'
disable_daily: false
disable_promote: false
+ - gambia: &gambia
+ branch: 'stable/gambia'
+ gs-pathname: '/gambia'
+ build-slave: 'apex-build-master'
+ virtual-slave: 'apex-virtual-master'
+ baremetal-slave: 'apex-baremetal-master'
+ verify-scenario: 'os-nosdn-nofeature-ha'
+ scenario_stream: 'gambia'
+ disable_daily: false
+ disable_promote: false
- fraser: &fraser
branch: 'stable/fraser'
gs-pathname: '/fraser'
- 'virtual'
os_version:
- - 'pike':
- os_scenario: 'pike'
- odl_branch: 'stable/carbon'
- 'queens':
- os_scenario: 'queens'
+ os_scenario: 'nofeature'
+ odl_branch: 'stable/oxygen'
+ - 'rocky':
+ os_scenario: 'rocky'
odl_branch: 'stable/oxygen'
- 'master':
os_scenario: 'nofeature'
- odl_branch: 'stable/oxygen'
+ odl_branch: 'stable/fluorine'
topology:
- 'noha'
- logrotate-default
- build-blocker:
use-build-blocker: false
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-deploy.*'
- throttle:
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-deploy.*'
- 'functest.*'
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-runner.*'
- 'apex-run.*'
- 'apex-virtual-.*'
- 'apex-verify-gate-.*'
- 'odl-netvirt.*'
+ - 'apex-.*-promote.*'
- throttle:
max-per-node: 1
max-total: 10
kill-phase-on: FAILURE
abort-all-job: true
git-revision: true
- - shell: |
- if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
- echo 'REPO=opnfv' > functest_repo
- else
- echo 'REPO=ollivier' > functest_repo
- fi
- - inject:
- properties-file: functest_repo
- multijob:
name: functest-smoke
condition: ALWAYS
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
FUNCTEST_MODE=$FUNCTEST_MODE
FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- REPO=$REPO
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - shell: |
- if echo $DEPLOY_SCENARIO | grep queens &> /dev/null; then
- echo 'REPO=opnfv' > functest_properties
- else
- echo 'REPO=ollivier' > functest_properties
- fi
- features=$(echo $DEPLOY_SCENARIO | sed -r -n 's/os-.+-(.+)-(noha|ha)/\1/p')
- if [ "$features" == 'queens' ]; then
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-queens-(noha|ha)/\1-nofeature-\2/p')
- elif [[ "$features" =~ 'queens' ]]; then
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-(.+)_queens-(noha|ha)/\1-\2-\3/p')
- else
- functest_scenario=$DEPLOY_SCENARIO
- fi
- echo "DEPLOY_SCENARIO=$functest_scenario" >> functest_properties
+ - shell:
+ !include-raw-escape: ./apex-functest-scenario.sh
- inject:
- properties-file: functest_properties
+ properties-file: functest_scenario
override-build-parameters: true
- multijob:
name: 'OPNFV Test Suite'
- name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
node-parameters: true
current-parameters: false
- predefined-parameters:
+ predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DOCKER_TAG=$DOCKER_TAG
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
name: DEPLOY_SCENARIO
default: '{scenario}'
description: "Scenario to deploy with."
+ - string:
+ name: DOCKER_TAG
+ default: ''
+ description: Default docker tag to pass to functest
properties:
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
- name: 'functest-apex-baremetal-daily-{scenario_stream}'
node-parameters: true
current-parameters: false
- predefined-parameters:
+ predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DOCKER_TAG=$DOCKER_TAG
kill-phase-on: NEVER
abort-all-job: false
git-revision: false
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-daily.*'
description: "Used for overriding the PROMOTE"
- string:
name: GS_URL
- default: $GS_BASE{gs-pathname}/{os_version}/{topology}
+ default: 'artifacts.opnfv.org/apex/{os_version}/{topology}'
description: "User for overriding GS_URL from apex params"
- string:
name: OS_VERSION
name: ODL_BRANCH
default: '{odl_branch}'
description: ODL branch being used
-
+ - string:
+ name: FORCE_PROMOTE
+ default: 'False'
+ description: "Used to force promotion and skip CSIT"
properties:
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
option: 'project'
triggers:
- - timed: '0 12 * * 0'
+ - '{stream}-{os_version}'
builders:
- multijob:
SSH_KEY_PATH=/tmp/csit/id_rsa
ODL_CONTAINERIZED=true
OS_VERSION=$OS_VERSION
+ SKIP_CSIT=$FORCE_PROMOTE
node-parameters: true
kill-phase-on: NEVER
abort-all-job: false
properties:
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-deploy.*'
project-type: 'multijob'
- disabled: false
+ disabled: true
node: 'flex-pod2'
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
- logrotate-default
- build-blocker:
use-build-blocker: true
- block-level: 'NODE'
+ blocking-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
#######################
# trigger macros
+# timed is in format: 'min hour daymonth month dayweek'
########################
- trigger:
name: 'apex-master'
triggers:
- timed: '0 0 1-31/2 * *'
+- trigger:
+ name: 'apex-gambia'
+ triggers:
+ - timed: '0 4 2-30/2 * *'
+
- trigger:
name: 'apex-fraser'
triggers:
name: 'apex-danube'
triggers:
- timed: '0 3 1 1 7'
+
+- trigger:
+ name: 'master-master'
+ triggers:
+ - timed: '0 5 * * *'
+
+- trigger:
+ name: 'master-rocky'
+ triggers:
+ - timed: '0 5 * * *'
+
+- trigger:
+ name: 'master-queens'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'gambia-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'gambia-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'gambia-queens'
+ triggers:
+ - timed: '0 5 * * *'
+
+- trigger:
+ name: 'fraser-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'fraser-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'fraser-queens'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'euphrates-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'euphrates-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'euphrates-queens'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'danube-master'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'danube-rocky'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'danube-queens'
+ triggers:
+ - timed: ''
- 'os-nosdn-nofeature-ha-ipv6'
- 'os-odl-nofeature-noha'
- 'os-odl-nofeature-ha'
- - 'os-nosdn-queens-noha'
- - 'os-nosdn-queens-ha'
- - 'os-nosdn-queens-ha-ipv6'
- - 'os-odl-queens-noha'
- - 'os-odl-queens-ha'
+ - 'os-nosdn-rocky-noha'
+ - 'os-nosdn-rocky-ha'
+ - 'os-nosdn-rocky-ha-ipv6'
+ - 'os-odl-rocky-noha'
+ - 'os-odl-rocky-ha'
- 'k8s-nosdn-nofeature-noha'
- 'os-odl-bgpvpn-ha'
- 'os-odl-bgpvpn-noha'
- 'os-odl-bgpvpn_queens-noha'
- 'os-odl-sfc-ha'
- 'os-odl-sfc-noha'
- - 'os-odl-sfc_queens-ha'
- - 'os-odl-sfc_queens-noha'
+ - 'os-odl-sfc_rocky-ha'
+ - 'os-odl-sfc_rocky-noha'
- 'os-nosdn-calipso-noha'
- - 'os-nosdn-calipso_queens-noha'
+ - 'os-nosdn-calipso_rocky-noha'
+ - 'os-ovn-nofeature-ha'
+ - 'os-ovn-rocky-ha'
+gambia:
+ - 'os-nosdn-nofeature-noha'
+ - 'os-nosdn-nofeature-ha'
+ - 'os-nosdn-nofeature-ha-ipv6'
+ - 'os-odl-nofeature-noha'
+ - 'os-odl-nofeature-ha'
+ - 'k8s-nosdn-nofeature-noha'
+ - 'os-odl-bgpvpn-ha'
+ - 'os-odl-bgpvpn-noha'
+ - 'os-odl-sfc-ha'
+ - 'os-odl-sfc-noha'
+ - 'os-nosdn-calipso-noha'
+ - 'os-ovn-nofeature-ha'
fraser:
- 'os-nosdn-nofeature-ha'
- 'os-odl-bgpvpn-ha'
fraser: &fraser
stream: fraser
branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
+ gambia: &gambia
+ stream: gambia
+ branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
# -------------------------------
# -------------------------------
# CI POD's
# -------------------------------
- # fraser
- # -------------------------------
+ # yamllint disable rule:key-duplicates
pod:
- # yamllint disable rule:key-duplicates
+ # -------------------------------
+ # fraser
+ # -------------------------------
- armband-baremetal:
<<: *baremetal
<<: *fraser
+ # -------------------------------
+ # gambia
+ # -------------------------------
+ - armband-baremetal:
+ <<: *baremetal
+ <<: *gambia
- armband-virtual:
<<: *virtual
- <<: *fraser
+ <<: *gambia
# -------------------------------
# master
# -------------------------------
auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
exclude:
+ # Dovetail (and only it) should run against Fraser HA baremetal scenarios
+ - scenario: os-nosdn-nofeature-noha
+ stream: fraser
+ - scenario: os-ovn-nofeature-ha
+ stream: fraser
- scenario: os-nosdn-vpp-ha
stream: fraser
blocking-jobs:
- '{installer}-os-.*?-{pod}-daily-.*'
- 'armband-verify-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
DEPLOY_SCENARIO={scenario}
same-node: true
block: true
- - trigger-builds:
- - project: 'functest-{installer}-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-{installer}-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: not
+ condition-operand:
+ condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
+ steps:
+ - trigger-builds:
+ - project: 'functest-{installer}-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: not
+ condition-operand:
+ condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
+ steps:
+ - trigger-builds:
+ - project: 'yardstick-{installer}-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
# 1.here the stream means the SUT stream, dovetail stream is defined in its own job
# 2.testsuite proposed_tests here is for new test cases planning to add into OVP
# 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario
- condition-kind: regex-match
regex: '.*-ha'
label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- SAT: true
- use-build-time: true
+ - condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
steps:
- trigger-builds:
- project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}'
- condition-kind: regex-match
regex: '.*-ha'
label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- SUN: true
- use-build-time: true
+ - condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
steps:
- trigger-builds:
- project: 'dovetail-{installer}-{pod}-default-{stream}'
blocking-jobs:
- '{installer}-deploy-{pod}-daily-{stream}'
- '{installer}-deploy-generic-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '10 1 * * 2,4,6,7'
+ - timed: '0 1 * * 2,7'
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
triggers:
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 1 * * 2,4,6,7'
+ - timed: '0 1 * * 4,6'
- trigger:
name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '10 1 * * 1,3,5'
+ - timed: '0 1 * * 1'
- trigger:
name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 1 * * 1,3,5'
+ - timed: '0 1 * * 3,5'
- trigger:
name: 'fuel-os-nosdn-vpp-ha-armband-baremetal-master-trigger'
triggers:
- timed: ''
# ---------------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against fraser branch
+# Enea Armband CI Baremetal Triggers running against gambia branch
# ---------------------------------------------------------------------
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-gambia-trigger'
triggers:
- - timed: ''
+ - timed: '10 1 * * 1,3'
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger'
+ name: 'fuel-os-odl-nofeature-ha-armband-baremetal-gambia-trigger'
triggers:
- - timed: ''
+ - timed: '10 1 * * 5,7'
+- trigger:
+ name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-gambia-trigger'
+ triggers:
+ - timed: '10 1 * * 2'
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-fraser-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-gambia-trigger'
+ triggers:
+ - timed: '10 1 * * 4,6'
+- trigger:
+ name: 'fuel-os-nosdn-vpp-ha-armband-baremetal-gambia-trigger'
triggers:
- timed: ''
+# -------------------------------------------------------------------
+# Enea Armband CI Baremetal Triggers running against fraser branch (for Dovetail)
+# -------------------------------------------------------------------
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger'
+ triggers:
+ - timed: '5 13 * * 6,7'
+- trigger:
+ name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger'
+ triggers:
+ - timed: '0 13 * * 6'
- trigger:
name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger'
triggers:
- - timed: ''
+ - timed: '0 13 * * 7'
# --------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against master branch
# --------------------------------------------------------------
triggers:
- timed: ''
# -------------------------------------------------------------------
-# Enea Armband CI Virtual Triggers running against fraser branch
+# Enea Armband CI Virtual Triggers running against gambia branch
# -------------------------------------------------------------------
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-gambia-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-fraser-trigger'
+ name: 'fuel-os-odl-nofeature-ha-armband-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-virtual-fraser-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-armband-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-virtual-fraser-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-armband-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-virtual-fraser-trigger'
+ name: 'fuel-os-nosdn-vpp-ha-armband-virtual-gambia-trigger'
triggers:
- timed: ''
--- /dev/null
+---
+- project:
+ name: armband-rtd
+ project: armband
+ project-name: armband
+
+ project-pattern: 'armband'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-armband/47349/'
+ rtd-token: 'b8f7de9a1f2baf063ccc6afb52dbc8e6308b6ab5'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser:
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /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'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
use-build-blocker: true
blocking-jobs:
- '{installer}-os-.*?-{pod}-auto-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
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: ''
--- /dev/null
+---
+- project:
+ name: availability-rtd
+ project: availability
+ project-name: availability
+
+ gerrit-skip-vote: true
+ project-pattern: 'availability'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-availability/47351/'
+ rtd-token: '3ae514b14073e1eacb697d3eddee62a26c8c891c'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: barometer-rtd
+ project: barometer
+ project-name: barometer
+
+ project-pattern: 'barometer'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-barometer/47353/'
+ rtd-token: 'aef70b8a0148b295e25dd92474110bcd622bacb0'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia: &gambia
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
gs-packagepath: '/{suite}'
# docker tag used for version control
docker-tag: 'latest'
- fraser: &fraser
- stream: fraser
+ gambia: &gambia
+ stream: gambia
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
gs-packagepath: '/{stream}/{suite}'
slave-label: compass-baremetal-branch
installer: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
- virtual:
slave-label: compass-virtual-branch
installer: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
# -------------------------------
# None-CI PODs
# This is used for different test suite dependent packages storage
gs-packagepath: '/{suite}'
disabled: false
- - fraser: &fraser
+ - gambia:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ gs-packagepath: '/{stream}/{suite}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
gs-packagepath: '/{stream}/{suite}'
branch-pattern: '**/{branch}'
builders:
- # - bottlenecks-hello
- bottlenecks-unit-tests
- job-template:
builders:
- bottlenecks-hello
- # - bottlenecks-unit-tests
- job-template:
name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
--- /dev/null
+---
+- project:
+ name: bottlenecks-rtd
+ project: bottlenecks
+ project-name: bottlenecks
+
+ gerrit-skip-vote: true
+ project-pattern: 'bottlenecks'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-bottlenecks/47355/'
+ rtd-token: '95dd0dbdde4a219b5196ffb86e15401b7b927885'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: calipso-rtd
+ project: calipso
+ project-name: calipso
+
+ gerrit-skip-vote: true
+ project-pattern: 'calipso'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-calipso/47356/'
+ rtd-token: '9b88e25a769998fc316b25efe15eca2b7c1474f4'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
name: SLAVE_LABEL
default: 'opnfv-build'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- project-parameter:
project: $GERRIT_PROJECT
branch: '{branch}'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
blocking-jobs:
- 'clover-daily-deploy-.*?'
- 'container4nfv-daily-deploy-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- timeout:
--- /dev/null
+---
+- project:
+ name: clover-rtd
+ project: clover
+ project-name: clover
+
+ gerrit-skip-vote: true
+ project-pattern: 'clover'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-clover/47357/'
+ rtd-token: '8b47c0a3c1cfe7de885bf217628b58dd91f14f2e'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
gs-pathname: ''
ppa-pathname: '/{stream}'
disabled: false
- openstack-version: pike
- fraser: &fraser
- stream: fraser
+ openstack-version: queens
+ gambia: &gambia
+ stream: gambia
branch: 'stable/{stream}'
disabled: false
gs-pathname: '/{stream}'
ppa-pathname: '/{stream}'
- openstack-version: pike
+ openstack-version: queens
danube: &danube
stream: danube
branch: 'stable/{stream}'
- baremetal:
slave-label: compass-baremetal-branch
os-version: 'xenial'
- <<: *fraser
+ <<: *gambia
- virtual:
slave-label: compass-virtual-branch
os-version: 'xenial'
- <<: *fraser
+ <<: *gambia
# -------------------------------
# master
# -------------------------------
- 'compass-os-.*?-baremetal-daily-.*?'
- 'compass-k8-.*?-baremetal-daily-.*?'
- 'compass-verify-[^-]*-[^-]*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- fix-workspace-permissions
blocking-jobs:
- 'compass-deploy-{pod}-daily-.*?'
- 'compass-verify-deploy-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
!include-raw-escape: ./compass-deploy.sh
- conditional-step:
condition-kind: regex-match
- regex: (danube|fraser)
+ regex: (danube|gambia)
label: '{stream}'
steps:
- shell:
- timed: ''
# -------------------
-# ha-baremetal-fraser
+# ha-baremetal-gambia
# -------------------
- trigger:
- name: 'compass-os-nosdn-nofeature-ha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 1 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-openo-ha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-openo-ha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-baremetal-fraser-trigger'
+ name: 'compass-os-odl_l3-nofeature-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 21 2-30/2 * *'
- trigger:
- name: 'compass-os-onos-nofeature-ha-baremetal-fraser-trigger'
+ name: 'compass-os-onos-nofeature-ha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-ocl-nofeature-ha-baremetal-fraser-trigger'
+ name: 'compass-os-ocl-nofeature-ha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-onos-sfc-ha-baremetal-fraser-trigger'
+ name: 'compass-os-onos-sfc-ha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-ha-baremetal-fraser-trigger'
+ name: 'compass-os-odl_l2-moon-ha-baremetal-gambia-trigger'
triggers:
- timed: '' # '0 5 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-kvm-ha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-kvm-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 13 2-30/2 * *'
- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 9 1-29/2 * *'
- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-baremetal-fraser-trigger'
+ name: 'compass-k8-nosdn-nofeature-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 5 1-29/2 * *'
- trigger:
- name: 'compass-os-odl-sfc-ha-baremetal-fraser-trigger'
+ name: 'compass-os-odl-sfc-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 17 2-30/2 * *'
- trigger:
- name: 'compass-os-nosdn-bar-ha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-bar-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 21 1-29/2 * *'
- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-fraser-trigger'
+ name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-gambia-trigger'
triggers:
- timed: '0 7 2-30/2 * *'
- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-stor4nfv-ha-baremetal-gambia-trigger'
triggers:
- timed: ''
# ---------------------
-# noha-baremetal-fraser
+# noha-baremetal-gambia
# ---------------------
- trigger:
- name: 'compass-os-nosdn-kvm-noha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-kvm-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-nosdn-nofeature-noha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-nofeature-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-baremetal-fraser-trigger'
+ name: 'compass-os-odl_l3-nofeature-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-noha-baremetal-fraser-trigger'
+ name: 'compass-os-odl_l2-moon-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl-sfc-noha-baremetal-fraser-trigger'
+ name: 'compass-os-odl-sfc-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-nosdn-bar-noha-baremetal-fraser-trigger'
+ name: 'compass-os-nosdn-bar-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-fraser-trigger'
+ name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-gambia-trigger'
triggers:
- timed: ''
- timed: '0 10 2-30/2 * *'
# -----------------
-# ha-virtual-fraser
+# ha-virtual-gambia
# -----------------
- trigger:
- name: 'compass-os-nosdn-nofeature-ha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-virtual-gambia-trigger'
triggers:
- timed: '0 23 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-openo-ha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-openo-ha-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-virtual-fraser-trigger'
+ name: 'compass-os-odl_l3-nofeature-ha-virtual-gambia-trigger'
triggers:
- timed: '0 22 2-30/2 * *'
- trigger:
- name: 'compass-os-onos-nofeature-ha-virtual-fraser-trigger'
+ name: 'compass-os-onos-nofeature-ha-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-ocl-nofeature-ha-virtual-fraser-trigger'
+ name: 'compass-os-ocl-nofeature-ha-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-onos-sfc-ha-virtual-fraser-trigger'
+ name: 'compass-os-onos-sfc-ha-virtual-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-ha-virtual-fraser-trigger'
+ name: 'compass-os-odl_l2-moon-ha-virtual-gambia-trigger'
triggers:
- timed: '0 20 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-kvm-ha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-kvm-ha-virtual-gambia-trigger'
triggers:
- timed: '0 16 2-30/2 * *'
- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-gambia-trigger'
triggers:
- timed: '0 14 1-29/2 * *'
- trigger:
- name: 'compass-os-odl-sfc-ha-virtual-fraser-trigger'
+ name: 'compass-os-odl-sfc-ha-virtual-gambia-trigger'
triggers:
- timed: '0 18 2-30/2 * *'
- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-virtual-fraser-trigger'
+ name: 'compass-k8-nosdn-nofeature-ha-virtual-gambia-trigger'
triggers:
- timed: '5 1 2-30/2 * *'
- trigger:
- name: 'compass-os-nosdn-bar-ha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-bar-ha-virtual-gambia-trigger'
triggers:
- timed: '0 19 1-29/2 * *'
- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-virtual-fraser-trigger'
+ name: 'compass-k8-nosdn-stor4nfv-ha-virtual-gambia-trigger'
triggers:
- timed: '0 15 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-stor4nfv-ha-virtual-gambia-trigger'
triggers:
- timed: ''
# -------------------
-# noha-virtual-fraser
+# noha-virtual-gambia
# -------------------
- trigger:
- name: 'compass-os-nosdn-kvm-noha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-kvm-noha-virtual-gambia-trigger'
triggers:
- timed: '0 15 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-nofeature-noha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-nofeature-noha-virtual-gambia-trigger'
triggers:
- timed: '0 17 2-30/2 * *'
- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-virtual-fraser-trigger'
+ name: 'compass-os-odl_l3-nofeature-noha-virtual-gambia-trigger'
triggers:
- timed: '0 23 1-29/2 * *'
- trigger:
- name: 'compass-os-odl_l2-moon-noha-virtual-fraser-trigger'
+ name: 'compass-os-odl_l2-moon-noha-virtual-gambia-trigger'
triggers:
- timed: '0 21 2-30/2 * *'
- trigger:
- name: 'compass-os-odl-sfc-noha-virtual-fraser-trigger'
+ name: 'compass-os-odl-sfc-noha-virtual-gambia-trigger'
triggers:
- timed: '0 19 1-29/2 * *'
- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-gambia-trigger'
triggers:
- timed: '0 12 2-30/2 * *'
- trigger:
- name: 'compass-os-nosdn-bar-noha-virtual-fraser-trigger'
+ name: 'compass-os-nosdn-bar-noha-virtual-gambia-trigger'
triggers:
- timed: '0 12 1-29/2 * *'
- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-virtual-fraser-trigger'
+ name: 'compass-k8-nosdn-stor4nfv-noha-virtual-gambia-trigger'
triggers:
- timed: '0 13 2-30/2 * *'
blocking-jobs:
- 'compass-os-.*?-{pod}-daily-.*?'
- 'compass-os-.*?-{pod}-weekly-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
- 'compass-deploy-{pod}-daily-.*?'
- 'compass-deploy-{pod}-weekly-.*'
- 'compass-verify-deploy-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
gs-pathname: '/{stream}'
ppa-pathname: '/{stream}'
disabled: false
- - fraser:
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
ppa-pathname: '/{stream}'
gs-pathname: ''
ppa-pathname: '/{stream}'
disabled: false
- openstack-version: 'pike'
+ openstack-version: 'queens'
branch-type: 'master'
- - fraser:
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
ppa-pathname: '/{stream}'
disabled: false
- openstack-version: 'pike'
+ openstack-version: 'queens'
branch-type: 'master'
distro:
- 'compass-verify-[^-]*-[^-]*'
- 'compass-os-.*?-virtual-daily-.*?'
- 'compass-k8-.*?-virtual-daily-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- ssh-agent-wrapper
blocking-jobs:
- 'compass-verify-[^-]*-[^-]*'
- 'compass-os-.*?-virtual-daily-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- ssh-agent-wrapper
- 'compass-os-.*?-virtual-daily-.*?'
- 'compass-verify-deploy-.*'
- 'functest-compass-virtual.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- ssh-agent-wrapper
--- /dev/null
+---
+- project:
+ name: compass4nfv-rtd
+ project: compass4nfv
+ project-name: compass4nfv
+
+ gerrit-skip-vote: true
+ project-pattern: 'compass4nfv'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-compass4nfv/47358/'
+ rtd-token: '4208e8492be2e4eab7f18f1e70b5d78247d1b249'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
wrappers:
- timeout:
- timeout: 210
+ timeout: 300
fail: true
scm:
unstable-threshold: 'Failure'
- project: functest-compass-arm-virtual-daily-master
current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO='k8-nosdn-nofeature-ha'
same-node: true
block: true
block-thresholds:
blocking-jobs:
- 'clover-daily-deploy-.*?'
- 'container4nfv-daily-deploy-.*?'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- timeout:
--- /dev/null
+---
+- project:
+ name: container4nfv-rtd
+ project: container4nfv
+ project-name: container4nfv
+
+ gerrit-skip-vote: true
+ project-pattern: 'container4nfv'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-container4nfv/47359/'
+ rtd-token: '82f917a788d006dc15df14ecd3c991115490bf8a'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: copper-rtd
+ project: copper
+ project-name: copper
+
+ gerrit-skip-vote: true
+ project-pattern: 'copper'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-copper/47360/'
+ rtd-token: '1b423ddc3af602f8078c1ece0d689e0b4d3c3f79'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect}
fi
- # Remove existing images if exist
- if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then
- echo "Docker images to remove:"
- docker images | head -1 && docker images | grep opnfv/cperf >${redirect}
- image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image opnfv/cperf:$tag..."
- docker rmi opnfv/cperf:$tag >/dev/null
- done
- fi
-
- builder:
name: cperf-upload-logs-csit
builders:
set -o nounset
set -o pipefail
+if [[ ! -z ${SKIP_CSIT+x} && "$SKIP_CSIT" == "True" ]]; then
+ echo "Skipping csit run"
+ exit 0
+fi
+
if [ "$OS_VERSION" == 'master' ]; then
FULL_OS_VER='master'
else
# Live migration will not work unless we use a shared storage backend like
# Ceph which we do not currently use with CSIT images
#
-
-suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
- ${SUITE_HOME}/openstack/connectivity/l3.robot \
- ${SUITE_HOME}/openstack/connectivity/external_network.robot \
- ${SUITE_HOME}/openstack/connectivity/security_group.robot \
- ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \
- ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \
- ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \
- ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot \
- ${SUITE_HOME}/netvirt/elan/elan.robot \
- ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \
- ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \
- ${SUITE_HOME}/integration/Create_JVM_Plots.robot"
+# ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot
+# This suite fails with an error indicating the connection was closed
+# to the overcloud control node:
+# https://build.opnfv.org/ci/job/cperf-apex-csit-master/104/consoleFull
+#
+# Minimize HA CSIT as it does not pass all suites
+if [ "$NUM_CONTROL_NODES" -eq 3 ]; then
+ suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
+ ${SUITE_HOME}/openstack/connectivity/l3.robot"
+else
+ suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
+ ${SUITE_HOME}/openstack/connectivity/l3.robot \
+ ${SUITE_HOME}/openstack/connectivity/external_network.robot \
+ ${SUITE_HOME}/openstack/connectivity/security_group.robot \
+ ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \
+ ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \
+ ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \
+ ${SUITE_HOME}/netvirt/elan/elan.robot \
+ ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \
+ ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \
+ ${SUITE_HOME}/integration/Create_JVM_Plots.robot"
+fi
echo "Robot command set: ${robot_cmd}"
echo "Running robot..."
- 'daisy-os-.*?-{pod}-daily-.*?'
- 'daisy-daily-.*'
- 'daisy-kolla-build-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
- '{installer}-(build|deploy|test)-daily-(fraser|master)'
- '{installer}-deploy-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
- '{installer}-kolla-build-.*'
- 'daisy-deploy-.*'
- 'daisy-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm
- '{installer}-kolla-build-.*'
- 'daisy4nfv-merge-build-.*'
- 'daisy4nfv-verify-build-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm
- '{installer}-daily-(build|deploy|test)-(fraser|master)'
- '{installer}-.*-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm
--- /dev/null
+---
+- project:
+ name: daisy-rtd
+ project: daisy
+ project-name: daisy
+
+ gerrit-skip-vote: true
+ project-pattern: 'daisy'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-daisy/47361/'
+ rtd-token: '265efe14ff0bb3fa0d4ea66d6be1b7b511d5d713'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
use-build-blocker: true
blocking-jobs:
- '{alias}-merge-(master|fraser)'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm
blocking-jobs:
- '{alias}-merge-{phase}-.*'
- '{installer}-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm
use-build-blocker: true
blocking-jobs:
- '{alias}-merge-build-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm-gerrit
- '{alias}-merge-build-.*'
- '{alias}-verify-build-.*'
- '{installer}-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm-gerrit
--- /dev/null
+---
+- project:
+ name: doctor-rtd
+ project: doctor
+ project-name: doctor
+
+ gerrit-skip-vote: true
+ project-pattern: 'doctor'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-doctor/47362/'
+ rtd-token: 'bf8640556a3ba3151e4e5602facc5ed982dd88c8'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
name: doctor
project: '{name}'
+ project-name: '{name}'
+ project-pattern: '{project}'
stream:
- master:
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
kill-phase-on: FAILURE
git-revision: true
- - name: 'doctor-verify-maintenance-apex-sample-x86_64-{stream}'
+ - multijob:
+ name: 'doctor-verify-congress'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-verify-fault_management-apex-congress-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
kill-phase-on: FAILURE
git-revision: true
- multijob:
- name: 'doctor-verify-congress'
+ name: 'doctor-verify-sample-all'
execution-type: PARALLEL
projects:
- - name: 'doctor-verify-fault_management-apex-congress-x86_64-{stream}'
+ - name: 'doctor-verify-all-apex-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
kill-phase-on: FAILURE
git-revision: true
- - multijob:
- name: 'doctor-verify-sample-all'
- execution-type: PARALLEL
- # This would be for running all test cases with sample inspector
- multijob:
name: 'doctor-verify-congress-all'
execution-type: PARALLEL
--- /dev/null
+---
+- project:
+ name: domino-rtd
+ project: domino
+ project-name: domino
+
+ gerrit-skip-vote: true
+ project-pattern: 'domino'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-domino/47363/'
+ rtd-token: 'c89c7fc281d94a985df61b49be2b824f544ba6fd'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
builders:
- - dovetail-webportal-hello-world
+ - dovetail-webportal-unit-tests
- job-template:
name: 'dovetail-webportal-merge-{stream}'
branch-pattern: '**/{branch}'
builders:
- - dovetail-webportal-hello-world
+ - dovetail-webportal-unit-tests
################################
# builders for dovetail project
###############################
- builder:
- name: dovetail-webportal-hello-world
+ name: dovetail-webportal-unit-tests
builders:
- shell: |
#!/bin/bash
set -o errexit
+ set -o pipefail
- echo "hello world"
+ tox
fraser: &fraser
stream: fraser
branch: 'stable/{stream}'
- dovetail-branch: master
+ dovetail-branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ docker-tag: 'ovp-2.0.0'
+ gambia: &gambia
+ stream: gambia
+ branch: 'stable/{stream}'
+ dovetail-branch: 'master'
gs-pathname: '/{stream}'
docker-tag: 'latest'
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
# -------------------------------
# Installers not using labels
# CI PODs
--- /dev/null
+---
+- project:
+ name: dovetail-rtd
+ project: dovetail
+ project-name: dovetail
+
+ project-pattern: 'dovetail'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-dovetail/47364/'
+ rtd-token: '47df9d7358b153666c2cf5cc139cd3a65d135688'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
DEPLOY_TYPE=baremetal
[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
-DOVETAIL_HOME=${WORKSPACE}/cvp
+DOVETAIL_HOME=${WORKSPACE}/ovp
[ -d ${DOVETAIL_HOME} ] && sudo rm -rf ${DOVETAIL_HOME}
mkdir -p ${DOVETAIL_HOME}
DOVETAIL_IMAGES=${DOVETAIL_HOME}/images
mkdir -p ${DOVETAIL_IMAGES}
+OPENRC=${DOVETAIL_CONFIG}/env_config.sh
+CACERT=${DOVETAIL_CONFIG}/os_cacert
+POD=${DOVETAIL_CONFIG}/pod.yaml
+
ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
sshkey=""
-# The path of openrc.sh is defined in fetch_os_creds.sh
-OPENRC=${DOVETAIL_CONFIG}/env_config.sh
-CACERT=${DOVETAIL_CONFIG}/os_cacert
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
+
+check_file_exists() {
+ if [[ -f $1 ]]; then
+ echo 0
+ else
+ echo 1
+ fi
+}
+
+get_cred_file_with_scripts() {
+ echo "INFO: clone releng repo..."
+ releng_repo=${WORKSPACE}/releng
+ [ -d ${releng_repo} ] && sudo rm -rf ${releng_repo}
+ git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null
+
+ echo "INFO: clone pharos repo..."
+ pharos_repo=${WORKSPACE}/pharos
+ [ -d ${pharos_repo} ] && sudo rm -rf ${pharos_repo}
+ git clone https://git.opnfv.org/pharos ${pharos_repo} >/dev/null
+
+ echo "INFO: SUT branch is $SUT_BRANCH"
+ echo "INFO: dovetail branch is $BRANCH"
+ BRANCH_BACKUP=$BRANCH
+ export BRANCH=$SUT_BRANCH
+ cmd="${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${CACERT} >${redirect}"
+ echo "INFO: cmd is ${cmd}"
+ ${cmd}
+ export BRANCH=$BRANCH_BACKUP
+}
+
+get_apex_cred_file() {
instack_mac=$(sudo virsh domiflist undercloud | grep default | \
grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'})
sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
fi
-elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
- # If production lab then creds may be retrieved dynamically
- # creds are on the jumphost, always in the same folder
- sudo cp $LAB_CONFIG/admin-openrc $OPENRC
- # If dev lab, credentials may not be the default ones, just provide a path to put them into docker
- # replace the default one by the customized one provided by jenkins config
-fi
+ get_cred_file_with_scripts
+}
-releng_repo=${WORKSPACE}/releng
-[ -d ${releng_repo} ] && sudo rm -rf ${releng_repo}
-git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null
+get_compass_cred_file() {
+ get_cred_file_with_scripts
+}
-pharos_repo=${WORKSPACE}/pharos
-[ -d ${pharos_repo} ] && sudo rm -rf ${pharos_repo}
-git clone https://git.opnfv.org/pharos ${pharos_repo} >/dev/null
+get_fuel_cred_file() {
+ get_cred_file_with_scripts
+}
-if [[ ${INSTALLER_TYPE} != 'joid' ]]; then
- echo "SUT branch is $SUT_BRANCH"
- echo "dovetail branch is $BRANCH"
- BRANCH_BACKUP=$BRANCH
- export BRANCH=$SUT_BRANCH
- ${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${CACERT} >${redirect}
- export BRANCH=$BRANCH_BACKUP
-fi
+get_joid_cred_file() {
+ # If production lab then creds may be retrieved dynamically
+ # creds are on the jumphost, always in the same folder
+ sudo cp $LAB_CONFIG/admin-openrc $OPENRC
+}
-if [[ -f $OPENRC ]]; then
- echo "INFO: openstack credentials path is $OPENRC"
- if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then
- if [[ -f ${CACERT} ]]; then
- echo "INFO: ${INSTALLER_TYPE} openstack cacert file is ${CACERT}"
+change_cred_file_cacert_path() {
+ if [[ ${INSTALLER_TYPE} == "apex" ]]; then
+ echo "INFO: apex doesn't need to set OS_CACERT."
+ return 0
+ fi
+ exists=`check_file_exists ${CACERT}`
+ if [[ $exists == 0 ]]; then
+ echo "INFO: set ${INSTALLER_TYPE} openstack cacert file to be ${CACERT}"
+ if [[ ${INSTALLER_TYPE} == "compass" ]]; then
echo "export OS_CACERT=${CACERT}" >> ${OPENRC}
- else
- echo "ERROR: Can't find ${INSTALLER_TYPE} openstack cacert file. Please check if it is existing."
- sudo ls -al ${DOVETAIL_CONFIG}
- exit 1
+ elif [[ ${INSTALLER_TYPE} == "fuel" ]]; then
+ sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC}
fi
+ else
+ echo "ERROR: cannot find file ${CACERT}. Please check if it exists."
+ sudo ls -al ${DOVETAIL_CONFIG}
+ exit 1
fi
- echo "export EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" >> ${OPENRC}
-else
- echo "ERROR: cannot find file $OPENRC. Please check if it is existing."
- sudo ls -al ${DOVETAIL_CONFIG}
- exit 1
-fi
+}
-if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "fuel" ]]; then
- sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC}
-fi
-cat $OPENRC
+change_cred_file_ext_net() {
+ exists=`check_file_exists ${OPENRC}`
+ if [[ $exists == 0 ]]; then
+ echo "export EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" >> ${OPENRC}
+ else
+ echo "ERROR: cannot find file $OPENRC. Please check if it exists."
+ sudo ls -al ${DOVETAIL_CONFIG}
+ exit 1
+ fi
+}
+
+get_cred_file() {
+ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
+ get_apex_cred_file
+ elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
+ get_compass_cred_file
+ elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
+ get_fuel_cred_file
+ elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
+ get_joid_cred_file
+ fi
-# These packages are used for parsing yaml files and decrypting ipmi user and password.
-sudo pip install shyaml
-sudo yum install -y rubygems || sudo apt-get install -y ruby
-sudo gem install hiera-eyaml
+ exists=`check_file_exists ${OPENRC}`
+ if [[ $exists == 0 ]]; then
+ echo "INFO: original openstack credentials file is:"
+ cat $OPENRC
+ echo "INFO: change cacert file path in credentials file"
+ change_cred_file_cacert_path
+ echo "INFO: set external network in credentials file"
+ change_cred_file_ext_net
+ echo "INFO: final openstack credentials file is:"
+ cat $OPENRC
+ else
+ echo "ERROR: cannot find file $OPENRC. Please check if it exists."
+ sudo ls -al ${DOVETAIL_CONFIG}
+ exit 1
+ fi
+}
-if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then
+get_compass_pod_file() {
compass_repo=${WORKSPACE}/compass4nfv/
+ echo "INFO: clone compass repo..."
git clone https://github.com/opnfv/compass4nfv.git ${compass_repo} >/dev/null
scenario_file=${compass_repo}/deploy/conf/hardware_environment/$NODE_NAME/os-nosdn-nofeature-ha.yml
ipmiIp=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiIp)
ipmiUser=root
jumpserver_ip=$(ifconfig | grep -A 5 docker0 | grep "inet addr" | cut -d ':' -f 2 | cut -d ' ' -f 1)
- cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
+ cat << EOF >${POD}
nodes:
- {ip: ${jumpserver_ip}, name: node0, password: root, role: Jumpserver, user: root}
- {ip: 10.1.0.50, name: node1, password: root, role: controller, user: root,
- {ip: 10.1.0.54, name: node5, password: root, role: compute, user: root}
EOF
-fi
-if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+}
+
+get_fuel_baremetal_pod_file() {
fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}"
ssh_user="ubuntu"
fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
[[ $ipmiUser == ENC* ]] && ipmiUser=$(eyaml decrypt -s ${ipmiUser//[[:blank:]]/})
[[ $ipmiPass == ENC* ]] && ipmiPass=$(eyaml decrypt -s ${ipmiPass//[[:blank:]]/})
- cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
+ cat << EOF >${POD}
nodes:
- {ip: ${INSTALLER_IP}, name: node0, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
role: Jumpserver, 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}}
EOF
-fi
+}
-if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
+get_pod_file_with_scripts() {
set +e
-
sudo pip install virtualenv
cd ${releng_repo}/modules
if [[ ${INSTALLER_TYPE} == compass ]]; then
options="-u root -p root"
elif [[ ${INSTALLER_TYPE} == fuel ]]; then
- options="-u root -p r00tme"
+ options="-u ubuntu -k /root/.ssh/id_rsa"
elif [[ ${INSTALLER_TYPE} == apex ]]; then
options="-u stack -k /root/.ssh/id_rsa"
elif [[ ${INSTALLER_TYPE} == daisy ]]; then
options="-u root -p r00tme"
else
- echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently."
- echo "HA test cases may not run properly."
+ echo "WARNING: Don't support to generate ${POD} on ${INSTALLER_TYPE} currently."
+ echo "WARNING: HA test cases may not run properly."
fi
cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
- -i ${INSTALLER_IP} ${options} -f ${DOVETAIL_CONFIG}/pod.yaml \
+ -i ${INSTALLER_IP} ${options} -f ${POD} \
-s /home/opnfv/userconfig/pre_config/id_rsa"
- echo ${cmd}
+ echo "INFO: cmd is ${cmd}"
${cmd}
deactivate
-
set -e
-
cd ${WORKSPACE}
-fi
+}
-if [ -f ${DOVETAIL_CONFIG}/pod.yaml ]; then
- sudo chmod 666 ${DOVETAIL_CONFIG}/pod.yaml
- echo "Adapt process info for $INSTALLER_TYPE ..."
- if [ "$INSTALLER_TYPE" == "apex" ]; then
- cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
+change_apex_pod_file_process_info() {
+ cat << EOF >> ${POD}
process_info:
- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq_server}
- {testcase_name: yardstick.ha.cinder_api, attack_process: cinder_wsgi}
EOF
- elif [ "$INSTALLER_TYPE" == "fuel" ]; then
- cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
+}
+
+change_fuel_pod_file_process_info() {
+ cat << EOF >> ${POD}
process_info:
- {testcase_name: yardstick.ha.cinder_api, attack_process: cinder-wsgi}
- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq_server, attack_host: msg01}
- {testcase_name: yardstick.ha.neutron_l3_agent, attack_process: neutron-l3-agent, attack_host: cmp01}
- {testcase_name: yardstick.ha.database, attack_process: mysqld, attack_host: dbs01}
EOF
- elif [ "$INSTALLER_TYPE" == "compass" ]; then
- cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
+}
+
+change_compass_pod_file_process_info() {
+ cat << EOF >> ${POD}
process_info:
- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq}
EOF
+}
+
+change_pod_file_process_info() {
+ sudo chmod 666 ${POD}
+ echo "INFO: adapt process info for $INSTALLER_TYPE ..."
+ if [ "$INSTALLER_TYPE" == "apex" ]; then
+ change_apex_pod_file_process_info
+ elif [ "$INSTALLER_TYPE" == "fuel" ]; then
+ change_fuel_pod_file_process_info
+ elif [ "$INSTALLER_TYPE" == "compass" ]; then
+ change_compass_pod_file_process_info
+ fi
+}
+
+get_pod_file() {
+ # These packages are used for parsing yaml files and decrypting ipmi user and password.
+ sudo pip install shyaml
+ sudo yum install -y rubygems || sudo apt-get install -y ruby
+ sudo gem install hiera-eyaml
+ if [[ ${INSTALLER_TYPE} == 'compass' ]]; then
+ get_compass_pod_file
+ elif [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+ get_fuel_baremetal_pod_file
fi
- echo "file ${DOVETAIL_CONFIG}/pod.yaml:"
- cat ${DOVETAIL_CONFIG}/pod.yaml
-else
- echo "Error: cannot find file ${DOVETAIL_CONFIG}/pod.yaml. Please check if it is existing."
- sudo ls -al ${DOVETAIL_CONFIG}
- echo "HA test cases may not run properly."
-fi
+ exists=`check_file_exists ${POD}`
+ if [[ $exists == 1 ]]; then
+ get_pod_file_with_scripts
+ fi
+
+ exists=`check_file_exists ${POD}`
+ if [[ $exists == 0 ]]; then
+ change_pod_file_process_info
+ else
+ echo "ERROR: cannot find file ${POD}. Please check if it exists."
+ sudo ls -al ${DOVETAIL_CONFIG}
+ exit 1
+ fi
+
+ echo "INFO: file ${POD} is:"
+ cat ${POD}
+}
+
+get_cred_file
+get_pod_file
if [ "$INSTALLER_TYPE" == "fuel" ]; then
if [[ "${SUT_BRANCH}" =~ "danube" ]]; then
container_id=$(docker ps | grep "${DOCKER_REPO}:${DOCKER_TAG}" | awk '{print $1}' | head -1)
echo "Container ID=${container_id}"
if [ -z ${container_id} ]; then
- echo "Cannot find ${DOCKER_REPO} container ID ${container_id}. Please check if it is existing."
+ echo "Cannot find ${DOCKER_REPO} container ID ${container_id}. Please check if it exists."
docker ps -a
exit 1
fi
--- /dev/null
+---
+- project:
+ name: escalator-rtd
+ project: escalator
+ project-name: escalator
+
+ gerrit-skip-vote: true
+ project-pattern: 'escalator'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-escalator/47365/'
+ rtd-token: 'cb75c70dab564cb40e6d9e8f2a99ced96f5b79b1'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: fds-rtd
+ project: fds
+ project-name: fds
+
+ project-pattern: 'fds'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-fds/47367/'
+ rtd-token: '756989c50a7c8f3350c4943f3d39a73762a4cd85'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
branch: 'stable/{stream}'
disabled: false
gs-pathname: '/{stream}'
+ gambia: &gambia
+ stream: gambia
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
# -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
# -------------------------------
<<: *master
- baremetal:
slave-label: fuel-baremetal
- <<: *fraser
+ <<: *gambia
- virtual:
slave-label: fuel-virtual
+ <<: *gambia
+ - baremetal:
+ slave-label: fuel-baremetal
<<: *fraser
# -------------------------------
# None-CI PODs
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-odl-nofeature-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-odl-sfc-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-ovn-nofeature-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-odl-ovs-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
exclude:
+ # Dovetail (and only it) should run against Fraser HA baremetal scenarios
+ - scenario: os-nosdn-nofeature-noha
+ stream: fraser
+ - scenario: os-odl-nofeature-noha
+ stream: fraser
+ - scenario: os-odl-sfc-noha
+ stream: fraser
- scenario: os-odl-ovs-noha
stream: fraser
- - scenario: os-nosdn-vpp-ha
+ - scenario: os-ovn-nofeature-noha
+ stream: fraser
+ - scenario: os-nosdn-ovs-noha
stream: fraser
- scenario: os-nosdn-vpp-noha
stream: fraser
+ - scenario: os-ovn-nofeature-ha
+ stream: fraser
+ - scenario: os-nosdn-vpp-ha
+ stream: fraser
jobs:
- 'fuel-{scenario}-{pod}-daily-{stream}'
blocking-jobs:
- 'fuel-os-.*?-{pod}-daily-.*'
- 'fuel-verify-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
DEPLOY_SCENARIO={scenario}
same-node: true
block: true
- - trigger-builds:
- - project: 'functest-fuel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-fuel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: not
+ condition-operand:
+ condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
+ steps:
+ - trigger-builds:
+ - project: 'functest-fuel-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: not
+ condition-operand:
+ condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
+ steps:
+ - trigger-builds:
+ - project: 'yardstick-fuel-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
# 1.here the stream means the SUT stream, dovetail stream is defined in its own job
# 2.testsuite default here is for the test cases already added into OVP
# 3.run default testsuite mandatory test cases against ha scenario
- condition-kind: regex-match
regex: '.*-ha'
label: '{scenario}'
+ - condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
steps:
- trigger-builds:
- project: 'dovetail-fuel-{pod}-default-mandatory-{stream}'
- condition-kind: regex-match
regex: '.*-ha'
label: '{scenario}'
+ - condition-kind: regex-match
+ regex: 'fraser'
+ label: '{stream}'
steps:
- trigger-builds:
- project: 'dovetail-fuel-{pod}-default-optional-{stream}'
use-build-blocker: true
blocking-jobs:
- 'fuel-deploy-{pod}-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'fuel-os-odl-sfc-noha-baremetal-daily-master-trigger'
+ triggers:
+ - timed: ''
- trigger:
name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger'
triggers:
triggers:
- timed: ''
# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against fraser branch
+# Triggers for job running on fuel-baremetal against gambia branch
# ----------------------------------------------
# HA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-gambia-trigger'
triggers:
- - timed: '0 20 * * 1,3,7'
+ - timed: '0 20 * * *'
- trigger:
- name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-odl-nofeature-ha-baremetal-daily-gambia-trigger'
triggers:
- - timed: '' # '0 2 * * *'
+ - timed: '0 2 * * *'
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-gambia-trigger'
triggers:
- - timed: '' # '0 20 * * *'
+ - timed: '0 5 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-vpp-ha-baremetal-daily-gambia-trigger'
+ triggers:
+ - timed: ''
# NOHA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-noha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-odl-nofeature-noha-baremetal-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-odl-sfc-noha-baremetal-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-fraser-trigger'
+ name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-gambia-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl-ovs-noha-baremetal-daily-gambia-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-gambia-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-nosdn-vpp-noha-baremetal-daily-gambia-trigger'
triggers:
- timed: ''
# ----------------------------------------------
name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger'
triggers:
- timed: '5 18 * * *'
+- trigger:
+ name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
+ triggers:
+ - timed: '5 4 * * *'
- trigger:
name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
triggers:
triggers:
- timed: ''
# ----------------------------------------------
-# Triggers for job running on fuel-virtual against fraser branch
+# Triggers for job running on fuel-baremetal against fraser branch (for Dovetail)
# ----------------------------------------------
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger'
+ triggers:
+ - timed: '5 13 * * 6,7'
+- trigger:
+ name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger'
+ triggers:
+ - timed: '0 13 * * 6'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger'
+ triggers:
+ - timed: '0 13 * * 7'
+# ----------------------------------------------
+# Triggers for job running on fuel-virtual against gambia branch
+# ----------------------------------------------
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-gambia-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl-nofeature-ha-virtual-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-ha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-virtual-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-virtual-daily-gambia-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-vpp-ha-virtual-daily-gambia-trigger'
triggers:
- timed: ''
# NOHA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-gambia-trigger'
triggers:
- - timed: '' # '0 13 * * *'
+ - timed: '0 13 * * *'
- trigger:
- name: 'fuel-os-odl-nofeature-noha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-odl-nofeature-noha-virtual-daily-gambia-trigger'
triggers:
- - timed: '' # '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
- name: 'fuel-os-ovn-nofeature-noha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-odl-sfc-noha-virtual-daily-gambia-trigger'
triggers:
- - timed: '5 23 * * *'
+ - timed: '0 4 * * *'
+- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-virtual-daily-gambia-trigger'
+ triggers:
+ - timed: '0 23 * * *'
+- trigger:
+ name: 'fuel-os-odl-ovs-noha-virtual-daily-gambia-trigger'
+ triggers:
+ - timed: '0 2 * * *'
- trigger:
- name: 'fuel-os-nosdn-ovs-noha-virtual-daily-fraser-trigger'
+ name: 'fuel-os-nosdn-ovs-noha-virtual-daily-gambia-trigger'
triggers:
- - timed: '' # '0 9 * * *'
+ - timed: '0 9 * * *'
+- trigger:
+ name: 'fuel-os-nosdn-vpp-noha-virtual-daily-gambia-trigger'
+ triggers:
+ - timed: ''
# ----------------------------------------------
# ZTE POD1 Triggers running against master branch
# ----------------------------------------------
name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'fuel-os-odl-sfc-noha-zte-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
- trigger:
name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
# shellcheck disable=SC2153
POD_NAME=${NODE_NAME/*-}
+# define Docker tag for stable branches
+[[ "${BRANCH}" != master ]] && export MCP_DOCKER_TAG=${BRANCH##*/}
+
# Fuel currently supports arm, enea, ericsson, intel, lf, unh and zte labs
if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte) ]]; then
echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
echo "Using configuration for ${LAB_NAME}"
-# Certain labs do not require the deploy script to be ran with sudo
-SUDO='sudo -E'
-[[ ! "${LAB_NAME}" =~ (arm|enea|unh) ]] || SUDO=
-
# create TMPDIR if it doesn't exist, change permissions
mkdir -p "${TMPDIR}"
sudo chmod a+x "${HOME}" "${TMPDIR}"
# Limited scope for vPOD verify jobs running on armband-virtual
[[ ! "${JOB_NAME}" =~ verify-deploy-virtual-arm64 ]] || EXTRA_ARGS='-e'
+# turn on DEBUG mode
+[[ ${CI_DEBUG,,} == true ]] && EXTRA_ARGS="-D ${EXTRA_ARGS:-}"
+
# construct the command
-DEPLOY_COMMAND="${SUDO} ${WORKSPACE}/ci/deploy.sh \
+DEPLOY_COMMAND="${WORKSPACE}/ci/deploy.sh \
-l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} \
-S ${TMPDIR} ${EXTRA_ARGS:-} \
-L ${WORKSPACE}/${FUEL_LOG_FILENAME}"
disabled: false
- gambia:
branch: 'stable/{stream}'
- disabled: true
+ disabled: false
arch_tag:
- 'amd64':
*)
tag="{stream}" ;;
esac
- sudo ./ci/build.sh $tag
+ ./ci/build.sh $tag
- job-template:
name: 'fuel-docker-manifest-{stream}'
name: SLAVE_LABEL
default: 'opnfv-build-ubuntu'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: PROJECT
default: "{project}"
name: SLAVE_LABEL
default: '{slave_label}'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser:
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
-
- project-name: '{project}'
- project-pattern: '{project}'
- rtd-build-url: https://readthedocs.org/api/v2/webhook/opnfv-fuel/47205/
- rtd-token: 38f40bf6c08fd4bccb930871bc29b08404cf98b0
-
- jobs:
- - '{project-name}-rtd-jobs'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser:
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
blocking-jobs:
- 'fuel-os-.*?-daily-.*'
- 'fuel-verify-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm-gerrit
blocking-jobs:
- 'fuel-verify-docker-build-.*'
- 'fuel-verify-deploy-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm-gerrit
CI_LOOP=${CI_LOOP:-daily}
TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results
ENERGY_RECORDER_API_URL=http://energy.opnfv.fr/resources
+DOCKER_TAG=${DOCKER_TAG:-$([[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##*/})}
check_os_deployment() {
FUNCTEST_IMAGE=${REPO}/functest-healthcheck:${DOCKER_TAG}
}
-
run_tiers() {
tiers=$1
cmd_opt="run_tests -r -t all"
[[ $BUILD_TAG =~ "suite" ]] && cmd_opt="run_tests -t all"
- ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
- echo 0 > ${ret_val_file}
-
for tier in ${tiers[@]}; do
FUNCTEST_IMAGE=${REPO}/functest-${tier}:${DOCKER_TAG}
echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
echo ${ret_value} > ${ret_val_file}
if [ ${tier} == 'healthcheck' ]; then
echo "Healthcheck tier failed. Exiting Functest..."
+ skip_tests=1
break
fi
fi
run_test() {
test_name=$1
cmd_opt="run_tests -t ${test_name}"
- ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
- echo 0 > ${ret_val_file}
# Determine which Functest image should be used for the test case
case ${test_name} in
connection_check|tenantnetwork1|tenantnetwork2|vmready1|vmready2|singlevm1|singlevm2|vping_ssh|vping_userdata|cinder_test|odl|api_check|snaps_health_check)
DEPLOY_TYPE=baremetal
[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
HOST_ARCH=$(uname -m)
-DOCKER_TAG=`[[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##*/}`
# Prepare OpenStack credentials volume
rc_file=${HOME}/opnfv-openrc.sh
ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-
if [ "${INSTALLER_TYPE}" == 'fuel' ]; then
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}"
fi
+if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then
+ libvirt_vol="-v ${ssh_key}:${FUNCTEST_DIR}/conf/libvirt_key"
+ envs="${envs} -e LIBVIRT_USER=ubuntu -e LIBVIRT_KEY_PATH=${FUNCTEST_DIR}/conf/libvirt_key"
+fi
if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} =~ 'sfc' ]]; then
ssh_key="/tmp/id_rsa"
envs="${envs} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK}"
fi
+if [[ ${INSTALLER_TYPE} == 'compass' ]] || [[ ${DEPLOY_SCENARIO} == *"odl"* ]]; then
+ envs="${envs} -e SDN_CONTROLLER_RESTCONFPORT=8080"
+fi
-volumes="${images_vol} ${results_vol} ${sshkey_vol} ${userconfig_vol} ${rc_file_vol} ${cacert_file_vol}"
+if [[ ${DEPLOY_SCENARIO} == *"ovs"* ]] || [[ ${DEPLOY_SCENARIO} == *"fdio"* ]]; then
+ if [[ -n ${IMAGE_PROPERTIES} ]]; then
+ IMAGE_PROPERTIES="${IMAGE_PROPERTIES},hw_mem_page_size:large"
+ else
+ IMAGE_PROPERTIES="hw_mem_page_size:large"
+ fi
+ FLAVOR_EXTRA_SPECS="hw:mem_page_size:large"
+fi
+
+if [[ -n ${IMAGE_PROPERTIES} ]] || [[ -n ${FLAVOR_EXTRA_SPECS} ]]; then
+ envs="${envs} -e IMAGE_PROPERTIES=${IMAGE_PROPERTIES} -e FLAVOR_EXTRA_SPECS=${FLAVOR_EXTRA_SPECS}"
+fi
+
+tempest_conf_yaml=$(mktemp)
+case ${INSTALLER_TYPE} in
+apex)
+ cat << EOF > "${tempest_conf_yaml}"
+---
+compute-feature-enabled:
+ shelve: false
+ vnc_console: true
+identity-feature-enabled:
+ api_v2: false
+ api_v2_admin: false
+image-feature-enabled:
+ api_v2: true
+ api_v1: false
+volume:
+ storage_protocol: ceph
+volume-feature-enabled:
+ backup: false
+EOF
+ ;;
+compass)
+ cat << EOF > "${tempest_conf_yaml}"
+---
+compute-feature-enabled:
+ shelve: false
+ vnc_console: false
+ spice_console: true
+identity-feature-enabled:
+ api_v2: false
+ api_v2_admin: false
+image-feature-enabled:
+ api_v2: true
+ api_v1: false
+volume:
+ storage_protocol: ceph
+volume-feature-enabled:
+ backup: false
+EOF
+ ;;
+fuel)
+ cat << EOF > "${tempest_conf_yaml}"
+---
+compute-feature-enabled:
+ shelve: false
+ vnc_console: false
+ spice_console: true
+identity-feature-enabled:
+ api_v2: false
+ api_v2_admin: false
+image-feature-enabled:
+ api_v2: true
+ api_v1: false
+volume:
+ storage_protocol: iSCSI
+volume-feature-enabled:
+ backup: false
+EOF
+ ;;
+*)
+ cat << EOF > "${tempest_conf_yaml}"
+---
+compute-feature-enabled:
+ shelve: false
+ vnc_console: false
+identity-feature-enabled:
+ api_v2: false
+ api_v2_admin: false
+image-feature-enabled:
+ api_v2: true
+ api_v1: false
+volume:
+ storage_protocol: iSCSI
+volume-feature-enabled:
+ backup: false
+EOF
+ ;;
+esac
+echo "tempest_conf.yaml:" && cat "${tempest_conf_yaml}"
+
+volumes="${images_vol} ${results_vol} ${sshkey_vol} ${libvirt_vol} \
+ ${userconfig_vol} ${rc_file_vol} ${cacert_file_vol} \
+ -v ${tempest_conf_yaml}:/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml"
+
+ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
+echo 0 > ${ret_val_file}
set +e
run_tiers ${tiers}
else
tests=(tempest_full tempest_scenario)
+ skip_tests=0
if [ ${DEPLOY_TYPE} == 'baremetal' ] && [ "${HOST_ARCH}" != "aarch64" ]; then
if [[ ${BRANCH} == "stable/fraser" ]]; then
tiers=(healthcheck smoke features vnf parser)
fi
fi
run_tiers ${tiers}
- for test in "${tests[@]}"; do
- run_test "$test"
- done
+ if [ ${skip_tests} -eq 0 ]; then
+ for test in "${tests[@]}"; do
+ run_test "$test"
+ done
+ fi
fi
slave-label: fuel-virtual
installer: fuel
<<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *gambia
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ <<: *gambia
- baremetal:
slave-label: fuel-baremetal
installer: fuel
slave-label: compass-arm-virtual
installer: compass
<<: *fraser
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ <<: *gambia
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ <<: *gambia
+ - arm-virtual:
+ slave-label: compass-arm-virtual
+ installer: compass
+ <<: *gambia
# apex CI PODs
- virtual:
slave-label: apex-virtual-master
slave-label: apex-baremetal-master
installer: apex
<<: *master
+ - virtual:
+ slave-label: apex-virtual-master
+ installer: apex
+ <<: *gambia
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ <<: *gambia
- virtual:
slave-label: apex-virtual-fraser
installer: apex
slave-label: armband-virtual
installer: fuel
<<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ <<: *gambia
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ <<: *gambia
- armband-baremetal:
slave-label: armband-baremetal
installer: fuel
- 'suite':
job-timeout: 60
- 'daily':
- job-timeout: 480
+ job-timeout: 600
jobs:
- 'functest-{installer}-{pod}-{testsuite}-{stream}'
- throttle:
enabled: true
max-per-node: 1
+ max-total: 10
option: 'project'
wrappers:
- string:
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-noha'
+ - string:
+ name: DOCKER_TAG
+ default: ''
- string:
name: CLEAN_DOCKER_IMAGES
default: 'false'
name: SLAVE_LABEL
default: 'opnfv-build-ubuntu'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: PROJECT
default: "{project}"
name: SLAVE_LABEL
default: '{slave_label}'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'opnfv-build-ubuntu'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: PROJECT
default: "{project}"
name: SLAVE_LABEL
default: '{slave_label}'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
wrappers:
- ssh-agent-wrapper
- build-timeout:
- timeout: 30
+ timeout: 60
parameters:
- project-parameter:
--- /dev/null
+---
+- project:
+ name: functest-rtd
+ project: functest
+ project-name: functest
+
+ gerrit-skip-vote: true
+ project-pattern: 'functest'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-functest/47369/'
+ rtd-token: '26f9131bd5c337928ba8b431a289f6850b330504'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
name: SLAVE_LABEL
default: 'opnfv-build-ubuntu'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: PROJECT
default: "{project}"
name: SLAVE_LABEL
default: '{slave_label}'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
+++ /dev/null
-Subproject commit 9b240453b91f3c4b0844ea1c593721a1c421caa2
--- /dev/null
+../../global-jjb/jjb
\ No newline at end of file
--- /dev/null
+../../global-jjb/shell
\ No newline at end of file
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser:
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
build-node: 'opnfv-build'
gerrit-server-name: 'gerrit.opnfv.org'
jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e'
- jjb-version: '2.0.3'
lftools-version: '<1.0.0'
properties:
- shell: |
#!/bin/bash
# Install python package
- sudo pip install "flake8==2.6.2"
+ sudo -H pip install "flake8==2.6.2"
echo "Checking python code..."
for f in $(egrep '\.py$' modified_files)
- shell: |
#!/bin/bash
# sudo Install python packages
- sudo pip install "yamllint==1.8.2"
+ sudo -H pip install "yamllint==1.8.2"
echo "Checking yaml file..."
for f in $(egrep '\.ya?ml$' modified_files)
- label:
name: SLAVE_LABEL
default: 'apex-baremetal-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: SSH_KEY
+ default: /root/.ssh/id_rsa
+ description: 'SSH key to use for Apex'
+
+- parameter:
+ name: 'apex-baremetal-gambia-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'apex-baremetal-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-baremetal-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-baremetal-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-baremetal-danube'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-virtual-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: SSH_KEY
+ default: /root/.ssh/id_rsa
+ description: 'SSH key to use for Apex'
+
+- parameter:
+ name: 'apex-virtual-gambia-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'apex-virtual-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-virtual-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-virtual-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-virtual-danube'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'apex-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-baremetal-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-baremetal-branch'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'fuel-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'armband-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'auto-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'joid-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'daisy-baremetal'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: INSTALLER_IP
default: '10.20.7.3'
- label:
name: SLAVE_LABEL
default: 'apex-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-arm-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-virtual-master'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'compass-virtual-branch'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'fuel-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'armband-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'joid-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'daisy-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: INSTALLER_IP
default: '10.20.11.2'
- label:
name: SLAVE_LABEL
default: 'opnfv-build-centos'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'opnfv-build-ubuntu'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'pharos-dashboard'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'opnfv-build'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'ericsson-build3'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'ericsson-build4'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'opnfv-build-ubuntu-arm'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'huawei-test'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'huawei-test'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'huawei-virtual5'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'ericsson-virtual5'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://git.opendaylight.org/gerrit/p/$PROJECT.git
- label:
name: SLAVE_LABEL
default: 'ericsson-virtual12'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'ericsson-virtual13'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'ericsson-virtual-pod1bl01'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'odl-netvirt-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- label:
name: SLAVE_LABEL
default: 'odl-netvirt-virtual-intel'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'sandbox-baremetal'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'sandbox-virtual'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
name: SLAVE_LABEL
default: 'dummy-pod1'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
--- /dev/null
+---
+- project:
+ name: ipv6-rtd
+ project: ipv6
+ project-name: ipv6
+
+ gerrit-skip-vote: true
+ project-pattern: 'ipv6'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ipv6/47370/'
+ rtd-token: 'e7abb4e2c3f3f0dfc1a8feefe39b27f4a4f9b98a'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
fraser: &fraser
stream: fraser
branch: 'stable/{stream}'
- disabled: false
+ disabled: true
gs-pathname: '/{stream}'
master: &master
stream: master
branch: '{stream}'
- disabled: false
+ disabled: true
gs-pathname: ''
# -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
use-build-blocker: true
blocking-jobs:
- 'joid-(os|k8)-.*?-{pod}-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
use-build-blocker: true
blocking-jobs:
- 'joid-deploy-{pod}-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
wrappers:
- build-name:
--- /dev/null
+---
+- project:
+ name: joid-rtd
+ project: joid
+ project-name: joid
+
+ project-pattern: 'joid'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-joid/47371/'
+ rtd-token: '44a666161d99c9f53e7f69e56f1704694502015b'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
- master:
branch: '{stream}'
gs-pathname: ''
- disabled: false
+ disabled: true
- fraser: &fraser
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
- disabled: false
+ disabled: true
#####################################
# patch verification phases
#####################################
blocking-jobs:
- 'joid-verify-master'
- 'joid-verify-danube'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm-gerrit
blocking-jobs:
- 'joid-verify-deploy-.*'
- 'joid-verify-test-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
scm:
- git-scm-gerrit
--- /dev/null
+---
+- project:
+ name: kvmfornfv-rtd
+ project: kvmfornfv
+ project-name: kvmfornfv
+
+ gerrit-skip-vote: true
+ project-pattern: 'kvmfornfv'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-kvmfornfv/47372/'
+ rtd-token: '32ae6f0ad54181a27fd38d99821a021f5087554a'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /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: multisite-rtd
+ project: multisite
+ project-name: multisite
+
+ project-pattern: 'multisite'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-multisite/47374/'
+ rtd-token: '5d5b5c20e10df51eec38593b76d96cd22d4f1a96'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: netready-rtd
+ project: netready
+ project-name: netready
+
+ gerrit-skip-vote: true
+ project-pattern: 'netready'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-netready/47375/'
+ rtd-token: '3defd5720db87d5fd6487702e2778053b9279c28'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: nfvbench-rtd
+ project: nfvbench
+ project-name: nfvbench
+
+ project-pattern: 'nfvbench'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-nfvbench/47376/'
+ rtd-token: '7d77b15615ffe7906f1f20e245c80dc0a0f97e47'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: octopus-rtd
+ project: octopus
+ project-name: octopus
+
+ gerrit-skip-vote: true
+ project-pattern: 'octopus'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-octopus/47377/'
+ rtd-token: 'b3a1784dc55db91f38ea54cb181a0e4551221349'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: onosfw-rtd
+ project: onosfw
+ project-name: onosfw
+
+ gerrit-skip-vote: true
+ project-pattern: 'onosfw'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-onosfw/47378/'
+ rtd-token: '1ad406bcdf2d627e2e18fbcd6605f3456b05bb3d'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
name: SCENARIO_METADATA_LOCATION
default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER
description: 'The location of the scenario metadata'
- - 'ericsson-build4-defaults'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
wrappers:
- credentials-binding:
triggers:
- jms-messaging:
provider-name: openci.activemq
- selector: JMSType = 'ArtifactPublishedEvent' and JMSOrigin = 'ODL'
+ selector: JMSType = 'ArtifactPublishedEvent' and JMSOrigin = '{origin}'
builders:
- shell: |
name: CONFIDENCE_LEVEL
default: "'opnfvdaily': 'SUCCESS'"
description: 'The confidence level the published artifact gained'
- - 'ericsson-build4-defaults'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
wrappers:
- credentials-binding:
--- /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'
stream:
- master:
branch: 'master'
+ - gambia:
+ branch: 'stable/{stream}'
- fraser:
branch: 'stable/{stream}'
- danube:
branch: 'stable/{stream}'
- - euphrates:
- branch: 'stable/{stream}'
project: 'opnfvdocs'
rtdproject: 'opnfv'
name: SLAVE_LABEL
default: 'lf-build1'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- project-parameter:
project: '{project}'
branch: '{branch}'
name: SLAVE_LABEL
default: 'lf-build2'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- project-parameter:
project: '{project}'
branch: '{branch}'
server: 'gerrit.opnfv.org'
project: '**'
branch: '{branch}'
- files: 'docs/**/*.*'
+ files: 'docs/**'
builders:
- shell: |
if [ "$GERRIT_PROJECT" != "opnfvdocs" ]; then
- cd docs/submodules/$GERRIT_PROJECT
+ # Temporary hacky solution to handle local builds for projects
+ # that already moved away from submodules
+ if ! cd docs/submodules/$GERRIT_PROJECT 2 > /dev/null; then
+ rm -rf .* * 2 > /dev/null
+ git clone ${{GIT_BASE/opnfvdocs/$GERRIT_PROJECT}} .
+ fi
git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
+ cd -
else
git fetch origin $GERRIT_REFSPEC && git checkout FETCH_HEAD
fi
+ if [ -d docs/subdmodules ]; then
+ for project in docs/submodules/*; do
+ cd $project && git submodule deinit -f . && cd -
+ done
+ fi
- shell: |
- sudo pip install virtualenv
+ sudo -H pip install virtualenv
virtualenv $WORKSPACE/venv
. $WORKSPACE/venv/bin/activate
pip install --upgrade pip
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- - euphrates:
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: opnfvtsc-rtd
+ project: opnfvtsc
+ project-name: opnfvtsc
+
+ gerrit-skip-vote: true
+ project-pattern: 'opnfvtsc'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-opnfvtsc/47400/'
+ rtd-token: 'b8cbc26c46f1b1bd98adbf8c4488787a58d68fdd'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /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'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: ovn4nfv-rtd
+ project: ovn4nfv
+ project-name: ovn4nfv
+
+ project-pattern: 'ovn4nfv'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ovn4nfv/47381/'
+ rtd-token: 'f131200fd878a5c443f18c134c3bfda122538bce'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: ovno-rtd
+ project: ovno
+ project-name: ovno
+
+ gerrit-skip-vote: true
+ project-pattern: 'ovno'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ovno/47382/'
+ rtd-token: 'd393a62c6ee0b06979d0bb28f0b43e88208ce2c1'
+
+ 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: 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
+---
+- project:
+ name: pharos-rtd
+ project: pharos
+ project-name: pharos
+
+ project-pattern: 'pharos'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-pharos/47385/'
+ rtd-token: '12cb789478d0c3577fb62c610232b3113d3a16ad'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: promise-rtd
+ project: promise
+ project-name: promise
+
+ gerrit-skip-vote: true
+ project-pattern: 'promise'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-promise/47386/'
+ rtd-token: 'e689330ddc9401d83dd26efbe26a55a6ecd33a0d'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /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'
- euphrates:
branch: 'stable/{stream}'
disabled: true
+ - gambia:
+ branch: 'stable/{stream}'
+ disabled: false
arch_tag:
- 'amd64':
#!/bin/bash -ex
case "{stream}" in
"master")
- tag="latest" ;;
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template opnfv/compass-{image}:ARCH-latest \
+ --target opnfv/compass-{image}:latest ;;
*)
- tag="{stream}" ;;
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template opnfv/compass-{image}:ARCH-stable \
+ --target opnfv/compass-{image}:{stream} ;;
esac
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template opnfv/compass-{image}:ARCH-$tag \
- --target opnfv/compass-{image}:$tag
exit $?
# parameter macro
name: SLAVE_LABEL
default: '{slave_label}'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
publishers:
- email:
recipients: >
- chigang@huawei.com
- huangxiangyui5@huawei.com
- xueyifei@huawei.com
+ huangxiangyu5@huawei.com
wutianwei1@huawei.com
- publisher:
stream: fraser
branch: 'stable/{stream}'
disabled: false
+ gambia: &gambia
+ stream: gambia
+ branch: 'stable/{stream}'
+ disabled: false
dovetail-arm-receivers: &dovetail-arm-receivers
receivers: >
cristina.pauna@enea.com
<<: *storperf-arm-receivers
- 'yardstick':
project: 'yardstick'
- <<: *fraser
+ <<: *gambia
<<: *yardstick-arm-receivers
# yamllint enable rule:key-duplicates
stream: fraser
branch: 'stable/{stream}'
disabled: false
+ gambia: &gambia
+ stream: gambia
+ branch: 'stable/{stream}'
+ disabled: false
+ pharos-tools-receivers: &pharos_tools_receivers
+ receivers: >
+ pberberian@iol.unh.edu
+ sbergeron@iol.unh.edu
storperf-receivers: &storperf-receivers
receivers: >
mark.beierl@emc.com
dockerfile: 'Dockerfile'
<<: *master
<<: *other-receivers
+ - 'clover-controller':
+ project: 'clover'
+ dockerdir: 'clover/controller'
+ dockerfile: 'docker/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-collector':
+ project: 'clover'
+ dockerdir: 'clover/collector'
+ dockerfile: 'docker/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-jmeter-master':
+ project: 'clover'
+ dockerdir: 'clover/tools/jmeter'
+ dockerfile: 'jmeter-master/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-jmeter-slave':
+ project: 'clover'
+ dockerdir: 'clover/tools/jmeter'
+ dockerfile: 'jmeter-slave/Dockerfile'
+ <<: *master
+ <<: *other-receivers
- 'clover-sample-app':
project: 'clover'
dockerdir: 'samples/scenarios/sample_app'
dockerfile: 'Dockerfile'
<<: *master
<<: *other-receivers
+ - 'clover-ns-modsecurity-crs':
+ project: 'clover'
+ dockerdir: 'samples/services/modsecurity/docker'
+ dockerfile: 'Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-spark':
+ project: 'clover'
+ dockerdir: 'clover/spark/docker/clover-spark'
+ dockerfile: 'Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-spark-submit':
+ project: 'clover'
+ dockerdir: 'clover/spark/docker/spark-submit'
+ dockerfile: 'Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'clover-clovisor':
+ project: 'clover'
+ dockerdir: 'clover/clovisor'
+ dockerfile: 'Dockerfile'
+ <<: *master
+ <<: *other-receivers
- 'cperf':
project: 'cperf'
<<: *master
project: 'nfvbench'
<<: *master
<<: *other-receivers
+ - 'pharos-tools-laas-dashboard':
+ project: 'pharos-tools'
+ dockerdir: 'dashboard'
+ dockerfile: 'web/Dockerfile'
+ <<: *master
+ <<: *pharos_tools_receivers
+ - 'pharos-tools-laas-celery':
+ project: 'pharos-tools'
+ dockerdir: 'dashboard'
+ dockerfile: 'worker/Dockerfile'
+ <<: *master
+ <<: *pharos_tools_receivers
- 'qtip':
project: 'qtip'
dockerdir: '.'
<<: *storperf-receivers
- 'yardstick':
project: 'yardstick'
- <<: *fraser
- <<: *other-receivers
+ <<: *gambia
+ <<: *yardstick-receivers
# projects with jobs for fraser
- 'bottlenecks':
project: 'bottlenecks'
- arm-build3
- arm-build4
- arm-build5
- - arm-build6
- ericsson-build3
- ericsson-build4
- lf-build2
name: SLAVE_NAME
description: Where to create the archive
default-slaves:
- - master
+ - lf-build2
allowed-multiselect: false
ignore-offline-nodes: true
reply-to: >
helpdesk@opnfv.org
recipients: >
+ tbramwell@linuxfoundation.org
swinslow@linuxfoundation.org
default-slaves:
- lf-build1
- lf-build2
+ - lf-build3
- ericsson-build3
- ericsson-build4
allowed-multiselect: true
sudo apt-get -y install ansible
fi
+
- builder:
name: run-ansible-build-server-playbook
builders:
set -e -o pipefail
echo "---> Create virtualenv"
-sudo pip install virtualenv
+sudo -H pip install virtualenv
virtualenv $WORKSPACE/venv
# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
source $WORKSPACE/venv/bin/activate
name: releng-builder-jobs
project: 'releng'
project-name: 'releng'
+ jjb-version: '2.5.0'
build-timeout: 60
name: SLAVE_LABEL
default: 'testresults'
description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- project-parameter:
project: 'releng-testresults'
branch: 'master'
--- /dev/null
+---
+- project:
+ name: samplevnf-rtd
+ project: samplevnf
+ project-name: samplevnf
+
+ gerrit-skip-vote: true
+ project-pattern: 'samplevnf'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-samplevnf/47390/'
+ rtd-token: '133bd533bd10428c549c17967469b25e847f42f4'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: sdnvpn-rtd
+ project: sdnvpn
+ project-name: sdnvpn
+
+ project-pattern: 'sdnvpn'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-sdnvpn/47391/'
+ rtd-token: '1efdc48a9819be55a28137937674f1f744d02fe0'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: true
--- /dev/null
+---
+- project:
+ name: sfc-rtd
+ project: sfc
+ project-name: sfc
+
+ project-pattern: 'sfc'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-sfc/47392/'
+ rtd-token: 'bc4419f4dded5c816071b042ac32c03ac6108700'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: snaps-rtd
+ project: snaps
+ project-name: snaps
+
+ project-pattern: 'snaps'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-snaps/47393/'
+ rtd-token: '8fa2d732997534df1e91a87d6dc3ee60bb56508b'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: stor4nfv-rtd
+ project: stor4nfv
+ project-name: stor4nfv
+
+ gerrit-skip-vote: true
+ project-pattern: 'stor4nfv'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-stor4nfv/47394/'
+ rtd-token: '9c189b44cf08de75dc06253558cc86ed93982cbb'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
branch: '{stream}'
gs-pathname: ''
docker-tag: 'latest'
- fraser: &fraser
- stream: fraser
+ gambia: &gambia
+ stream: gambia
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- baremetal:
slave-label: apex-baremetal-master
installer: apex
- <<: *fraser
+ <<: *gambia
## armband CI PODs
# - armband-baremetal:
# slave-label: armband-baremetal
--- /dev/null
+---
+- project:
+ name: storperf-rtd
+ project: storperf
+ project-name: storperf
+
+ project-pattern: 'storperf'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-storperf/47395/'
+ rtd-token: '8a5c04ef90e5f32edc4e805a5018763cd25e9afc'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - fraser: &fraser
+ - gambia: &gambia
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - fraser: &fraser
+ - gambia: &gambia
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: ves-rtd
+ project: ves
+ project-name: ves
+
+ gerrit-skip-vote: true
+ project-pattern: 'ves'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ves/47396/'
+ rtd-token: 'ea5026fc44841e7721529b95a9ebc1b29950e2ce'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: vnf-forwarding-graph-rtd
+ project: vnf-forwarding-graph
+ project-name: vnf-forwarding-graph
+
+ gerrit-skip-vote: true
+ project-pattern: 'vnf-forwarding-graph'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-vnf-forwarding-graph/47397/'
+ rtd-token: '5c6fd3d0f49fb88ea4230d6666d94b59fef86e7f'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: vswitchperf-rtd
+ project: vswitchperf
+ project-name: vswitchperf
+
+ gerrit-skip-vote: true
+ project-pattern: 'vswitchperf'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-vswitchperf/47398/'
+ rtd-token: '47bbe5675e6cc5a6207fcc9b4db8dac03c27d9de'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
- 'vswitchperf-verify-.*'
- 'vswitchperf-merge-.*'
- 'vswitchperf-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
- 'vswitchperf-verify-.*'
- 'vswitchperf-merge-.*'
- 'vswitchperf-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
- 'vswitchperf-verify-.*'
- 'vswitchperf-merge-.*'
- 'vswitchperf-daily-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
- '^xci-functest.*'
- '^bifrost-.*periodic.*'
- '^osa-.*periodic.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
- logrotate-default
parameters:
- label:
name: SLAVE_LABEL
default: '{slave-label}'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: CI_LOOP
default: 'periodic'
- xci-verify-virtual
option: category
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- string:
- label:
name: SLAVE_LABEL
default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: CI_LOOP
default: 'verify'
- 'bifrost-periodic-{distro}-.*'
- 'xci-osa-verify-{distro}-.*'
- 'xci-osa-periodic-{distro}-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
- throttle:
max-per-node: 2
max-total: 10
- label:
name: SLAVE_LABEL
default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: OPENSTACK_OSA_VERSION
default: 'master'
blocking-jobs:
- '.*-bifrost-verify-.*'
- '.*-bifrost-periodic-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- project-parameter:
- '^xci-functest.*'
- '^bifrost-.*periodic.*'
- '^osa-.*periodic.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
- logrotate-default
triggers:
- label:
name: SLAVE_LABEL
default: '{slave-label}'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: XCI_DISTRO
default: '{distro}'
- '^xci-functest.*'
- '^bifrost-.*periodic.*'
- '^osa-.*periodic.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
- throttle:
enabled: true
max-per-node: 1
- label:
name: SLAVE_LABEL
default: '{slave-label}'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: FUNCTEST_VERSION
default: 'hunter'
declare -x "\${var}" 2>/dev/null
echo $var
done < ${XCI_PATH}/.cache/xci.env && cd ${XCI_PATH}/xci && \
- ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml
+ ansible-playbook -i playbooks/dynamic_inventory.py \
+ -i ${XCI_PATH}/.cache/repos/openstack-ansible/inventory/dynamic_inventory.py \
+ playbooks/prepare-tests.yml
ssh root@192.168.122.2 "/root/prepare-tests.sh"
echo "---------------------------------------------------------------------------------"
- label:
name: SLAVE_LABEL
default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: CI_LOOP
default: 'merge'
- 'openstack-bifrost-verify-{distro}-.*'
- 'xci-osa-verify-{distro}-.*'
- 'xci-osa-periodic-{distro}-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
- throttle:
max-per-node: 1
max-total: 3
- label:
name: SLAVE_LABEL
default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: CI_LOOP
default: 'merge'
- '.*-bifrost-periodic-.*'
- 'osa-verify-.*'
- 'osa-periodic-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- string:
--- /dev/null
+---
+- project:
+ name: releng-xci-rtd
+ project: releng-xci
+ project-name: releng-xci
+
+ gerrit-skip-vote: true
+ project-pattern: 'releng-xci'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng-xci/47389/'
+ rtd-token: '7dbc774ea9a625296d2e973aff3e79af26b15d4d'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; \
while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && \
- cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml"
+ cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py \
+ -i ${XCI_PATH}/.cache/repos/openstack-ansible/inventory/dynamic_inventory.py \
+ playbooks/prepare-tests.yml"
echo "Prepare OPNFV VM for Tests"
ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/prepare-tests.sh"
echo "Running Functest"
- 'openstack-bifrost-verify-{distro}-.*'
- 'xci-osa-verify-{distro}-.*'
- 'xci-osa-periodic-{distro}-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
- throttle:
max-per-node: 2
max-total: 10
- label:
name: SLAVE_LABEL
default: 'xci-virtual'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
- string:
name: DISTRO
default: '{distro}'
- '.*-bifrost-periodic-.*'
- 'osa-verify-.*'
- 'osa-periodic-.*'
- block-level: 'NODE'
+ blocking-level: 'NODE'
parameters:
- string:
branch: '{stream}'
gs-pathname: ''
docker-tag: 'latest'
+ gambia: &gambia
+ stream: gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+ docker-tag: 'stable'
+ # Temporary fraser entry, until all fraser-tied PODs below migrate to gambia
fraser: &fraser
stream: fraser
branch: 'stable/{stream}'
gs-pathname: '{stream}'
- docker-tag: 'stable'
+ # In the meantime, docker image 'stable' will carry gambia contents, and
+ # there is no implemented way to build a docker image with 'fraser' tag.
+ # Available docker image tag options, as of 2018-10-03:
+ # - 'opnfv-6.2.1', built on 2018-07-02, is rather old.
+ # - 'ovp-2.0.0', built on 2018-09-21, is a good fit despite its name: it
+ # was built using SHA1 6c10a2d9cc3fe10e0bdd73a0985ab767b9479afc, which
+ # is the same as used for the most recent 'stable' docker image carrying
+ # fraser contents, built on 2018-09-13 and used so far by the fraser-
+ # tied PODs below.
+ # The alternative would be to create a new 'opnfv-6.2.2' git tag, but that
+ # would just build another image using the same SHA1 as for 'ovp-2.0.0'.
+ docker-tag: 'ovp-2.0.0'
# -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
# -------------------------------
installer: apex
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - virtual:
+ slave-label: apex-virtual-master
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *gambia
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *gambia
- virtual:
slave-label: apex-virtual-fraser
installer: apex
slave-label: fuel-baremetal
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
- virtual:
slave-label: fuel-virtual
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
slave-label: armband-baremetal
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
- armband-virtual:
slave-label: armband-virtual
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
# joid CI PODs
- baremetal:
slave-label: joid-baremetal
installer: compass
auto-trigger-name: 'daily-trigger-disabled'
<<: *fraser
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *gambia
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *gambia
# daisy CI PODs
- baremetal:
slave-label: daisy-baremetal
slave-label: '{pod}'
installer: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *gambia
- zte-pod2:
slave-label: '{pod}'
installer: daisy
branch: '{stream}'
gs-pathname: ''
disabled: false
- - fraser: &fraser
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: yardstick-rtd
+ project: yardstick
+ project-name: yardstick
+
+ project-pattern: 'yardstick'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-yardstick/47399/'
+ rtd-token: '6aa883824f3917c7db5ffa1fe9168817fb5feb68'
+
+ jobs:
+ - '{project-name}-rtd-jobs'
print("########## FUEL ##########")
+# NOTE: If you get traces containing <paramiko.ecdsakey.ECDSAKey object [...]>
+# make sure 10.20.0.2 is not already in ~/.ssh/known_hosts with another sig
handler = factory.Factory.get_handler('fuel',
'10.20.0.2',
- 'root',
- installer_pwd='r00tme')
+ 'ubuntu',
+ pkey_file='/var/lib/opnfv/mcp.rsa')
print(handler.get_deployment_info())
-print("List of nodes in cluster 4:")
-nodes = handler.get_nodes({'cluster': '4'})
+print("List of nodes in cluster")
+nodes = handler.get_nodes()
for node in nodes:
print(node)
elif installer.lower() == "fuel":
return fuel_adapter.FuelAdapter(installer_ip=installer_ip,
installer_user=installer_user,
- installer_pwd=installer_pwd)
+ pkey_file=pkey_file)
elif installer.lower() == "compass":
return compass_adapter.ContainerizedCompassAdapter(
installer_ip=installer_ip,
##############################################################################
-# Copyright (c) 2017 Ericsson AB and others.
+# Copyright (c) 2018 Ericsson AB and others.
# Author: Jose Lausuch (jose.lausuch@ericsson.com)
# George Paraskevopoulos (geopar@intracom-telecom.com)
# All rights reserved. This program and the accompanying materials
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+'''
+ This modules implements the Fuel@OPNFV adapter
+ - host executing this module needs network connectivity to a cluster via:
+ * mcpcontrol network (usually 10.20.0.0/24, created by installer);
+ * PXE/admin network;
+ The above are always true for an OPNFV Pharos jumpserver.
+ - key-based SSH auth is used throughout the cluster, without proxy-ing
+ cluster node access via Salt master (old Fuel@OPNFV used to);
+'''
+
+from yaml import safe_load, YAMLError
from opnfv.deployment import manager
from opnfv.utils import opnfv_logger as logger
from opnfv.utils import ssh_utils
-logger = logger.Logger(__name__).getLogger()
+LOGGER = logger.Logger(__name__).getLogger()
class FuelAdapter(manager.DeploymentHandler):
+ '''
+ This class extends the generic handler with Fuel@OPNFV specifics
+ '''
- def __init__(self, installer_ip, installer_user, installer_pwd):
+ def __init__(self, installer_ip, installer_user, pkey_file):
super(FuelAdapter, self).__init__(installer='fuel',
installer_ip=installer_ip,
installer_user=installer_user,
- installer_pwd=installer_pwd,
- pkey_file=None)
-
- def _get_clusters(self):
- environments = []
- output = self.runcmd_fuel_env()
- lines = output.rsplit('\n')
- if len(lines) < 2:
- logger.info("No environments found in the deployment.")
- return None
- else:
- fields = lines[0].rsplit(' | ')
-
- index_id = -1
- index_status = -1
- index_name = -1
- index_release_id = -1
-
- for i in range(len(fields)):
- if "id" in fields[i]:
- index_id = i
- elif "status" in fields[i]:
- index_status = i
- elif "name" in fields[i]:
- index_name = i
- elif "release_id" in fields[i]:
- index_release_id = i
-
- # order env info
- for i in range(2, len(lines)):
- fields = lines[i].rsplit(' | ')
- dict = {"id": fields[index_id].strip(),
- "status": fields[index_status].strip(),
- "name": fields[index_name].strip(),
- "release_id": fields[index_release_id].strip()}
- environments.append(dict)
-
- return environments
+ installer_pwd=None,
+ pkey_file=pkey_file)
def get_nodes(self, options=None):
-
- if options and options['cluster'] and len(self.nodes) > 0:
- n = []
- for node in self.nodes:
- if str(node.info['cluster']) == str(options['cluster']):
- n.append(node)
- return n
-
+ '''
+ Generates a list of all the nodes in the deployment
+ '''
+ # Unlike old Fuel@Openstack, we don't keep track of different clusters
+ # explicitly, but through domain names.
+ # For simplicity, we will assume a single cluster per Salt master node.
try:
# if we have retrieved previously all the nodes, don't do it again
# This fails the first time when the constructor calls this method
# therefore the try/except
if len(self.nodes) > 0:
return self.nodes
+ # pylint: disable=bare-except
except:
pass
+ # Manager roles to reclass properties mapping
+ _map = {
+ 'salt:master:enabled': manager.Role.INSTALLER,
+ 'maas:region:enabled': manager.Role.INSTALLER,
+ 'nova:controller:enabled': manager.Role.CONTROLLER,
+ 'nova:compute:enabled': manager.Role.COMPUTE,
+ 'opendaylight:server:enabled': manager.Role.ODL,
+ }
nodes = []
- cmd = 'fuel node'
+ cmd = ("sudo salt '*' pillar.item {} --out yaml --static 2>/dev/null"
+ .format(' '.join(_map.keys() + ['_param:pxe_admin_address'])))
+ # Sample output (for one node):
+ # cmp001.mcp-ovs-noha.local:
+ # _param:pxe_admin_address: 192.168.11.34
+ # maas:region:enabled: ''
+ # nova:compute:enabled: true
+ # nova:controller:enabled: ''
+ # opendaylight:server:enabled: ''
+ # retcode: 0
+ # salt:master:enabled: ''
output = self.installer_node.run_cmd(cmd)
- lines = output.rsplit('\n')
- if len(lines) < 2:
- logger.info("No nodes found in the deployment.")
+ if output.startswith('No minions matched the target'):
+ LOGGER.info('No nodes found in the deployment.')
return nodes
- # get fields indexes
- fields = lines[0].rsplit(' | ')
-
- index_id = -1
- index_status = -1
- index_name = -1
- index_cluster = -1
- index_ip = -1
- index_mac = -1
- index_roles = -1
- index_online = -1
-
- for i in range(len(fields)):
- if "group_id" in fields[i]:
- break
- elif "id" in fields[i]:
- index_id = i
- elif "status" in fields[i]:
- index_status = i
- elif "name" in fields[i]:
- index_name = i
- elif "cluster" in fields[i]:
- index_cluster = i
- elif "ip" in fields[i]:
- index_ip = i
- elif "mac" in fields[i]:
- index_mac = i
- elif "roles " in fields[i] and "pending_roles" not in fields[i]:
- index_roles = i
- elif "online" in fields[i]:
- index_online = i
-
- # order nodes info
- for i in range(2, len(lines)):
- fields = lines[i].rsplit(' | ')
- id = fields[index_id].strip().encode()
- ip = fields[index_ip].strip().encode()
- status_node = fields[index_status].strip().encode().lower()
- name = fields[index_name].strip().encode()
- roles_all = fields[index_roles].strip().encode().lower()
-
- roles = [x for x in [manager.Role.CONTROLLER,
- manager.Role.COMPUTE,
- manager.Role.ODL] if x in roles_all]
-
- dict = {"cluster": fields[index_cluster].strip().encode(),
- "mac": fields[index_mac].strip().encode(),
- "status_node": status_node,
- "online": fields[index_online].strip().encode()}
-
- ssh_client = None
- if status_node == 'ready':
- status = manager.NodeStatus.STATUS_OK
- proxy = {'ip': self.installer_ip,
- 'username': self.installer_user,
- 'password': self.installer_pwd}
- ssh_client = ssh_utils.get_ssh_client(hostname=ip,
- username='root',
- proxy=proxy)
- elif 'error' in status_node:
- status = manager.NodeStatus.STATUS_ERROR
- elif 'off' in status_node:
- status = manager.NodeStatus.STATUS_OFFLINE
- elif 'discover' in status_node:
- status = manager.NodeStatus.STATUS_UNUSED
- else:
- status = manager.NodeStatus.STATUS_INACTIVE
-
+ try:
+ yaml_output = safe_load(output)
+ except YAMLError as exc:
+ LOGGER.error(exc)
+ for node_name in yaml_output.keys():
+ ip_addr = yaml_output[node_name]['_param:pxe_admin_address']
+ ssh_client = ssh_utils.get_ssh_client(hostname=ip_addr,
+ username='ubuntu',
+ pkey_file=self.pkey_file)
node = manager.Node(
- id, ip, name, status, roles, ssh_client, dict)
- if options and options['cluster']:
- if fields[index_cluster].strip() == options['cluster']:
- nodes.append(node)
- else:
- nodes.append(node)
+ id=node_name,
+ ip=ip_addr,
+ name=node_name,
+ status=manager.NodeStatus.STATUS_OK,
+ roles=[_map[x] for x in _map if yaml_output[node_name][x]],
+ ssh_client=ssh_client)
+ nodes.append(node)
- self.get_nodes_called = True
return nodes
def get_openstack_version(self):
- cmd = 'source openrc;nova-manage version 2>/dev/null'
- version = None
- for node in self.nodes:
- if node.is_controller() and node.is_active():
- version = node.run_cmd(cmd)
- break
- return version
+ '''
+ Returns a string of the openstack version (nova-compute)
+ '''
+ cmd = ("sudo salt -C 'I@nova:controller and *01*' "
+ "cmd.run 'nova-manage version 2>/dev/null' --out yaml --static")
+ nova_version = self.installer_node.run_cmd(cmd)
+ if nova_version:
+ return nova_version.split(' ')[-1]
+ return None
def get_sdn_version(self):
- cmd = "apt-cache policy opendaylight|grep Installed"
+ '''
+ Returns a string of the sdn controller and its version, if exists
+ '''
+ cmd = ("sudo salt -C 'I@opendaylight:server and *01*'"
+ "pkg.version opendaylight --out yaml --static")
version = None
for node in self.nodes:
if manager.Role.ODL in node.roles and node.is_active():
- odl_version = node.run_cmd(cmd)
+ odl_version = self.installer_node.run_cmd(cmd)
if odl_version:
version = 'OpenDaylight ' + odl_version.split(' ')[-1]
break
return version
def get_deployment_status(self):
- cmd = "fuel env|tail -1|awk '{print $3}'"
- result = self.installer_node.run_cmd(cmd)
- if result is None or len(result) == 0:
- return 'unknown'
- elif 'operational' in result:
- return 'active'
- elif 'deploy' in result:
- return 'deploying'
- else:
- return 'active'
+ '''
+ Returns a string of the status of the deployment
+ '''
+ # NOTE: Requires Fuel-side signaling of deployment status, stub it
+ return 'active'
Returns the ovs version installed
'''
if self.is_active():
- cmd = "ovs-vsctl --version|head -1| sed 's/^.*) //'"
- return self.run_cmd(cmd)
+ cmd = "ovs-vsctl --version 2>/dev/null|head -1| sed 's/^.*) //'"
+ return self.run_cmd(cmd) or None
return None
def get_system_info(self):
'''
- Returns the ovs version installed
+ Returns system information
'''
cmd = 'grep MemTotal /proc/meminfo'
memory = self.run_cmd(cmd).partition('MemTotal:')[-1].strip().encode()
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
#
-# Usage example:
+# Usage example (note: Fuel actually uses key-based auth, not user/pass):
# from opnfv.utils.Credentials import Credentials as credentials
-# credentials("fuel", "10.20.0.2", "root", "r00tme").fetch('./openrc')
+# credentials("fuel", "10.20.0.2", "user", "password").fetch('./openrc')
#
import os
pass
def __fetch_creds_fuel(self, target_path):
- creds_file = '/root/openrc'
- try:
- self.handler.get_file_from_controller(creds_file, target_path)
- except Exception as e:
- self.logger.error(
- "Cannot get %s from controller. %e" % (creds_file, e))
+ # TODO
pass
def __fetch_creds_joid(self, target_path):
client = paramiko.SSHClient()
else:
client = ProxyHopClient()
+ proxy_password = proxy.get('password', None)
proxy_pkey_file = proxy.get('pkey_file', '/root/.ssh/id_rsa')
client.configure_jump_host(proxy['ip'],
proxy['username'],
- proxy['password'],
+ proxy_password,
proxy_pkey_file)
if client is None:
raise Exception('Could not connect to client')
paramiko>=2.0 # LGPLv2.1+
mock>=2.0 # BSD
requests>=2.14.2 # Apache-2.0
+pyyaml>=3.11 # MIT
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: apex
+project-type: installer
+release-model: stable
+upstream: https://wiki.openstack.org/wiki/TripleO
+
+branches:
+ - name: stable/gambia
+ location:
+ apex: 82bf9da27ea0c973068720d440e3391084e8a9d9
--- /dev/null
+---
+project: auto
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ auto: 1a2260efe5d15f95b8fa778a9ee8023121facd7e
--- /dev/null
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ barometer: 9ac248a08de1f197bafbabbf43175b30ab19ec32
--- /dev/null
+---
+project: bottlenecks
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ bottlenecks: 399ec2f328f56c1f81c454ecedfb6b99eaf93c42
--- /dev/null
+---
+project: clover
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ clover: ee2169ee4b8fb3539ad173fbc1557b54b2f2216f
--- /dev/null
+---
+project: compass4nfv
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ compass4nfv: 33f94b43639dbe37b7e8e2b5eeb4c65064207c6b
+ - name: stable/gambia
+ location:
+ compass-containers: 20e229822b31b03e1120c3e5efd4ba131261617e
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 Nokia Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: doctor
+project-type: feature
+release-model: stable
+
+releases:
+ - version: opnfv-7.0.0
+ location:
+ doctor: 3ddc2392b0ed364eede49ff006d64df3ea456350
+
+branches:
+ - name: stable/gambia
+ location:
+ doctor: 3ddc2392b0ed364eede49ff006d64df3ea456350
project-type: testing
release-model: stable
+releases:
+ - version: opnfv-7.0.0
+ location:
+ functest: b7f9b53a34cd8ffcc9df4d2f286e55e13adb4a58
+ - version: opnfv-7.0.0
+ location:
+ functest-kubernetes: fd5c939094244458aea31ead8c6519da95266c2a
+
branches:
- name: stable/gambia
location:
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: ipv6
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ ipv6: e36f753cf6e9ab0c02a400b6bac5c79b48268d44
--- /dev/null
+---
+project: opnfvdocs
+project-type: infra
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ opnfvdocs: c89a5b35e81cf085bba892b230ca4516a92ffd57
--- /dev/null
+---
+project: ovn4nfv
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ ovn4nfv: 9301afc8b3d9314ba19b464b8a7eb3cb7fa3bd7e
--- /dev/null
+---
+project: samplevnf
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ samplevnf: 4d59d3530d1c41734f15423142e64eb9c929c717
--- /dev/null
+---
+project: sdnvpn
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ sdnvpn: c05105a4f9f51f7bb31cad791e65d664e5a3bc4b
--- /dev/null
+---
+project: sfc
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ sfc: 77bdb6a79a506f91959070dc8ff28949f2dff825
--- /dev/null
+---
+project: stor4nfv
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ stor4nfv: cefd1d0854ee948acc7147834146914983a11556
--- /dev/null
+---
+project: storperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/gambia
+ location:
+ storperf: 4aba838a07f5cd7dbd6d606c34f688e647a5d890
project-type: testing
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ functest: a3355e22585c66823c430d6adcdef8dddacb33a1
+ - version: opnfv-8.0.0
+ location:
+ functest-kubernetes: ec2bf0e8bd1b4d3b2c4e2894820d2cbb454e36e7
+
branches:
- name: stable/hunter
location:
[testenv:jjb]
deps =
- jenkins-job-builder==2.0.3
+ jenkins-job-builder==2.5.0
commands=
jenkins-jobs test -o job_output -r {posargs:"jjb/"}
when: ansible_distribution == "CentOS"
- include: vars/docker-compose-Ubuntu.yml
when: ansible_distribution == "Ubuntu"
+ - name: Install manifest-tool
+ get_url:
+ url: '{{ manifest_tool_url }}/{{ manifest_tool_version }}/manifest-tool-linux-{{ facter_architecture }}'
+ dest: '{{ manifest_tool_bin_dir }}/manifest-tool'
+ mode: '755'
- xmlstarlet
- facter
- jq
+ - python-tox
+ - collectd-dev
+ - python3
+ - python3-dev
+ - libdpdk-dev
+ - dpdk-dev
+ - fakeroot
+ - devscripts
+ - debhelper
+ - dpkg-dev
+ - po-debconf
+ - dh-systemd
+ - dh-strip-nondeterminism
+ - autotools-dev
+ - libltdl-dev
+ - iptables-dev
+ - javahelper
+ - libatasmart-dev
+ - libcap-dev
+ - libcurl4-gnutls-dev
+ - libdbi0-dev
+ - libesmtp-dev
+ - libganglia1-dev
+ - libgcrypt11-dev
+ - libgps-dev
+ - libhiredis-dev
+ - libi2c-dev
+ - libldap2-dev
+ - liblua5.3-dev
+ - liblvm2-dev
+ - libmemcached-dev
+ - libmodbus-dev
+ - libmnl-dev
+ - libmosquitto-dev
+ - libmysqlclient-dev
+ - libnotify-dev
+ - libopenipmi-dev
+ - liboping-dev
+ - libow-dev
+ - libpcap0.8-dev
+ - libpcap-dev
+ - libperl-dev
+ - libpq-dev
+ - libprotobuf-c-dev
+ - libriemann-client-dev
+ - librdkafka-dev
+ - librabbitmq-dev
+ - librrd-dev
+ - libsensors4-dev
+ - libsigrok-dev
+ - libsnmp-dev
+ - libsnmp9-dev
+ - snmp
+ - snmp-mibs-downloader
+ - snmpd
+ - perl
+ - libtokyocabinet-dev
+ - libtokyotyrant-dev
+ - libudev-dev
+ - libupsclient-dev
+ - libvarnishapi-dev
+ - libvirt-dev
+ - libvirt-daemon
+ - libxen-dev
+ - libyajl-dev
+ - linux-libc-dev
+ - default-jdk
+ - protobuf-c-compiler
+ - openvswitch-switch
+ - mcelog
- name: Add Docker apt key.
apt_key:
# yamllint enable rule:line-length
docker_yum_repo_enable_edge: 0
docker_yum_repo_enable_test: 0
+
+manifest_tool_version: 'v0.7.0'
+manifest_tool_url: 'https://github.com/estesp/manifest-tool/releases/download'
+manifest_tool_bin_dir: '/usr/local/bin'
'ericsson-virtual4' 'ericsson-virtual5' \
'arm-pod5' 'arm-pod6' \
'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' \
-'huawei-pod6' 'huawei-pod7' 'huawei-pod12' \
+'huawei-pod6' 'huawei-pod7' 'huawei-pod12' 'huawei-pod8' \
'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4' \
'huawei-virtual5' 'huawei-virtual8' 'huawei-virtual9' \
'zte-pod2' 'zte-pod3' 'zte-pod9' \