Add zte-pod2 CI jobs
[releng.git] / jjb / qtip / qtip-ci-jobs.yml
1 ####################################
2 # job configuration for qtip
3 ####################################
4 - project:
5     name: qtip-ci-jobs
6
7     project: 'qtip'
8
9 #--------------------------------
10 # BRANCH ANCHORS
11 #--------------------------------
12     master: &master
13         stream: master
14         branch: '{stream}'
15         gs-pathname: ''
16     brahmaputra: &brahmaputra
17         stream: brahmaputra
18         branch: 'stable/{stream}'
19         gs-pathname: '{stream}'
20 #--------------------------------
21 # POD, INSTALLER, AND BRANCH MAPPING
22 #--------------------------------
23 #        brahmaputra
24 #--------------------------------
25     pod:
26         - dell-pod1:
27             installer: compass
28             auto-trigger-name: 'qtip-daily-dell-pod1-trigger'
29             <<: *brahmaputra
30         - orange-pod2:
31             installer: joid
32             auto-trigger-name: 'daily-trigger-disabled'
33             <<: *brahmaputra
34 #--------------------------------
35 #        master
36 #--------------------------------
37         - juniper-pod1:
38             installer: joid
39             <<: *master
40             auto-trigger-name: 'daily-trigger-disabled'
41         - zte-pod1:
42             installer: fuel
43             auto-trigger-name: 'daily-trigger-disabled'
44             <<: *master
45         - zte-pod2:
46             installer: fuel
47             auto-trigger-name: 'qtip-daily-zte-pod2-trigger'
48             <<: *master
49
50 #--------------------------------
51     jobs:
52         - 'qtip-{installer}-{pod}-daily-{stream}'
53
54 ################################
55 # job templates
56 ################################
57 - job-template:
58     name: 'qtip-{installer}-{pod}-daily-{stream}'
59
60     disabled: false
61
62     parameters:
63         - project-parameter:
64             project: '{project}'
65         - '{installer}-defaults'
66         - '{pod}-defaults'
67         - string:
68             name: DEPLOY_SCENARIO
69             default: 'os-nosdn-nofeature-ha'
70
71     scm:
72         - git-scm:
73               credentials-id: '{ssh-credentials}'
74               refspec: ''
75               branch: '{branch}'
76
77     triggers:
78         - '{auto-trigger-name}'
79
80     builders:
81         - 'qtip-cleanup'
82         - 'qtip-set-env'
83         - 'qtip-run-suite'
84         - 'qtip-pushtoDB'
85
86     publishers:
87         - email:
88             recipients: nauman.ahad@xflowresearch.com, mofassir.arif@xflowresearch.com, vikram@nvirters.com, zhang.yujunz@zte.com.cn
89
90 ###########################
91 #biuilder macros
92 ###########################
93 - builder:
94     name: qtip-set-env
95     builders:
96         - shell: |
97             #!/bin/bash
98             echo "Qtip: Start Docker and prepare environment"
99             envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
100             suite="TEST_CASE=all"
101             dir_imgstore="${HOME}/imgstore"
102             img_volume="${dir_imgstore}:/home/opnfv/imgstore"
103             docker pull opnfv/qtip:latest
104             cmd=" docker run -id -e $envs -e $suite -v ${img_volume} opnfv/qtip:latest /bin/bash"
105             echo "Qtip: Running docker run command: ${cmd}"
106             ${cmd}
107             docker ps -a
108             container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
109              if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
110                 echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
111                 exit 1
112             fi
113 - builder:
114     name: qtip-run-suite
115     builders:
116         - shell: |
117             #!/bin/bash
118             container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
119             if [[ ! -z ${container_id} ]]; then
120                 echo "The container ID is: ${container_id}"
121                 QTIP_REPO=/home/opnfv/repos/qtip
122                 docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
123             else
124                 echo "Container ID not available"
125             fi
126
127 - builder:
128     name: qtip-pushtoDB
129     builders:
130         - shell: |
131             #!/bin/bash
132
133             echo "Pushing available results to DB"
134             echo "The container id is:"
135             container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
136             if [[ ! -z ${container_id} ]]; then
137                 echo "The condiner ID is: ${container_id}"
138                 QTIP_REPO=/home/opnfv/repos/qtip
139                 docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh
140             else
141                 echo "Container ID not available"
142             fi
143
144 - builder:
145     name: qtip-cleanup
146     builders:
147         - shell: |
148             #!/bin/bash
149
150             echo "Cleaning up QTIP  docker containers/images..."
151             # Remove previous running containers if exist
152             if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
153                 echo "Removing existing opnfv/qtip containers..."
154                 running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}')
155                 docker stop ${running_containers}
156                 all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}')
157                 docker rm ${all_containers}
158             fi
159
160             # Remove existing images if exist
161             if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then
162                 echo "Docker images to remove:"
163                 docker images | head -1 && docker images | grep opnfv/qtip
164                 image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}'))
165                 for tag in "${image_tags[@]}"; do
166                     echo "Removing docker image opnfv/qtip:$tag..."
167                     docker rmi opnfv/qtip:$tag
168                 done
169             fi
170
171 #################
172 #trigger macros
173 #################
174
175 - trigger:
176     name: 'qtip-daily-dell-pod1-trigger'
177     triggers:
178         - timed: '0 3 * * *'
179
180 #- trigger:
181 #    name: 'qtip-daily-juniper-pod1-trigger'
182 #    triggers:
183 #        - timed : '0 0 * * *'
184
185 #- trigger:
186 #   name: 'qtip-dailty-orange-pod2-trigger'
187 #   triggers:
188 #       - timed : ' 0 0 * * *'
189
190 - trigger:
191     name: 'qtip-daily-zte-pod2-trigger'
192     triggers:
193         - timed: '0 5 * * *'
194