import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.ovsdb.lib.error.SchemaVersionMismatchException;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalRef;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepLogicalSwitchAttributes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepPhysicalSwitchAttributes;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.ConnectionInfo;
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.opendaylight.yangtools.yang.data.impl.codec.DeserializationException;
public class HwvtepSouthboundUtil {
private static final Logger LOG = LoggerFactory.getLogger(HwvtepSouthboundUtil.class);
+ private static final String SCHEMA_VERSION_MISMATCH =
+ "{} column for {} table is not supported by this version of the {} schema: {}";
private static InstanceIdentifierCodec instanceIdentifierCodec;
return node;
}
- public static <D extends org.opendaylight.yangtools.yang.binding.DataObject> boolean deleteNode(
- ReadWriteTransaction transaction, final InstanceIdentifier<D> connectionIid) {
- boolean result = false;
- transaction.delete(LogicalDatastoreType.OPERATIONAL, connectionIid);
- CheckedFuture<Void, TransactionCommitFailedException> future = transaction.submit();
- try {
- future.checkedGet();
- result = true;
- } catch (TransactionCommitFailedException e) {
- LOG.warn("Failed to delete {} ", connectionIid, e);
- }
- return result;
- }
-
public static Optional<HwvtepGlobalAugmentation> getManagingNode(DataBroker db,
HwvtepPhysicalSwitchAttributes pNode) {
Preconditions.checkNotNull(pNode);
return result;
}
- public static Optional<HwvtepGlobalAugmentation> getManagingNode(DataBroker db,
- HwvtepLogicalSwitchAttributes lNode) {
- Preconditions.checkNotNull(lNode);
- Optional<HwvtepGlobalAugmentation> result = null;
- // TODO: Add managed-by to hwvtep-logical-switch-attributes in
- // hwvtep.yang
- /*
- * HwvtepGlobalRef ref = lNode.getManagedBy(); if (ref != null &&
- * ref.getValue() != null) { result = getManagingNode(db, ref); } else {
- * LOG.warn(
- * "Cannot find client for LogicalSwitch without a specified ManagedBy {}"
- * , pNode); return Optional.absent(); } if(!result.isPresent()) {
- * LOG.warn("Failed to find managing node for PhysicalSwitch {}",
- * pNode); } return result;
- */
- return Optional.absent(); // TODO: Delete this once yang is updated
- }
-
- private static Optional<HwvtepGlobalAugmentation> getManagingNode(DataBroker db, HwvtepGlobalRef ref) {
+ public static Optional<HwvtepGlobalAugmentation> getManagingNode(DataBroker db, HwvtepGlobalRef ref) {
try {
ReadOnlyTransaction transaction = db.newReadOnlyTransaction();
@SuppressWarnings("unchecked")
return Optional.absent();
}
}
+ public static String connectionInfoToString(final ConnectionInfo connectionInfo) {
+ return String.valueOf(
+ connectionInfo.getRemoteIp().getValue()) + ":" + connectionInfo.getRemotePort().getValue();
+ }
+
+ public static void schemaMismatchLog(String column, String table, SchemaVersionMismatchException ex) {
+ LOG.debug(SCHEMA_VERSION_MISMATCH, column, table, "hw_vtep", ex.getMessage());
+ }
}