Test: Changes to subscriber multitable test to work with latest ONOS.
Use CPQD over OVS with pmc-olt pipeline driver to test igmp/multicast groupid flows.
Change-Id: I83f8b3f378aee7fa3da2c8d99df128b8cd85035b
diff --git a/src/test/apps/ciena-cordigmp-multitable-2.0-SNAPSHOT.oar b/src/test/apps/ciena-cordigmp-multitable-2.0-SNAPSHOT.oar
new file mode 100644
index 0000000..892d066
--- /dev/null
+++ b/src/test/apps/ciena-cordigmp-multitable-2.0-SNAPSHOT.oar
Binary files differ
diff --git a/src/test/apps/ciena-cordigmp.multi-table/pom.xml b/src/test/apps/ciena-cordigmp.multi-table/pom.xml
index 4c49010..a9f8c85 100644
--- a/src/test/apps/ciena-cordigmp.multi-table/pom.xml
+++ b/src/test/apps/ciena-cordigmp.multi-table/pom.xml
@@ -17,23 +17,39 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos</artifactId>
+ <version>1.6.0-rc2</version>
+ <relativePath></relativePath>
+ </parent>
+
<groupId>org.ciena.cordigmp</groupId>
<artifactId>ciena-cordigmp</artifactId>
- <version>1.0-SNAPSHOT</version>
+ <version>2.0-SNAPSHOT</version>
<packaging>bundle</packaging>
+ <repositories>
+ <repository>
+ <id>oss-staging</id>
+ <name>OSS Staging</name>
+ <url>https://oss.sonatype.org/content/groups/staging</url>
+ </repository>
+ </repositories>
+
<description>Ciena CORD IGMP for OVS</description>
<url>http://onosproject.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <onos.version>1.6.0-SNAPSHOT</onos.version>
+ <onos.version>1.6.0-rc2</onos.version>
<onos.app.name>org.ciena.cordigmp</onos.app.name>
<onos.app.title>Ciena IGMP for OVS</onos.app.title>
<onos.app.origin>Ciena Inc.</onos.app.origin>
<onos.app.category>default</onos.app.category>
<onos.app.url>http://onosproject.org</onos.app.url>
<onos.app.readme>ONOS OSGi bundle archetype.</onos.app.readme>
+ <onos.app.requires>org.opencord.config</onos.app.requires>
</properties>
<dependencies>
@@ -44,9 +60,9 @@
</dependency>
<dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-cord-config</artifactId>
- <version>${onos.version}</version>
+ <groupId>org.opencord</groupId>
+ <artifactId>cord-config</artifactId>
+ <version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
@@ -63,14 +79,6 @@
</dependency>
<dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onos-api</artifactId>
- <version>${onos.version}</version>
- <scope>test</scope>
- <classifier>tests</classifier>
- </dependency>
-
- <dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<version>1.9.12</version>
@@ -92,6 +100,25 @@
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
+
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onlab-misc</artifactId>
+ <version>${onos.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-incubator-api</artifactId>
+ <version>${onos.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.onosproject</groupId>
+ <artifactId>onos-core-common</artifactId>
+ <version>${onos.version}</version>
+ </dependency>
+
</dependencies>
<build>
diff --git a/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/CordIgmp.java b/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/CordIgmp.java
index 5b252d2..441a0a4 100644
--- a/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/CordIgmp.java
+++ b/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/CordIgmp.java
@@ -15,7 +15,6 @@
*/
package org.ciena.cordigmp;
-import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.felix.scr.annotations.Activate;
@@ -29,8 +28,8 @@
import org.onlab.packet.IpAddress;
import org.onlab.packet.VlanId;
import org.onosproject.cfg.ComponentConfigService;
-import org.onosproject.cordconfig.access.AccessDeviceConfig;
-import org.onosproject.cordconfig.access.AccessDeviceData;
+import org.opencord.cordconfig.access.AccessDeviceConfig;
+import org.opencord.cordconfig.access.AccessDeviceData;
import org.onosproject.core.ApplicationId;
import org.onosproject.core.CoreService;
import org.onosproject.net.ConnectPoint;
@@ -60,9 +59,7 @@
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
-import java.io.IOException;
import java.util.Dictionary;
-import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
@@ -185,7 +182,7 @@
Dictionary<?, ?> properties = context != null ? context.getProperties() : new Properties();
try {
-
+
String s = get(properties, "mcastVlan");
mcastVlan = isNullOrEmpty(s) ? DEFAULT_MCAST_VLAN : Short.parseShort(s.trim());
@@ -239,8 +236,8 @@
TrafficSelector.Builder metabuilder = DefaultTrafficSelector.builder()
.matchEthType(Ethernet.TYPE_IPV4)
.matchIPDst(info.route().group().toIpPrefix());
- if(vlanEnabled) {
- metabuilder.matchVlanId(VlanId.vlanId((short)mcastVlan));
+ if (vlanEnabled) {
+ metabuilder.matchVlanId(VlanId.vlanId((short) mcastVlan));
}
NextObjective next = DefaultNextObjective.builder()
.fromApp(appId)
@@ -379,7 +376,7 @@
flowObjectiveService.next(sink.deviceId(), next);
- log.info("Append flows for device {}, id {}, ip {}", sink.deviceId(), nextId,
+ log.info("Append flows for device {}, id {}, ip {}", sink.deviceId(), nextId,
route.group().toIpPrefix());
}
diff --git a/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/package-info.java b/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/package-info.java
new file mode 100644
index 0000000..75494c5
--- /dev/null
+++ b/src/test/apps/ciena-cordigmp.multi-table/src/main/java/org/ciena/cordigmp/package-info.java
@@ -0,0 +1,8 @@
+/**
+ * Ciena application for cord tester to provision flows with ovs.
+ * This is required as OVS onos driver does not support multi-table inserts.
+ * This application takes a port pair configuration per group to provision flows.
+ * To be used in simulation environments with subscriber tests.
+ * On the target, cordmcast app should be used.
+ */
+package org.ciena.cordigmp;