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.ovsdb.lib.error.SchemaVersionMismatchException;
import org.opendaylight.ovsdb.lib.message.TableUpdates;
import org.opendaylight.ovsdb.lib.notation.UUID;
import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
new ArrayList<InstanceIdentifier<ProtocolEntry>>();
Bridge oldBridge = oldBridgeRows.get(bridge.getUuid());
- if (oldBridge != null && oldBridge.getProtocolsColumn() != null) {
- for (String protocol: oldBridge.getProtocolsColumn().getData()) {
- if (bridge.getProtocolsColumn() == null
- || !bridge.getProtocolsColumn().getData().contains(protocol)) {
- Class<? extends OvsdbBridgeProtocolBase> proto =
- SouthboundConstants.OVSDB_PROTOCOL_MAP.inverse().get(protocol);
- InstanceIdentifier<ProtocolEntry> iid = bridgeIid
- .augmentation(OvsdbBridgeAugmentation.class)
- .child(ProtocolEntry.class,
- new ProtocolEntryKey(proto));
- result.add(iid);
+ try {
+ if (oldBridge != null && oldBridge.getProtocolsColumn() != null) {
+ for (String protocol : oldBridge.getProtocolsColumn().getData()) {
+ if (bridge.getProtocolsColumn() == null || !bridge.getProtocolsColumn().getData()
+ .contains(protocol)) {
+ Class<? extends OvsdbBridgeProtocolBase> proto = SouthboundConstants.OVSDB_PROTOCOL_MAP
+ .inverse().get(protocol);
+ InstanceIdentifier<ProtocolEntry> iid = bridgeIid
+ .augmentation(OvsdbBridgeAugmentation.class)
+ .child(ProtocolEntry.class,
+ new ProtocolEntryKey(proto));
+ result.add(iid);
+ }
}
}
+ } catch (SchemaVersionMismatchException e) {
+ LOG.warn("protocol not supported by this version of ovsdb", e);
}
return result;
}
try {
node = transaction.read(LogicalDatastoreType.OPERATIONAL, connectionIid).checkedGet();
} catch (final ReadFailedException e) {
- LOG.debug("Read Operational/DS for Node fail! {}", connectionIid, e);
+ LOG.warn("Read Operational/DS for Node fail! {}", connectionIid, e);
}
return node;
}
Bridge bridge) {
Map<UUID, Controller> updatedControllerRows =
TyperUtils.extractRowsUpdated(Controller.class, getUpdates(), getDbSchema());
+ LOG.debug("setOpenFlowNodeRef: updatedControllerRows: {}", updatedControllerRows);
for (ControllerEntry controllerEntry: SouthboundMapper.createControllerEntries(bridge, updatedControllerRows)) {
- if (controllerEntry != null && controllerEntry.isIsConnected()) {
+ if (controllerEntry != null
+ && controllerEntry.isIsConnected() != null && controllerEntry.isIsConnected()) {
String [] controllerTarget = controllerEntry.getTarget().getValue().split(":");
IpAddress bridgeControllerIpAddress = null;
PortNumber bridgeControllerPortNumber = null;
}
}
} catch (Exception e) {
- LOG.debug("Error getting local ip address {}", e);
+ LOG.warn("Error getting local ip address {}", e);
}
}
}