From: Josh Date: Tue, 12 Apr 2016 11:50:27 +0000 (+0200) Subject: split it-utils: ovsdb-it-utils + netvirt-it-utils X-Git-Tag: release/boron~115 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=b68c1cc3543106331d2a7a3dc2fd1ab4e2d53fc4;p=ovsdb.git split it-utils: ovsdb-it-utils + netvirt-it-utils Change-Id: I5b512b65c3502431f919028a6383178c4f2dd140 Signed-off-by: Josh Signed-off-by: Sam Hague --- diff --git a/utils/it-utils/pom.xml b/utils/ovsdb-it-utils/pom.xml similarity index 91% rename from utils/it-utils/pom.xml rename to utils/ovsdb-it-utils/pom.xml index 0f3648b4f..aba2cd504 100644 --- a/utils/it-utils/pom.xml +++ b/utils/ovsdb-it-utils/pom.xml @@ -19,7 +19,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html 4.0.0 org.opendaylight.ovsdb - utils.it-utils + utils.ovsdb-it-utils 1.3.0-SNAPSHOT bundle @@ -36,17 +36,17 @@ and is available at http://www.eclipse.org/legal/epl-v10.html sal-binding-api - org.opendaylight.ovsdb + ${project.groupId} southbound-api ${project.version} - org.opendaylight.ovsdb + ${project.groupId} utils.mdsal-utils ${project.version} - org.opendaylight.ovsdb + ${project.groupId} utils.southbound-utils ${project.version} diff --git a/utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItConstants.java b/utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/ItConstants.java similarity index 95% rename from utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItConstants.java rename to utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/ItConstants.java index 4c493e9f3..c4aaf373d 100644 --- a/utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItConstants.java +++ b/utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/ItConstants.java @@ -5,10 +5,11 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.ovsdb.utils.it.utils; + +package org.opendaylight.ovsdb.utils.ovsdb.it.utils; /** - * Constants for SouthboundIT + * Constants for SouthboundIT. */ public final class ItConstants { private ItConstants() { diff --git a/utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/NodeInfo.java b/utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/NodeInfo.java similarity index 91% rename from utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/NodeInfo.java rename to utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/NodeInfo.java index a32c7b4d8..1d30cbe66 100644 --- a/utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/NodeInfo.java +++ b/utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/NodeInfo.java @@ -6,7 +6,7 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.ovsdb.utils.it.utils; +package org.opendaylight.ovsdb.utils.ovsdb.it.utils; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; @@ -14,6 +14,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.List; + import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.ovsdb.utils.mdsal.utils.NotifyingDataChangeListener; import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils; @@ -40,15 +41,15 @@ public class NodeInfo { NotifyingDataChangeListener ovsdbWaiter; NotifyingDataChangeListener bridgeWaiter; List waitList; - ItUtils itUtils; + OvsdbItUtils itUtils; /** - * Create a new NodeInfo object + * Create a new NodeInfo object. * @param connectionInfo of the OVSDB node - * @param itUtils ItUtils instance + * @param itUtils OvsdbItUtils instance * @param waitList for tracking outstanding md-sal events */ - NodeInfo(ConnectionInfo connectionInfo, ItUtils itUtils, List waitList) { + NodeInfo(ConnectionInfo connectionInfo, OvsdbItUtils itUtils, List waitList) { this.connectionInfo = connectionInfo; this.itUtils = itUtils; this.waitList = waitList; @@ -59,7 +60,7 @@ public class NodeInfo { /** * Connect to the OVSDB node, wait for the connection to be established and for the integration bridge * to be successfully created. Contains assertions for unexpected states - * @throws InterruptedException + * @throws InterruptedException if interrupted while waiting for connection */ public void connect() throws InterruptedException { ovsdbWaiter = new NotifyingDataChangeListener(LogicalDatastoreType.OPERATIONAL, ovsdbIid, waitList); @@ -87,7 +88,7 @@ public class NodeInfo { /** * Remove integration bridge and teardown connection. Contains assertions for unexpected states. - * @throws InterruptedException + * @throws InterruptedException if interrupted while waiting for disconnect to complete */ public void disconnect() throws InterruptedException { assertTrue(itUtils.southboundUtils.deleteBridge(connectionInfo, INTEGRATION_BRIDGE_NAME, 0)); diff --git a/utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItUtils.java b/utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/OvsdbItUtils.java similarity index 65% rename from utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItUtils.java rename to utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/OvsdbItUtils.java index f8b967677..436f19996 100644 --- a/utils/it-utils/src/main/java/org/opendaylight/ovsdb/utils/it/utils/ItUtils.java +++ b/utils/ovsdb-it-utils/src/main/java/org/opendaylight/ovsdb/utils/ovsdb/it/utils/OvsdbItUtils.java @@ -6,55 +6,49 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.ovsdb.utils.it.utils; +package org.opendaylight.ovsdb.utils.ovsdb.it.utils; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.List; + import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; import org.opendaylight.ovsdb.utils.mdsal.utils.MdsalUtils; import org.opendaylight.ovsdb.utils.mdsal.utils.NotifyingDataChangeListener; import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * This class contains various utility methods used in OVSDB integration tests (IT). */ -public class ItUtils { - private static final Logger LOG = LoggerFactory.getLogger(ItUtils.class); +public class OvsdbItUtils { + private static final Logger LOG = LoggerFactory.getLogger(OvsdbItUtils.class); MdsalUtils mdsalUtils; SouthboundUtils southboundUtils; DataBroker dataBroker; /** - * Create a new ItUtils instance + * Create a new OvsdbItUtils instance. * @param dataBroker md-sal data broker */ - public ItUtils(DataBroker dataBroker) { + public OvsdbItUtils(DataBroker dataBroker) { this.dataBroker = dataBroker; mdsalUtils = new MdsalUtils(dataBroker); southboundUtils = new SouthboundUtils(mdsalUtils); } /** - * Get a NodeInfo instance initialized with this ItUtil's DataBroker + * Get a NodeInfo instance initialized with this ItUtil's DataBroker. * @param connectionInfo ConnectionInfo for the OVSDB server * @param waitList For tracking outstanding md-sal events notifications - * @return + * @return a new NodeInfo object */ public NodeInfo createNodeInfo(ConnectionInfo connectionInfo, List waitList) { return new NodeInfo(connectionInfo, this, waitList); @@ -65,7 +59,7 @@ public class ItUtils { * AssertionError for any number of unexpected states. * @param connectionInfo * @return true if connected - * @throws InterruptedException + * @throws InterruptedException if interrupted while waiting for connection to appear */ public boolean isControllerConnected(ConnectionInfo connectionInfo) throws InterruptedException { LOG.info("isControllerConnected enter"); @@ -94,33 +88,15 @@ public class ItUtils { return false; } + /** + * Get a DataBroker and assert that it is not null. + * @param providerContext ProviderContext from which to retrieve the DataBroker + * @return the Databroker + */ public static DataBroker getDatabroker(BindingAwareBroker.ProviderContext providerContext) { DataBroker dataBroker = providerContext.getSALService(DataBroker.class); assertNotNull("dataBroker should not be null", dataBroker); return dataBroker; } - public Boolean getNetvirtTopology() { - LOG.info("getNetvirtTopology: looking for {}...", ItConstants.NETVIRT_TOPOLOGY_ID); - Boolean found = false; - final TopologyId topologyId = new TopologyId(new Uri(ItConstants.NETVIRT_TOPOLOGY_ID)); - InstanceIdentifier path = - InstanceIdentifier.create(NetworkTopology.class).child(Topology.class, new TopologyKey(topologyId)); - for (int i = 0; i < 60; i++) { - Topology topology = mdsalUtils.read(LogicalDatastoreType.OPERATIONAL, path); - if (topology != null) { - LOG.info("getNetvirtTopology: found {}...", ItConstants.NETVIRT_TOPOLOGY_ID); - found = true; - break; - } else { - LOG.info("getNetvirtTopology: still looking (try {})...", i); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - LOG.warn("Interrupted while waiting for {}", ItConstants.NETVIRT_TOPOLOGY_ID, e); - } - } - } - return found; - } } diff --git a/utils/pom.xml b/utils/pom.xml index a0899b0e0..1ed1de2c5 100644 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -51,10 +51,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html config hwvtepsouthbound-utils - it-utils mdsal-node mdsal-openflow mdsal-utils + ovsdb-it-utils servicehelper southbound-utils yang-utils