Merge "Add high-frequency csit template"
[releng/builder.git] / jjb / netvirt / netvirt-full-integration.yaml
1 ---
2 - project:
3     name: netvirt-full-integration
4     jobs:
5       - 'netvirt-daily-full-integration-{stream}'
6
7     stream:
8       - nitrogen:
9           branch: 'master'
10           jre: 'openjdk8'
11       - carbon:
12           branch: 'stable/carbon'
13           jdk: openjdk8
14           jdks:
15             - openjdk8
16       - boron:
17           branch: 'stable/boron'
18           jdk: openjdk8
19           jdks:
20             - openjdk8
21       - beryllium:
22           branch: 'stable/beryllium'
23           jdk: openjdk8
24           jdks:
25             - openjdk8
26
27     project: 'netvirt'
28     archive-artifacts: '*.log **/target/surefire-reports/*.txt'
29
30 - builder:
31     name: netvirt-run-it-external-docker
32     builders:
33       - maven-target:
34           maven-version: '{maven-version}'
35           pom: '{pomFile}'
36           goals: >
37               -V -B verify -l {logfile} -Pintegrationtest
38               -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true
39               -Dovsdb.controller.address=${{CONTROLLER_IP}}
40               -Dmaven.test.failure.ignore=true
41           properties:
42             - 'ovsdbserver.ipaddress=127.0.0.1'
43             - 'ovsdbserver.port=6641'
44             - 'ovsdb.userspace.enabled=yes'
45             - 'maven.repo.local=/tmp/r'
46             - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
47             - 'stream={stream}'
48           java-opts:
49             - '-Xmx1024m -XX:MaxPermSize=256m'
50           settings: 'netvirt-settings'
51           settings-type: cfp
52           global-settings: 'odl-global-settings'
53           global-settings-type: cfp
54
55 - builder:
56     name: netvirt-run-it-dockerOvs
57     builders:
58       - maven-target:
59           maven-version: '{maven-version}'
60           pom: '{pomFile}'
61           goals: >
62               -V -B verify -l {logfile} -Pintegrationtest
63               -Dskip.karaf.featureTest=true -Dmaven.compile.fork=true
64               -Dovsdb.controller.address=${{CONTROLLER_IP}}
65               -Ddocker.compose.file=ovs-{OVS_VERSION}-hwvtep.yml
66               -Ddocker.vEnvWs=$WORKSPACE
67               -Dsgm=transparent
68               -Dmaven.test.failure.ignore=true
69           properties:
70             - 'maven.repo.local=/tmp/r'
71             - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
72             - 'stream={stream}'
73           java-opts:
74             - '-Xmx1024m -XX:MaxPermSize=256m'
75           settings: 'netvirt-settings'
76           settings-type: cfp
77           global-settings: 'odl-global-settings'
78           global-settings-type: cfp
79
80 - builder:
81     name: run-net-virt-it
82     builders:
83       - netvirt-run-it-dockerOvs:
84           maven-version: '{maven-version}'
85           stream: '{stream}'
86           pomFile: 'openstack/net-virt-it/pom.xml'
87           logfile: '{OVS_VERSION}-net-virt-IT.log'
88           OVS_VERSION: '{OVS_VERSION}'
89
90 - builder:
91     name: run-netvirt-sfc-it
92     builders:
93       - netvirt-run-it-external-docker:
94           maven-version: '{maven-version}'
95           stream: '{stream}'
96           pomFile: 'openstack/net-virt-sfc/it/pom.xml'
97           logfile: '{OVS_VERSION}-netvirt-sfc-IT.log'
98
99 - builder:
100     name: run-netvirt-vpnservice-it
101     builders:
102       - netvirt-run-it-dockerOvs:
103           maven-version: '{maven-version}'
104           stream: '{stream}'
105           pomFile: 'vpnservice/it/pom.xml'
106           logfile: '{OVS_VERSION}-netvirt-vpnservice-IT.log'
107           OVS_VERSION: '{OVS_VERSION}'
108
109 - builder:
110     name: install-docker-compose
111     builders:
112       - shell: |
113           virtualenv $WORKSPACE/venv
114           source $WORKSPACE/venv/bin/activate
115           pip install --upgrade pip
116           pip install docker-compose
117
118
119 - builder:
120     name: run-netvirt-it
121     builders:
122       - inject:
123           properties-content: OVS_VERSION={OVS_VERSION}
124       - shell: !include-raw-escape: include-setup-misc.sh
125       - inject:
126           properties-file: env.properties
127       - install-docker-compose
128       - run-netvirt-vpnservice-it:
129           OVS_VERSION: '{OVS_VERSION}'
130           maven-version: '{maven-version}'
131           stream: '{stream}'
132       - run-net-virt-it:
133           OVS_VERSION: '{OVS_VERSION}'
134           maven-version: '{maven-version}'
135           stream: '{stream}'
136       - shell: !include-raw-escape: include-raw-setup-docker.sh
137       - inject:
138           properties-file: env.properties
139       - run-netvirt-sfc-it:
140           OVS_VERSION: '{OVS_VERSION}'
141           maven-version: '{maven-version}'
142           stream: '{stream}'
143       - shell: !include-raw-escape: include-raw-cleanup-docker.sh
144
145 - job-template:
146     name: 'netvirt-daily-full-integration-{stream}'
147
148     project-type: freestyle
149     node: centos7-docker-2c-4g
150     concurrent: true
151     jdk: '{jdk}'
152     description: >
153         Integration tests for the Netvirt project against different versions of
154         OVS and branches. This job runs nightly.
155
156     properties:
157       - opendaylight-infra-properties:
158           build-days-to-keep: '{build-days-to-keep}'
159
160     parameters:
161       - opendaylight-infra-parameters:
162           os-cloud: '{os-cloud}'
163           project: '{project}'
164           branch: '{branch}'
165           refspec: 'refs/heads/{branch}'
166           artifacts: '{archive-artifacts}'
167
168     scm:
169       - gerrit-trigger-scm:
170           refspec: '$GERRIT_REFSPEC'
171           branch: '{branch}'
172           choosing-strategy: gerrit
173
174     wrappers:
175       - opendaylight-infra-wrappers:
176           build-timeout: '{build-timeout}'
177
178     triggers:
179       - gerrit:
180           server-name: '{server-name}'
181           trigger-on:
182             - comment-added-contains-event:
183                 comment-contains-value: 'runit'
184           projects:
185             - project-compare-type: 'ANT'
186               project-pattern: '{project}'
187               branches:
188                 - branch-compare-type: 'ANT'
189                   branch-pattern: '**/{branch}'
190           skip-vote:
191             successful: true
192             failed: true
193             unstable: true
194             notbuilt: true
195
196     builders:
197       - wipe-org-opendaylight-repo
198       - maven-target:
199           maven-version: 'mvn33'
200           pom: 'pom.xml'
201           goals: '-V -B -l build.log clean install dependency:tree -Pq -Dmaven.compile.fork=true'
202           properties:
203             - 'maven.repo.local=/tmp/r'
204             - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
205             - 'stream={stream}'
206           java-opts:
207             - '-Xmx1024m -XX:MaxPermSize=256m'
208           settings: 'netvirt-settings'
209           settings-type: cfp
210           global-settings: 'odl-global-settings'
211           global-settings-type: cfp
212       # skip 2.4.0 until we figure out conntrack
213       # - run-netvirt-it:
214       #    maven-version: 'mvn33'
215       #    stream: '{stream}'
216       #    OVS_VERSION: '2.4.0'
217       - run-netvirt-it:
218           maven-version: 'mvn33'
219           stream: '{stream}'
220           OVS_VERSION: '2.5.0'
221       - jacoco-nojava-workaround
222
223     publishers:
224       - email-notification:
225           email-recipients: '{email-recipients}'
226           email-prefix: '[netvirt]'
227       - text-finder:
228           fileset: "**/target/surefire-reports/*.xml"
229           regexp: 'failures\=\"[^0]\"'
230           succeed-if-found: false
231           unstable-if-found: true
232           also-check-console-output: false
233       - opendaylight-infra-shiplogs:
234           maven-version: 'mvn33'