1 ###################################
2 # job configuration for functest
3 ###################################
18 - huawei-us-deploy-bare-1:
19 installer: compass4nfv
25 suitename: 'functest-daily'
27 suitename: 'functest-suite'
29 suitename: 'functest-suite'
31 suitename: 'functest-suite'
33 suitename: 'functest-suite'
35 suitename: 'functest-suite'
38 - 'functest-{installer}-{pod}-{suite}-{stream}'
39 - 'functest-verify-{stream}'
46 # branch: 'stable/brahmaputra'
47 # gs-pathname: '/brahmaputra'
49 ################################
51 ################################
53 name: 'functest-{installer}-{pod}-{suite}-{stream}'
59 - '{installer}-defaults'
61 name: FUNCTEST_SUITE_NAME
67 credentials-id: '{ssh-credentials}'
75 name: 'functest-verify-{stream}'
84 credentials-id: '{ssh-credentials}'
85 refspec: '$GERRIT_REFSPEC'
86 choosing-strategy: 'gerrit'
91 - patchset-created-event:
92 exclude-drafts: 'false'
93 exclude-trivial-rebase: 'false'
94 exclude-no-code-change: 'false'
95 - draft-published-event
96 - comment-added-contains-event:
97 comment-contains-value: 'recheck'
98 - comment-added-contains-event:
99 comment-contains-value: 'reverify'
101 - project-compare-type: 'ANT'
102 project-pattern: 'functest'
104 - branch-compare-type: 'ANT'
105 branch-pattern: '**/{branch}'
109 echo "Nothing to verify!"
111 ########################
113 ########################
115 name: functest-parameter
119 default: '{gs-pathname}'
120 description: "Version directory where the opnfv documents will be stored in gs repository"
122 name: FUNCTEST_REPO_DIR
123 default: "/home/opnfv/repos/functest"
124 description: "Directory where the Functest repository is cloned"
125 ########################
127 ########################
129 name: 'functest-master'
131 - pollscm: "H 9 * * *"
132 ########################
134 ########################
141 # - 'functest-store-results'
150 echo "Functest: run $FUNCTEST_SUITE_NAME"
151 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test $FUNCTEST_SUITE_NAME"
152 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
153 docker exec $container_id $cmd
162 echo "Functest: running all the tests"
163 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh"
164 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
165 docker exec $container_id $cmd
168 name: set-functest-env
173 if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
174 INSTALLER_IP=$(grep instack /var/lib/libvirt/dnsmasq/default.leases \
175 |awk '{print $3}' | head -n 1)
176 sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
178 echo "Functest: Start Docker and prepare environment"
179 envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
181 # If production lab then creds may be retrieved dynamically
182 # If dev lab, credentials may not be the default ones, just provide a path to put them into docker
183 if [ -n "${LAB_CONFIG}" ]; then
184 labconfig="-v ${LAB_CONFIG}:/home/opnfv/functest/conf/openstack.creds"
187 docker pull opnfv/functest:latest_stable
188 cmd="docker run -id -e $envs ${labconfig} ${sshkey} opnfv/functest:latest_stable /bin/bash"
189 echo "Functest: Running docker run command: ${cmd}"
193 container_id=$(docker ps | grep 'opnfv/functest:latest_stable' | awk '{print $1}' | head -1)
194 echo "Container ID=${container_id}"
195 if [ -z ${container_id} ]; then
196 echo "Cannot find opnfv/functest container ID ${container_id}. Please check if it is existing."
200 echo "Starting the container: docker start ${container_id}"
201 docker start ${container_id}
204 if [ $(docker ps | grep 'opnfv/functest:latest_stable' | wc -l) == 0 ]; then
205 echo "The container opnfv/functest with ID=${container_id} has not been properly started. Exiting..."
208 cmd="${FUNCTEST_REPO_DIR}/docker/prepare_env.sh"
209 echo "Executing command inside the docker: ${cmd}"
210 docker exec ${container_id} ${cmd}
213 name: functest-store-results
216 !include-raw res-build.sh
219 name: functest-cleanup
224 echo "Cleaning up docker containers/images..."
226 # Remove previous running containers if exist
227 if [[ ! -z $(docker ps -a | grep opnfv/functest) ]]; then
228 echo "Removing existing opnfv/functest containers..."
229 docker ps | grep opnfv/functest | awk '{print $1}' | xargs docker stop
230 docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm
233 # Remove existing images if exist
234 if [[ ! -z $(docker images | grep opnfv/functest) ]]; then
235 echo "Docker images to remove:"
236 docker images | head -1 && docker images | grep opnfv/functest
237 image_tags=($(docker images | grep opnfv/functest | awk '{print $2}'))
238 for tag in "${image_tags[@]}"; do
239 echo "Removing docker image opnfv/functest:$tag..."
240 docker rmi opnfv/functest:$tag