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