+########################
+# parameter macros
+########################
+- parameter:
+ name: functest-parameter
+ parameters:
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where the opnfv documents will be stored in gs repository"
+
+- parameter:
+ name: orange-build
+ parameters:
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Override GIT_BASE"
+
+- parameter:
+ name: opnfv-jump-1
+ parameters:
+ - string:
+ name: GIT_BASE
+ default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ description: "Override GIT_BASE"
+
+- parameter:
+ name: opnfv-jump-2
+ parameters:
+ - string:
+ name: GIT_BASE
+ default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ description: "Override GIT_BASE"
+########################
+# trigger macros
+########################
+- trigger:
+ name: 'functest-master'
+ triggers:
+ - pollscm: "H 9 * * *"
+
+- trigger:
+ name: 'functest-stable-arno'
+ triggers:
+ - pollscm: "H 21 * * *"
+
+########################
+# builder macros
+########################
+# macros
+- builder:
+ name: functest-all
+ builders:
+ - shell: |
+ #!/bin/bash
+ set +e
+
+ echo "Functest: running all the tests"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh"
+ 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
+
+ echo "Functest: Start Docker and prepare environment"
+ envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
+ docker pull opnfv/functest:latest_stable
+ echo "Functest: Running docker run command: docker run -i -e $envs opnfv/functest /bin/bash &"
+ docker run -i -e $envs opnfv/functest /bin/bash &
+ docker ps -a
+ sleep 5
+ container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ echo "Container ID=${container_id}"
+ if [ -z ${container_id} ]; then
+ echo "Cannot find opnfv/functest container ID ${container_id}. Please check if it is existing."
+ docker ps -a
+ exit 1
+ fi
+ echo "Starting the container: docker start ${container_id}"
+ docker start ${container_id}
+ sleep 5
+ docker ps
+ if [ $(docker ps | grep opnfv/functest | wc -l) == 0 ]; then
+ echo "The container opnfv/functest with ID=${container_id} has not been properly started. Exiting..."
+ exit 1
+ fi
+ cmd="${FUNCTEST_REPO_DIR}/docker/prepare_env.sh"
+ echo "Executing command inside the docker: ${cmd}"
+ docker exec ${container_id} ${cmd}
+
+
+- builder:
+ name: functest-vping
+ builders:
+ - shell: |
+ #!/bin/bash
+ set +e
+
+ echo "Functest: run vPing"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test vping"
+ container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ docker exec $container_id $cmd
+
+- builder:
+ name: functest-odl
+ builders:
+ - shell: |
+ #!/bin/bash
+ set +e
+
+ echo "Functest: run ODL suite"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test odl"
+ container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ docker exec $container_id $cmd
+
+- builder:
+ name: functest-tempest-smoke
+ builders:
+ - shell: |
+ #!/bin/bash
+ set +e
+
+ # tempest
+ echo "Functest: run Tempest suite"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test tempest"
+ container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ docker exec $container_id $cmd
+
+
+
+- builder:
+ name: functest-rally-bench
+ builders:
+ - shell: |
+ #!/bin/bash
+ set +e
+
+ echo "Functest: run Functest Rally Bench suites"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test rally"
+ container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ docker exec $container_id $cmd
+
+
+- builder:
+ name: functest-vims
+ builders:
+ - shell: |
+ #!/bin/bash
+ set +e
+
+ echo "Functest: run Functest vIMS test"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test vims"
+ container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ docker exec $container_id $cmd
+
+
+
+- builder:
+ name: functest-store-results
+ builders:
+ - shell:
+ !include-raw res-build.sh
+
+- builder:
+ name: functest-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+
+ 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