Get docker-compose working with Netvirt IT
[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-external-docker
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: netvirt-run-it-dockerOvs
51     builders:
52         - install-docker-compose
53         - maven-target:
54             maven-version: '{maven-version}'
55             pom: '{pomFile}'
56             goals: '-V -B verify -l {logfile} -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 -Dsgm=transparent'
57             properties:
58                 - 'ovsdb.userspace.enabled=yes'
59                 - 'maven.repo.local=/tmp/r'
60                 - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
61                 - 'stream={stream}'
62             java-opts:
63                 - '-Xmx1024m -XX:MaxPermSize=256m'
64             settings: 'netvirt-settings'
65             settings-type: cfp
66             global-settings: 'odl-global-settings'
67             global-settings-type: cfp
68
69 - builder:
70     name: run-net-virt-it
71     builders:
72         - netvirt-run-it-dockerOvs:
73             maven-version: '{maven-version}'
74             stream: '{stream}'
75             pomFile: 'openstack/net-virt-it/pom.xml'
76             logfile: '{OVS_VERSION}-net-virt-IT.log'
77             OVS_VERSION: '{OVS_VERSION}'
78
79 - builder:
80     name: run-netvirt-sfc-it
81     builders:
82         - netvirt-run-it-external-docker:
83             maven-version: '{maven-version}'
84             stream: '{stream}'
85             pomFile: 'openstack/net-virt-sfc/it/pom.xml'
86             logfile: '{OVS_VERSION}-netvirt-sfc-IT.log'
87
88 - builder:
89     name: run-netvirt-vpnservice-it
90     builders:
91         - netvirt-run-it-dockerOvs:
92             maven-version: '{maven-version}'
93             stream: '{stream}'
94             pomFile: 'vpnservice/it/pom.xml'
95             logfile: '{OVS_VERSION}-netvirt-vpnservice-IT.log'
96             OVS_VERSION: '{OVS_VERSION}'
97
98 - builder:
99     name: install-docker-compose
100     builders:
101         - shell: |
102             virtualenv $WORKSPACE/venv
103             source $WORKSPACE/venv/bin/activate
104             pip install --upgrade pip
105             pip install docker-compose
106
107
108 - builder:
109     name: run-netvirt-it
110     builders:
111         - inject:
112             properties-content: OVS_VERSION={OVS_VERSION}
113         - shell:
114             !include-raw-escape:
115                 - include-setup-controllerIp.sh
116         - inject:
117             properties-file: env.properties
118         - run-netvirt-vpnservice-it:
119             OVS_VERSION: '{OVS_VERSION}'
120             maven-version: '{maven-version}'
121             stream: '{stream}'
122         - run-net-virt-it:
123             OVS_VERSION: '{OVS_VERSION}'
124             maven-version: '{maven-version}'
125             stream: '{stream}'
126         - shell:
127             !include-raw-escape:
128                 - include-raw-setup-docker.sh
129         - inject:
130             properties-file: env.properties
131         - run-netvirt-sfc-it:
132             OVS_VERSION: '{OVS_VERSION}'
133             maven-version: '{maven-version}'
134             stream: '{stream}'
135         - shell:
136             !include-raw-escape:
137                 - include-raw-cleanup-docker.sh
138
139 - job-template:
140     name: 'netvirt-daily-full-integration-{stream}'
141
142     # Required Variables:
143     #     stream:    release stream (eg. stable-lithium or beryllium)
144     #     branch:    git branch (eg. stable/lithium or master)
145
146     project-type: freestyle
147     node: centos7-docker-2c-4g
148     jdk: '{jdk}'
149     description: 'Integration tests for the Netvirt project against different versions of OVS and branches. This job runs nightly. '
150
151     logrotate:
152         daysToKeep: '{build-days-to-keep}'
153         numToKeep: '{build-num-to-keep}'
154         artifactDaysToKeep: '{build-artifact-days-to-keep}'
155         artifactNumToKeep: '{build-artifact-num-to-keep}'
156
157     parameters:
158         - opendaylight-infra-parameters:
159             project: '{project}'
160             branch: '{branch}'
161             refspec: 'refs/heads/{branch}'
162             artifacts: '{archive-artifacts}'
163
164     scm:
165         - gerrit-trigger-scm:
166             refspec: '$GERRIT_REFSPEC'
167             branch: '{branch}'
168             choosing-strategy: gerrit
169
170     wrappers:
171         - opendaylight-infra-wrappers:
172             build-timeout: '{build-timeout}'
173
174     triggers:
175         - timed: '@midnight'
176         - gerrit:
177             server-name: 'OpenDaylight'
178             trigger-on:
179               - comment-added-contains-event:
180                  comment-contains-value: 'runit'
181             projects:
182               - project-compare-type: 'ANT'
183                 project-pattern: '{project}'
184                 branches:
185                   - branch-compare-type: 'ANT'
186                     branch-pattern: '**/{branch}'
187             skip-vote:
188                 successful: true
189                 failed: true
190                 unstable: true
191                 notbuilt: true
192
193     builders:
194         - wipe-org-opendaylight-repo
195         - maven-target:
196             maven-version: '{mvn33}'
197             pom: 'pom.xml'
198             goals: '-V -B -l build.log clean install dependency:tree -Pq -Dmaven.compile.fork=true'
199             properties:
200                 - 'maven.repo.local=/tmp/r'
201                 - 'org.ops4j.pax.url.mvn.localRepository=/tmp/r'
202                 - 'stream={stream}'
203             java-opts:
204                 - '-Xmx1024m -XX:MaxPermSize=256m'
205             settings: 'netvirt-settings'
206             settings-type: cfp
207             global-settings: 'odl-global-settings'
208             global-settings-type: cfp
209         #  skip 2.4.0 until we figure out conntrack
210         #- run-netvirt-it:
211         #    maven-version: '{mvn33}'
212         #    stream: '{stream}'
213         #    OVS_VERSION: '2.4.0'
214         - run-netvirt-it:
215             maven-version: '{mvn33}'
216             stream: '{stream}'
217             OVS_VERSION: '2.5.0'
218         - jacoco-nojava-workaround
219
220     publishers:
221         - email-notification:
222             email-prefix: '[netvirt]'
223         - archive-build:
224             maven-version: '{mvn33}'