node: 'opnfv-jump-2'
installer_type: 'fuel'
installer_ip: '10.20.0.2'
- functest_repo_dir: '/home/opnfv/repos/functest'
- foreman:
node: 'opnfv-jump-2'
installer_type: 'foreman'
installer_ip: '172.30.10.73'
- functest_repo_dir: '/home/opnfv/repos/functest'
+ - apex:
+ node: 'opnfv-jump-1'
+ installer_type: 'apex'
+ installer_ip: '192.168.X.X'
pod:
- orange-build:
node: 'orange-build'
installer_type: 'foreman'
installer_ip: '172.30.10.73'
- functest_repo_dir: '/home/opnfv/repos/functest'
jobs:
- 'set-functest-env-{pod}'
- job-template:
name: set-functest-env-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'set-functest-env'
-
-
- job-template:
name: clean-functest-env-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'functest-cleanup'
-
- job-template:
name: set-functest-env-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
logrotate:
builders:
- 'set-functest-env'
-
- job-template:
name: clean-functest-env-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
logrotate:
- job-template:
name: functest-openstack-bench-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'functest-rally-bench'
-
- job-template:
name: functest-openstack-tempest-smoke-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
- job-template:
name: functest-odl-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
- shell: |
- 'functest-odl'
-
- job-template:
name: functest-vping-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'functest-vping'
-
- job-template:
name: functest-{pod}
- project-type: freestyle
-
node: '{pod}'
parameters:
- project-parameter:
project: '{project}'
+ - functest-parameter
- string:
name: INSTALLER_TYPE
default: '{installer_type}'
name: INSTALLER_IP
default: '{installer_ip}'
description: "Installer IP."
- - string:
- name: FUNCTEST_REPO_DIR
- default: '{functest_repo_dir}'
- description: "Directory where the root functest repo is cloned in the docker."
- '{pod}'
scm:
- job-template:
name: functest-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
parameters:
- project-parameter:
project: '{project}'
+ - functest-parameter
- string:
name: INSTALLER_TYPE
default: '{installer_type}'
name: INSTALLER_IP
default: '{installer_ip}'
description: "Installer IP."
- - string:
- name: FUNCTEST_REPO_DIR
- default: '{functest_repo_dir}'
- description: "Directory where the root functest repo is cloned in the docker."
- string:
name: GIT_BASE
default: ssh://gerrit.opnfv.org:29418/$PROJECT
- job-template:
name: functest-vims-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
parameters:
- project-parameter:
project: '{project}'
+ - functest-parameter
- string:
name: INSTALLER_TYPE
default: '{installer_type}'
name: INSTALLER_IP
default: '{installer_ip}'
description: "Installer IP."
- - string:
- name: FUNCTEST_REPO_DIR
- default: '{functest_repo_dir}'
- description: "Directory where the root functest repo is cloned in the docker."
- string:
name: GIT_BASE
default: ssh://gerrit.opnfv.org:29418/$PROJECT
- job-template:
name: 'functest-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
logrotate:
refspec: ''
branch: '{stream}'
- wrappers:
- - ssh-agent-credentials:
- user: '{ssh-credentials}'
-
triggers:
- 'functest-{stream}'
- job-template:
name: 'functest-verify-{stream}'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
- wrappers:
- - ssh-agent-credentials:
- user: '{ssh-credentials}'
-
triggers:
- gerrit:
trigger-on:
- job-template:
name: 'functest-merge-{stream}'
- node: master
-
# builder-merge job to run JJB update
#
# This job's purpose is to update all the JJB
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 40
refspec: ''
choosing-strategy: 'default'
- wrappers:
- - ssh-agent-credentials:
- user: '{ssh-credentials}'
-
triggers:
- gerrit:
trigger-on:
name: GS_PATHNAME
default: '{gs-pathname}'
description: "Version directory where the opnfv documents will be stored in gs repository"
+ - string:
+ name: FUNCTEST_REPO_DIR
+ default: "/home/opnfv/repos/functest"
+ description: "Directory where the Functest repository is cloned"
- parameter:
name: orange-build
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
- builder:
name: set-functest-env
builders:
- shell: |
#!/bin/bash
set +e
-
+ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
+ INSTALLER_IP=$(cat instack /var/lib/libvirt/dnsmasq/default.leases \
+ |sed 's/.*192/192/g' | sed 's/\ in.*//g')
+ fi
echo "Functest: Start Docker and prepare environment"
envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
docker pull opnfv/functest:latest_stable
echo "Executing command inside the docker: ${cmd}"
docker exec ${container_id} ${cmd}
-
- builder:
name: functest-vping
builders:
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
-
- builder:
name: functest-rally-bench
builders:
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
- builder:
name: functest-vims
builders:
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
-
- builder:
name: functest-store-results
builders:
builders:
- shell: |
#!/bin/bash
- set +e
- # cleanup: remove any docker containers leftovers
- echo "Removing existing Functest Docker containers..."
- docker rm -f $(docker ps | grep opnfv/functest | awk '{print $1}')
- echo "Removing existing Functest Docker image..."
- docker rmi -f $(docker images | grep opnfv/functest | awk '{print $3}')
+ echo "Cleaning up docker containers/images..."
+
+ # Remove previous running containers if exist
+ if [[ ! -z $(docker ps -a | grep opnfv/functest) ]]; then
+ echo "Removing existing opnfv/functest containers..."
+ docker ps | grep opnfv/functest | awk '{print $1}' | xargs docker stop
+ docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm
+ fi
+
+ # Remove existing images if exist
+ if [[ ! -z $(docker images | grep opnfv/functest) ]]; then
+ echo "Docker images to remove:"
+ docker images | head -1 && docker images | grep opnfv/functest
+ image_tags=($(docker images | grep opnfv/functest | awk '{print $2}'))
+ for tag in "${image_tags[@]}"; do
+ echo "Removing docker image opnfv/functest:$tag..."
+ docker rmi opnfv/functest:$tag
+ done
+ fi