+
+ <plugin>
+ <!-- ensure that the distro installation is already built -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${enforcer.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>enforce-files-exist</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireFilesExist>
+ <files>
+ <file>${distro.script}</file>
+ </files>
+ </requireFilesExist>
+ </rules>
+ <fail>true</fail>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>controller-maven-plugin</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <configuration>
+ <controllerHome>${distro.dir}</controllerHome>
+ <controllerHost>localhost</controllerHost>
+ <controllerWebPort>8080</controllerWebPort>
+ <controllerUsername>admin</controllerUsername>
+ <controllerPassword>admin</controllerPassword>
+ <controllerStartScriptName>${distro.script}</controllerStartScriptName>
+ <pidFile>${distro.pid}</pidFile>
+ </configuration>
+ <executions>
+ <execution>
+ <!-- ensure controller is started in pre-integration phase -->
+ <id>start-controller</id>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <startArgs>
+ <param>-start</param>
+ <param>-jmx</param>
+ <param>-Djava.rmi.server.hostname=${sanitytest.bind.address} </param>
+ </startArgs>
+ <warmupTimeSecs> 60 </warmupTimeSecs>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <execution>
+ <!-- ensure controller is stopped in post-integration phase -->
+ <id>stop-controller</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>stop</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <!-- run the test -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${failsafe.version}</version>
+ <configuration>
+ <systemPropertyVariables>
+ <ctrl.home>${distro.dir}</ctrl.home>
+ <ctrl.host>${sanitytest.bind.address}</ctrl.host>
+ <ctrl.start.timeout>${sanitytest.timeout}</ctrl.start.timeout>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+