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