- orange-pod2:
<<: *master
#--------------------------------
-# please check the triggers before enabling any of the controllers!!!
- sdn-controller:
- - 'odl':
- disabled: false
-# commented out below controllers to get Arno scenario settled first
-# - 'nosdn':
-# disabled: true
- - 'onos':
- disabled: false
-# - 'opencontrail':
-# disabled: true
+# new scenario descriptions
+ scenario:
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-odl_l2-nofeature-ha':
+ auto-trigger-name: 'joid-{scenario}-{pod}-trigger'
+ - 'os-odl_l2-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-onos-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-onos-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-ocl-nofeature-ha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+ - 'os-ocl-nofeature-noha':
+ auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
jobs:
- - 'joid-{sdn-controller}-{pod}-daily-{stream}'
+ - 'joid-{scenario}-{pod}-daily-{stream}'
- 'joid-deploy-{pod}-daily-{stream}'
########################
# job templates
########################
- job-template:
- name: 'joid-{sdn-controller}-{pod}-daily-{stream}'
+ name: 'joid-{scenario}-{pod}-daily-{stream}'
project-type: multijob
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - 'joid-{pod}-{sdn-controller}-trigger'
+ - '{auto-trigger-name}'
parameters:
- project-parameter:
project: '{project}'
- '{installer}-defaults'
- '{pod}-defaults'
- - string:
- name: SDN_CONTROLLER
- default: '{sdn-controller}'
- string:
name: DEPLOY_SCENARIO
- default: 'none'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
+ default: '{scenario}'
builders:
- multijob:
projects:
- name: 'joid-deploy-{pod}-daily-{stream}'
current-parameters: true
- git-revision: true
kill-phase-on: FAILURE
- multijob:
name: functest
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- timeout:
timeout: 180
fail: true
# trigger macros
########################
- trigger:
- name: 'joid-intel-pod5-odl-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-intel-pod5-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'joid-intel-pod6-odl-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-intel-pod6-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'joid-orange-pod2-odl-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-intel-pod5-onos-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-intel-pod6-onos-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-orange-pod2-onos-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-trigger'
triggers:
- timed: ''
## Configure Joid deployment
##
-# Get juju deployer file
-if [ "$HA_MODE" == 'nonha' ]; then
- SRCBUNDLE=$WORKSPACE/ci/$SDN_CONTROLLER/juju-deployer/ovs-$SDN_CONTROLLER.yaml
+# Based on scenario naming we can get joid options
+# naming convention:
+# os-<controller>-<nfvfeature>-<mode>[-<extrastuff>]
+# With parameters:
+# controller=(nosdn|odl_l3|odl_l2|onos|ocl)
+# No odl_l3 today
+# nfvfeature=(kvm|ovs|dpdk|nofeature)
+# '_' list separated.
+# mode=(ha|noha)
+# extrastuff=(none)
+# Optional field - Not used today
+
+IFS='-' read -r -a DEPLOY_OPTIONS <<< "${DEPLOY_SCENARIO}--"
+#last -- need to avoid nounset error
+
+SDN_CONTROLLER=${DEPLOY_OPTIONS[1]}
+NFV_FEATURES=${DEPLOY_OPTIONS[2]}
+HA_MODE=${DEPLOY_OPTIONS[3]}
+EXTRA=${DEPLOY_OPTIONS[4]}
+
+# Get the juju config path with those options, later we will directly use
+# scenario name
+case $SDN_CONTROLLER in
+ odl_l2)
+ SRCBUNDLE="ovs-odl"
+ ;;
+ onos)
+ SRCBUNDLE="onos"
+ ;;
+ ocl)
+ SRCBUNDLE="contrail"
+ SDN_CONTROLLER="opencontrail"
+ ;;
+ *)
+ SRCBUNDLE="ovs"
+ echo "${SDN_CONTROLLER} not in SDN controllers list, using 'nosdn' setting"
+ SDN_CONTROLLER="nosdn"
+ ;;
+ esac
+SRCBUNDLE="${WORKSPACE}/ci/${SDN_CONTROLLER}/juju-deployer/${SRCBUNDLE}"
+if [ "$HA_MODE" == 'noha' ]; then
+ SRCBUNDLE="${SRCBUNDLE}.yaml"
+ HA_MODE == 'nonha'
else
- SRCBUNDLE=$WORKSPACE/ci/$SDN_CONTROLLER/juju-deployer/ovs-$SDN_CONTROLLER-$HA_MODE.yaml
+ SRCBUNDLE="${SRCBUNDLE}-${HA_MODE}.yaml"
fi
# Modify files
name: INSTALLER_TYPE
default: joid
description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: SDN_CONTROLLER
- default: 'nosdn'
- description: 'SDN Controller to use'
- string:
name: DEPLOY_SCENARIO
default: 'none'
description: 'Scenario to deploy and test'
- - string:
- name: HA_MODE
- default: 'ha'
- description: 'High Availability mode (ha|nonha)'
- string:
name: OS_RELEASE
default: 'liberty'
# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep $DOCKER_REPO_NAME) ]]; then
echo "Removing existing $DOCKER_REPO_NAME containers..."
- #docker ps | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker stop
- docker ps -a | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker rm -f
+ #docker ps | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker stop
+ docker ps -a | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker rm -f
t=60
# Wait max 60 sec for containers to be removed
- while [ $t -gt 0 ]; do
- ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{{print $1}}')
+ while [[ $t -gt 0 ]]; do
+ ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{print $1}')
if [[ -z $ids ]]; then
break
fi
if [[ ! -z $(docker images | grep $DOCKER_REPO_NAME) ]]; then
echo "Docker images to remove:"
docker images | head -1 && docker images | grep $DOCKER_REPO_NAME
- image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{{print $2}}'))
- for tag in "${{image_tags[@]}}"; do
+ image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $2}'))
+ for tag in "${image_tags[@]}"; do
echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
docker rmi -f $DOCKER_REPO_NAME:$tag
done
fi
# Get tag version
-branch=$(git rev-parse --abbrev-ref HEAD)
+branch="${GIT_BRANCH##origin/}"
echo "Current branch: $branch"
-if [ $branch == "master" ]; then
+if [[ "$branch" == "master" ]]; then
DOCKER_TAG="master"
else
git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng
-n $DOCKER_REPO_NAME)
ret_val=$?
- if [ $ret_val -ne 0 ]; then
+ if [[ $ret_val -ne 0 ]]; then
echo "Error retrieving the version tag."
exit 1
fi
builders:
- shell:
- !include-raw ./opnfv-docker.sh
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- pollscm:
name: qtip-run-suite
builders:
- shell: |
- #!/bin/bash
+ #!/bin/basih
+ echo "The container id is:"
+ container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
+ echo $container_id
QTIP_REPO=/home/opnfv/repos/qtip
docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
echo "Removing existing opnfv/qtip containers..."
- running_containers= $(docker ps | grep opnfv/qtip | awk '{print $1}')
+ running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}')
docker stop ${running_containers}
- all_containers= $(docker ps -a | grep opnfv/qtip | awk '{print $1}')
+ all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}')
docker rm ${all_containers}
fi
timeout: 360
fail: true
+- trigger:
+ name: 'brahmaputra-trigger-daily-disabled'
+ triggers:
+ - timed: ''
+
+- trigger:
+ name: 'brahmaputra-trigger-daily-enabled'
+ triggers:
+ - timed: '0 2 * * *'
+
- trigger:
name: gerrit-trigger-patch-submitted
triggers: