X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnorthbound%2Fintegrationtest%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnorthbound%2Fintegrationtest%2FNorthboundIT.java;h=85b77b2f4de000f37b2ebe487623a6aa5fc0df8a;hb=f4c0ebfa7997a336d8458b1d8ce4d9d2eeae7599;hp=797bca798f7d811c491e318bc4fddda1d9710899;hpb=78e88bed85a7d616c22d3d974e92c383ffb98318;p=controller.git diff --git a/opendaylight/northbound/integrationtest/src/test/java/org/opendaylight/controller/northbound/integrationtest/NorthboundIT.java b/opendaylight/northbound/integrationtest/src/test/java/org/opendaylight/controller/northbound/integrationtest/NorthboundIT.java index 797bca798f..85b77b2f4d 100644 --- a/opendaylight/northbound/integrationtest/src/test/java/org/opendaylight/controller/northbound/integrationtest/NorthboundIT.java +++ b/opendaylight/northbound/integrationtest/src/test/java/org/opendaylight/controller/northbound/integrationtest/NorthboundIT.java @@ -1,22 +1,13 @@ package org.opendaylight.controller.northbound.integrationtest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.osgi.framework.ServiceReference; -import org.osgi.framework.Bundle; -import javax.inject.Inject; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.ops4j.pax.exam.CoreOptions.junitBundles; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.CoreOptions.options; +import static org.ops4j.pax.exam.CoreOptions.systemPackages; +import static org.ops4j.pax.exam.CoreOptions.systemProperty; -import org.junit.Assert; -import org.junit.Test; -import org.junit.Before; -import org.junit.runner.RunWith; -import org.ops4j.pax.exam.junit.PaxExam; -import org.osgi.framework.BundleContext; -import static org.junit.Assert.*; -import org.ops4j.pax.exam.junit.Configuration; -import static org.ops4j.pax.exam.CoreOptions.*; -import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.util.PathUtils; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; @@ -30,13 +21,17 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.commons.codec.binary.Base64; +import javax.inject.Inject; +import org.apache.commons.codec.binary.Base64; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; import org.codehaus.jettison.json.JSONTokener; - +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; import org.opendaylight.controller.hosttracker.IfIptoHost; import org.opendaylight.controller.sal.core.Bandwidth; import org.opendaylight.controller.sal.core.ConstructionException; @@ -51,18 +46,27 @@ import org.opendaylight.controller.sal.topology.IListenTopoUpdates; import org.opendaylight.controller.sal.topology.TopoEdgeUpdate; import org.opendaylight.controller.switchmanager.IInventoryListener; import org.opendaylight.controller.usermanager.IUserManager; +import org.ops4j.pax.exam.Option; +import org.ops4j.pax.exam.junit.Configuration; +import org.ops4j.pax.exam.junit.PaxExam; +import org.ops4j.pax.exam.util.PathUtils; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @RunWith(PaxExam.class) public class NorthboundIT { - private Logger log = LoggerFactory.getLogger(NorthboundIT.class); + private final Logger log = LoggerFactory.getLogger(NorthboundIT.class); // get the OSGI bundle context @Inject private BundleContext bc; - private IUserManager users = null; + private IUserManager userManager = null; private IInventoryListener invtoryListener = null; private IListenTopoUpdates topoUpdates = null; - private Boolean debugMsg = false; + private final Boolean debugMsg = false; private String stateToString(int state) { switch (state) { @@ -99,10 +103,10 @@ public class NorthboundIT { ServiceReference r = bc.getServiceReference(IUserManager.class.getName()); if (r != null) { - this.users = (IUserManager) bc.getService(r); + this.userManager = (IUserManager) bc.getService(r); } // If UserManager is null, cannot login to run tests. - assertNotNull(this.users); + assertNotNull(this.userManager); r = bc.getServiceReference(IfIptoHost.class.getName()); if (r != null) { @@ -145,8 +149,8 @@ public class NorthboundIT { try { URL url = new URL(restUrl); - this.users.getAuthorizationList(); - this.users.authenticate("admin", "admin"); + this.userManager.getAuthorizationList(); + this.userManager.authenticate("admin", "admin"); String authString = "admin:admin"; byte[] authEncBytes = Base64.encodeBase64(authString.getBytes()); String authStringEnc = new String(authEncBytes); @@ -204,29 +208,29 @@ public class NorthboundIT { if (timestamp == null || timestampName == null) { Assert.assertFalse(properties.has("timeStamp")); } else { - Assert.assertEquals(timestamp, (Integer) properties.getJSONObject("timeStamp").getInt("timestamp")); - Assert.assertEquals(timestampName, properties.getJSONObject("timeStamp").getString("timestampName")); + Assert.assertEquals(timestamp, (Integer) properties.getJSONObject("timeStamp").getInt("value")); + Assert.assertEquals(timestampName, properties.getJSONObject("timeStamp").getString("name")); } if (actionsValue == null) { Assert.assertFalse(properties.has("actions")); } else { - Assert.assertEquals(actionsValue, (Integer) properties.getJSONObject("actions").getInt("actionsValue")); + Assert.assertEquals(actionsValue, (Integer) properties.getJSONObject("actions").getInt("value")); } if (capabilitiesValue == null) { Assert.assertFalse(properties.has("capabilities")); } else { Assert.assertEquals(capabilitiesValue, - (Integer) properties.getJSONObject("capabilities").getInt("capabilitiesValue")); + (Integer) properties.getJSONObject("capabilities").getInt("value")); } if (tablesValue == null) { Assert.assertFalse(properties.has("tables")); } else { - Assert.assertEquals(tablesValue, (Integer) properties.getJSONObject("tables").getInt("tablesValue")); + Assert.assertEquals(tablesValue, (Integer) properties.getJSONObject("tables").getInt("value")); } if (buffersValue == null) { Assert.assertFalse(properties.has("buffers")); } else { - Assert.assertEquals(buffersValue, (Integer) properties.getJSONObject("buffers").getInt("buffersValue")); + Assert.assertEquals(buffersValue, (Integer) properties.getJSONObject("buffers").getInt("value")); } } @@ -245,18 +249,18 @@ public class NorthboundIT { if (state == null) { Assert.assertFalse(properties.has("state")); } else { - Assert.assertEquals(state, (Integer) properties.getJSONObject("state").getInt("stateValue")); + Assert.assertEquals(state, (Integer) properties.getJSONObject("state").getInt("value")); } if (capabilities == null) { Assert.assertFalse(properties.has("capabilities")); } else { Assert.assertEquals(capabilities, - (Integer) properties.getJSONObject("capabilities").getInt("capabilitiesValue")); + (Integer) properties.getJSONObject("capabilities").getInt("value")); } if (bandwidth == null) { Assert.assertFalse(properties.has("bandwidth")); } else { - Assert.assertEquals(bandwidth, (Integer) properties.getJSONObject("bandwidth").getInt("bandwidthValue")); + Assert.assertEquals(bandwidth, (Integer) properties.getJSONObject("bandwidth").getInt("value")); } } @@ -349,11 +353,11 @@ public class NorthboundIT { // Test insert static route String requestBody = "{\"name\":\"" + name1 + "\", \"prefix\":\"" + prefix1 + "\", \"nextHop\":\"" + nextHop1 + "\"}"; - result = getJsonResult(baseURL + "default/" + name1, "POST", requestBody); + result = getJsonResult(baseURL + "default/route/" + name1, "POST", requestBody); Assert.assertEquals(201, httpResponseCode.intValue()); requestBody = "{\"name\":\"" + name2 + "\", \"prefix\":\"" + prefix2 + "\", \"nextHop\":\"" + nextHop2 + "\"}"; - result = getJsonResult(baseURL + "default/" + name2, "POST", requestBody); + result = getJsonResult(baseURL + "default/route/" + name2, "POST", requestBody); Assert.assertEquals(201, httpResponseCode.intValue()); // Test Get all static routes @@ -378,7 +382,7 @@ public class NorthboundIT { } // Test get specific static route - result = getJsonResult(baseURL + "default/" + name1); + result = getJsonResult(baseURL + "default/route/" + name1); jt = new JSONTokener(result); json = new JSONObject(jt); @@ -386,7 +390,7 @@ public class NorthboundIT { Assert.assertEquals(prefix1, json.getString("prefix")); Assert.assertEquals(nextHop1, json.getString("nextHop")); - result = getJsonResult(baseURL + "default/" + name2); + result = getJsonResult(baseURL + "default/route/" + name2); jt = new JSONTokener(result); json = new JSONObject(jt); @@ -395,7 +399,7 @@ public class NorthboundIT { Assert.assertEquals(nextHop2, json.getString("nextHop")); // Test delete static route - result = getJsonResult(baseURL + "default/" + name1, "DELETE"); + result = getJsonResult(baseURL + "default/route/" + name1, "DELETE"); Assert.assertEquals(200, httpResponseCode.intValue()); result = getJsonResult(baseURL + "default"); @@ -482,38 +486,11 @@ public class NorthboundIT { testNodeConnectorProperties(nodeConnectorProperties, nodeConnectorId_3, ncType, nodeId_3, nodeType, ncState, ncCapabilities, ncBandwidth); - // Test delete node property - // Delete timestamp property from node1 - result = getJsonResult(baseURL + "node/STUB/" + nodeId_1 + "/property/timeStamp", "DELETE"); - Assert.assertEquals(200, httpResponseCode.intValue()); - - // Check node1 - result = getJsonResult(baseURL + "nodes"); - jt = new JSONTokener(result); - json = new JSONObject(jt); - node = getJsonInstance(json, "nodeProperties", nodeId_1); - Assert.assertNotNull(node); - testNodeProperties(node, nodeId_1, nodeType, null, null, actionsValue_1, capabilitiesValue_1, tablesValue_1, - buffersValue_1); - - // Delete actions property from node2 - result = getJsonResult(baseURL + "node/STUB/" + nodeId_2 + "/property/actions", "DELETE"); - Assert.assertEquals(200, httpResponseCode.intValue()); - - // Check node2 - result = getJsonResult(baseURL + "nodes"); - jt = new JSONTokener(result); - json = new JSONObject(jt); - node = getJsonInstance(json, "nodeProperties", nodeId_2); - Assert.assertNotNull(node); - testNodeProperties(node, nodeId_2, nodeType, timestamp_1, timestampName_1, null, capabilitiesValue_1, - tablesValue_1, buffersValue_1); - // Test add property to node - // Add Tier and Bandwidth property to node1 + // Add Tier and Description property to node1 result = getJsonResult(baseURL + "node/STUB/" + nodeId_1 + "/property/tier/1001", "PUT"); Assert.assertEquals(201, httpResponseCode.intValue()); - result = getJsonResult(baseURL + "node/STUB/" + nodeId_1 + "/property/bandwidth/1002", "PUT"); + result = getJsonResult(baseURL + "node/STUB/" + nodeId_1 + "/property/description/node1", "PUT"); Assert.assertEquals(201, httpResponseCode.intValue()); // Test for first node @@ -522,8 +499,8 @@ public class NorthboundIT { json = new JSONObject(jt); node = getJsonInstance(json, "nodeProperties", nodeId_1); Assert.assertNotNull(node); - Assert.assertEquals(1001, node.getJSONObject("properties").getJSONObject("tier").getInt("tierValue")); - Assert.assertEquals(1002, node.getJSONObject("properties").getJSONObject("bandwidth").getInt("bandwidthValue")); + Assert.assertEquals(1001, node.getJSONObject("properties").getJSONObject("tier").getInt("value")); + Assert.assertEquals("node1", node.getJSONObject("properties").getJSONObject("description").getString("value")); // Test delete nodeConnector property // Delete state property of nodeconnector1 @@ -574,14 +551,14 @@ public class NorthboundIT { @Test public void testStatistics() throws JSONException { - String actionTypes[] = { "drop", "loopback", "flood", "floodAll", "controller", "swPath", "hwPath", "output", + final String actionTypes[] = { "drop", "loopback", "flood", "floodAll", "controller", "swPath", "hwPath", "output", "setDlSrc", "setDlDst", "setDlType", "setVlanId", "setVlanPcp", "setVlanCfi", "popVlan", "pushVlan", "setNwSrc", "setNwDst", "setNwTos", "setTpSrc", "setTpDst" }; System.out.println("Starting Statistics JAXB client."); String baseURL = "http://127.0.0.1:8080/controller/nb/v2/statistics/default/"; - String result = getJsonResult(baseURL + "flowstats"); + String result = getJsonResult(baseURL + "flow"); JSONTokener jt = new JSONTokener(result); JSONObject json = new JSONObject(jt); JSONObject flowStatistics = getJsonInstance(json, "flowStatistics", 0xCAFE); @@ -591,16 +568,16 @@ public class NorthboundIT { Assert.assertEquals(node.getString("@type"), "STUB"); // test that flow statistics results are correct - JSONArray flowStats = flowStatistics.getJSONArray("flowStat"); + JSONArray flowStats = flowStatistics.getJSONArray("flowStatistic"); for (int i = 0; i < flowStats.length(); i++) { JSONObject flowStat = flowStats.getJSONObject(i); - testFlowStat(flowStat, actionTypes[i]); + testFlowStat(flowStat, actionTypes[i], i); } - // for /controller/nb/v2/statistics/default/portstats - result = getJsonResult(baseURL + "portstats"); + // for /controller/nb/v2/statistics/default/port + result = getJsonResult(baseURL + "port"); jt = new JSONTokener(result); json = new JSONObject(jt); JSONObject portStatistics = getJsonInstance(json, "portStatistics", 0xCAFE); @@ -610,7 +587,7 @@ public class NorthboundIT { Assert.assertEquals(node2.getString("@type"), "STUB"); // test that port statistic results are correct - JSONObject portStat = portStatistics.getJSONObject("portStat"); + JSONObject portStat = portStatistics.getJSONObject("portStatistic"); Assert.assertTrue(portStat.getInt("receivePackets") == 250); Assert.assertTrue(portStat.getInt("transmitPackets") == 500); Assert.assertTrue(portStat.getInt("receiveBytes") == 1000); @@ -625,7 +602,7 @@ public class NorthboundIT { Assert.assertTrue(portStat.getInt("collisionCount") == 4); // test for getting one specific node's stats - result = getJsonResult(baseURL + "flowstats/STUB/51966"); + result = getJsonResult(baseURL + "flow/node/STUB/51966"); jt = new JSONTokener(result); json = new JSONObject(jt); node = json.getJSONObject("node"); @@ -634,13 +611,13 @@ public class NorthboundIT { Assert.assertEquals(node.getString("@type"), "STUB"); // test that flow statistics results are correct - flowStats = json.getJSONArray("flowStat"); + flowStats = json.getJSONArray("flowStatistic"); for (int i = 0; i < flowStats.length(); i++) { JSONObject flowStat = flowStats.getJSONObject(i); - testFlowStat(flowStat, actionTypes[i]); + testFlowStat(flowStat, actionTypes[i], i); } - result = getJsonResult(baseURL + "portstats/STUB/51966"); + result = getJsonResult(baseURL + "port/node/STUB/51966"); jt = new JSONTokener(result); json = new JSONObject(jt); node2 = json.getJSONObject("node"); @@ -649,7 +626,7 @@ public class NorthboundIT { Assert.assertEquals(node2.getString("@type"), "STUB"); // test that port statistic results are correct - portStat = json.getJSONObject("portStat"); + portStat = json.getJSONObject("portStatistic"); Assert.assertTrue(portStat.getInt("receivePackets") == 250); Assert.assertTrue(portStat.getInt("transmitPackets") == 500); Assert.assertTrue(portStat.getInt("receiveBytes") == 1000); @@ -664,7 +641,7 @@ public class NorthboundIT { Assert.assertTrue(portStat.getInt("collisionCount") == 4); } - private void testFlowStat(JSONObject flowStat, String actionType) throws JSONException { + private void testFlowStat(JSONObject flowStat, String actionType, int actIndex) throws JSONException { Assert.assertTrue(flowStat.getInt("tableId") == 1); Assert.assertTrue(flowStat.getInt("durationSeconds") == 40); Assert.assertTrue(flowStat.getInt("durationNanoseconds") == 400); @@ -673,7 +650,7 @@ public class NorthboundIT { // test that flow information is correct JSONObject flow = flowStat.getJSONObject("flow"); - Assert.assertTrue(flow.getInt("priority") == 3500); + Assert.assertTrue(flow.getInt("priority") == (3500 + actIndex)); Assert.assertTrue(flow.getInt("idleTimeout") == 1000); Assert.assertTrue(flow.getInt("hardTimeout") == 2000); Assert.assertTrue(flow.getInt("id") == 12345); @@ -757,16 +734,16 @@ public class NorthboundIT { String baseURL = "http://127.0.0.1:8080/controller/nb/v2/flow/default/"; // Attempt to get a flow that doesn't exit. Should return 404 // status. - String result = getJsonResult(baseURL + "STUB/51966/test1", "GET"); + String result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test1", "GET"); Assert.assertTrue(result.equals("404")); // test add flow1 String fc = "{\"dynamic\":\"false\", \"name\":\"test1\", \"node\":{\"@id\":\"51966\",\"@type\":\"STUB\"}, \"actions\":[\"DROP\"]}"; - result = getJsonResult(baseURL + "STUB/51966/test1", "POST", fc); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test1", "PUT", fc); Assert.assertTrue(httpResponseCode == 201); // test get returns flow that was added. - result = getJsonResult(baseURL + "STUB/51966/test1", "GET"); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test1", "GET"); // check that result came out fine. Assert.assertTrue(httpResponseCode == 200); JSONTokener jt = new JSONTokener(result); @@ -779,21 +756,21 @@ public class NorthboundIT { Assert.assertEquals(node.getString("@id"), "51966"); // test adding same flow again fails due to repeat name..return 409 // code - result = getJsonResult(baseURL + "STUB/51966/test1", "POST", fc); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test1", "PUT", fc); Assert.assertTrue(result.equals("409")); fc = "{\"dynamic\":\"false\", \"name\":\"test2\", \"node\":{\"@id\":\"51966\",\"@type\":\"STUB\"}, \"actions\":[\"DROP\"]}"; - result = getJsonResult(baseURL + "STUB/51966/test2", "POST", fc); - // test should return 500 for error due to same flow being added. - Assert.assertTrue(result.equals("500")); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test2", "PUT", fc); + // test should return 409 for error due to same flow being added. + Assert.assertTrue(result.equals("409")); // add second flow that's different fc = "{\"dynamic\":\"false\", \"name\":\"test2\", \"nwSrc\":\"1.1.1.1\", \"node\":{\"@id\":\"51966\",\"@type\":\"STUB\"}, \"actions\":[\"DROP\"]}"; - result = getJsonResult(baseURL + "STUB/51966/test2", "POST", fc); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test2", "PUT", fc); Assert.assertTrue(httpResponseCode == 201); // check that request returns both flows given node. - result = getJsonResult(baseURL + "STUB/51966/", "GET"); + result = getJsonResult(baseURL + "node/STUB/51966/", "GET"); jt = new JSONTokener(result); json = new JSONObject(jt); Assert.assertTrue(json.get("flowConfig") instanceof JSONArray); @@ -811,10 +788,10 @@ public class NorthboundIT { Assert.assertTrue(count == 2); // delete a flow, check that it's no longer in list. - result = getJsonResult(baseURL + "STUB/51966/test2", "DELETE"); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test2", "DELETE"); Assert.assertTrue(httpResponseCode == 200); - result = getJsonResult(baseURL + "STUB/51966/test2", "GET"); + result = getJsonResult(baseURL + "node/STUB/51966/static-flow/test2", "GET"); Assert.assertTrue(result.equals("404")); } @@ -1114,9 +1091,9 @@ public class NorthboundIT { Assert.assertEquals(tailNode.getString("@type"),nodeType); Assert.assertEquals(tailNode.getString("@type"), nodeConnType); Assert.assertEquals(tailNC.getLong("@id"), tailNC1_nodeConnId); - Assert.assertEquals(bandw.getLong("bandwidthValue"), bw_1); - Assert.assertTrue((short) stt.getInt("stateValue") == state_1); - Assert.assertEquals(ltc.getLong("latencyValue"), lat_1); + Assert.assertEquals(bandw.getLong("value"), bw_1); + Assert.assertTrue((short) stt.getInt("value") == state_1); + Assert.assertEquals(ltc.getLong("value"), lat_1); } else if (headNC.getInt("@id") == headNC2_nodeConnId) { Assert.assertEquals(headNode.getString("@type"),nodeType); Assert.assertEquals(headNode.getLong("@id"), headNC2_nodeId); @@ -1125,9 +1102,9 @@ public class NorthboundIT { Assert.assertTrue(tailNode.getInt("@id") == tailNC2_nodeId); Assert.assertEquals(tailNC.getString("@type"), nodeConnType); Assert.assertEquals(tailNC.getLong("@id"), tailNC2_nodeConnId); - Assert.assertEquals(bandw.getLong("bandwidthValue"), bw_2); - Assert.assertTrue((short) stt.getInt("stateValue") == state_2); - Assert.assertEquals(ltc.getLong("latencyValue"), lat_2); + Assert.assertEquals(bandw.getLong("value"), bw_2); + Assert.assertTrue((short) stt.getInt("value") == state_2); + Assert.assertEquals(ltc.getLong("value"), lat_2); } } @@ -1150,11 +1127,11 @@ public class NorthboundIT { .append("dstNodeConnector", nodeConnectorType_2 + "|" + nodeConnectorId_2 + "@" + nodeType_2 + "|" + nodeId_2); // execute HTTP request and verify response code - result = getJsonResult(baseURL + "/userLink", "POST", jo.toString()); + result = getJsonResult(baseURL + "/user-link", "POST", jo.toString()); Assert.assertTrue(httpResponseCode == 201); // === test GET method for getUserLinks() - result = getJsonResult(baseURL + "/userLink", "GET"); + result = getJsonResult(baseURL + "/user-link", "GET"); Assert.assertTrue(httpResponseCode == 200); if (debugMsg) { System.out.println("result:" + result); @@ -1199,12 +1176,12 @@ public class NorthboundIT { // === test DELETE method for deleteUserLink() String userName = "userLink_1"; - result = getJsonResult(baseURL + "/userLink/" + userName, "DELETE"); + result = getJsonResult(baseURL + "/user-link/" + userName, "DELETE"); Assert.assertTrue(httpResponseCode == 200); // execute another getUserLinks() request to verify that userLink_1 is // removed - result = getJsonResult(baseURL + "/userLink", "GET"); + result = getJsonResult(baseURL + "/user-link", "GET"); Assert.assertTrue(httpResponseCode == 200); if (debugMsg) { System.out.println("result:" + result); @@ -1258,33 +1235,35 @@ public class NorthboundIT { mavenBundle("org.opendaylight.controller", "protocol_plugins.stub", "0.4.0-SNAPSHOT"), // List all the opendaylight modules + mavenBundle("org.opendaylight.controller", "configuration", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "configuration.implementation", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "containermanager", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "containermanager.implementation", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "clustering.services", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "clustering.services-implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "security", "0.4.0-SNAPSHOT").noStart(), mavenBundle("org.opendaylight.controller", "sal", "0.5.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "sal.implementation", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "statisticsmanager", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "statisticsmanager.implementation", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "containermanager", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "containermanager.implementation", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "sal.connection", "0.1.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "sal.connection.implementation", "0.1.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "switchmanager", "0.5.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "connectionmanager", "0.1.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "connectionmanager.implementation", "0.1.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "switchmanager.implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "forwardingrulesmanager", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "forwardingrulesmanager.implementation", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "statisticsmanager", "0.4.0-SNAPSHOT"), + mavenBundle("org.opendaylight.controller", "statisticsmanager.implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "arphandler", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "clustering.services", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "clustering.services-implementation", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "switchmanager", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "switchmanager.implementation", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "configuration", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "configuration.implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "hosttracker", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "hosttracker.implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "arphandler", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "routing.dijkstra_implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "topologymanager", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "usermanager", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "usermanager.implementation", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "logging.bridge", "0.4.0-SNAPSHOT"), mavenBundle("org.opendaylight.controller", "clustering.test", "0.4.0-SNAPSHOT"), - mavenBundle("org.opendaylight.controller", "forwarding.staticrouting", "0.4.0-SNAPSHOT"), // Northbound bundles @@ -1340,6 +1319,7 @@ public class NorthboundIT { mavenBundle("commons-codec", "commons-codec"), mavenBundle("virgomirror", "org.eclipse.jdt.core.compiler.batch", "3.8.0.I20120518-2145"), mavenBundle("eclipselink", "javax.persistence", "2.0.4.v201112161009"), + mavenBundle("eclipselink", "javax.resource", "1.5.0.v200906010428"), mavenBundle("orbit", "javax.activation", "1.1.0.v201211130549"), mavenBundle("orbit", "javax.annotation", "1.1.0.v201209060031"), @@ -1386,6 +1366,8 @@ public class NorthboundIT { mavenBundle("org.ow2.chameleon.management", "chameleon-mbeans", "1.0.0"), mavenBundle("org.opendaylight.controller.thirdparty", "net.sf.jung2", "2.0.1-SNAPSHOT"), mavenBundle("org.opendaylight.controller.thirdparty", "com.sun.jersey.jersey-servlet", "1.17-SNAPSHOT"), + mavenBundle("org.opendaylight.controller.thirdparty", "org.apache.catalina.filters.CorsFilter", + "7.0.42-SNAPSHOT").noStart(), // Jersey needs to be started before the northbound application // bundles, using a lower start level