package org.opendaylight.groupbasedpolicy.neutron.ovsdb.util;
-import static org.opendaylight.groupbasedpolicy.neutron.ovsdb.util.DataStore.readFromDs;
-import static org.opendaylight.groupbasedpolicy.neutron.ovsdb.util.DataStore.submitToDs;
+import static org.opendaylight.groupbasedpolicy.util.DataStoreHelper.readFromDs;
+import static org.opendaylight.groupbasedpolicy.util.DataStoreHelper.submitToDs;
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.Optional;
public class OvsdbHelper {
- private static final Logger LOG = LoggerFactory.getLogger(DataStore.class);
+ private static final Logger LOG = LoggerFactory.getLogger(OvsdbHelper.class);
private static final String OF_PORT = "6653";
/**
* Look up the {@link OvsdbBridgeAugmentation} from the data store
- * given a child {@link InstanceIdentifier<OvsdbTerminationPointAugmentation>}
+ * given a child {@link InstanceIdentifier} of {@link OvsdbTerminationPointAugmentation}
*
- * @param tpId The InstanceIdentifier for a child TerminationPoint augmentation
+ * @param tpIid The InstanceIdentifier for a child TerminationPoint augmentation
+ * @param dataBroker the {@link DataBroker}
* @return the {@link OvsdbBridgeAugmentation}, null if the augmentation isn't present
*/
public static OvsdbBridgeAugmentation getOvsdbBridgeFromTerminationPoint(
InstanceIdentifier<OvsdbTerminationPointAugmentation> tpIid, DataBroker dataBroker) {
- InstanceIdentifier<OvsdbBridgeAugmentation> ovsdbBridgeIid =
- tpIid.firstIdentifierOf(Node.class).augmentation(OvsdbBridgeAugmentation.class);
- if (ovsdbBridgeIid == null) {
- return null;
- }
- ReadTransaction transaction = dataBroker.newReadOnlyTransaction();
- Optional<OvsdbBridgeAugmentation> ovsdbBridge =
- readFromDs(LogicalDatastoreType.OPERATIONAL, ovsdbBridgeIid, transaction );
- if (ovsdbBridge.isPresent()) {
- return ovsdbBridge.get();
+ InstanceIdentifier<Node> nodeIid = tpIid.firstIdentifierOf(Node.class);
+ if (nodeIid != null) {
+ InstanceIdentifier<OvsdbBridgeAugmentation> ovsdbBridgeIid = nodeIid.augmentation(OvsdbBridgeAugmentation.class);
+ if (ovsdbBridgeIid != null) {
+ ReadTransaction transaction = dataBroker.newReadOnlyTransaction();
+ Optional<OvsdbBridgeAugmentation> ovsdbBridge =
+ readFromDs(LogicalDatastoreType.OPERATIONAL, ovsdbBridgeIid, transaction);
+ if (ovsdbBridge.isPresent()) {
+ return ovsdbBridge.get();
+ }
+ }
}
return null;
}
/**
* Get the manager node for this bridge node
*
- * @param bridge
- * @param dataBroker
- * @return The {@link OvsdbBridgAugmentation} for the manager node, null
+ * @param bridge the bridge node
+ * @param dataBroker the {@link DataBroker}
+ * @return The {@link OvsdbBridgeAugmentation} for the manager node, null
* if not found or if it already is the manager node
*/
public static OvsdbNodeAugmentation getManagerNode(OvsdbBridgeAugmentation bridge, DataBroker dataBroker) {
* Use OVSDB CRUD to create any missing tunnels on a given
* Inventory Node.
*
- * @param nodeIid
- * @param node
- * @param tunnelType
+ * @param nodeIid the node instance identifier
+ * @param node the inventory node
+ * @param tunnelType the tunnel type
+ * @param dataBroker the {@link DataBroker}
*/
public static void createTunnelPort(InstanceIdentifier<Node> nodeIid,
Node node, AbstractTunnelType tunnelType, DataBroker dataBroker) {
buildOvsdbBridgeAugmentation(bridge,managerNode);
Node configNode = getNode(node, tps,ovsdbBridgeAugmentation);
LOG.info("About to write nodeId {} node {}",nodeIid,configNode);
- transaction.put(LogicalDatastoreType.CONFIGURATION, nodeIid, configNode);
+ transaction.merge(LogicalDatastoreType.CONFIGURATION, nodeIid, configNode);
submitToDs(transaction);
}