package org.opendaylight.ovsdb.southbound.transactions.md;
+import static org.opendaylight.ovsdb.southbound.SouthboundUtil.schemaMismatchLog;
+
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
+import com.google.common.net.InetAddresses;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-
import org.apache.commons.lang3.math.NumberUtils;
import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.net.InetAddresses;
-
public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand {
private static final Logger LOG = LoggerFactory.getLogger(OvsdbBridgeUpdateCommand.class);
private Map<UUID,Bridge> updatedBridgeRows;
}
}
} catch (SchemaVersionMismatchException e) {
- // We don't care about the exception stack trace here
- LOG.warn("protocol not supported by this version of ovsdb: {}", e.getMessage());
+ schemaMismatchLog("protocols", "Bridge", e);
}
return result;
}
setFailMode(ovsdbBridgeAugmentationBuilder, bridge);
setOpenFlowNodeRef(ovsdbBridgeAugmentationBuilder, bridge);
setManagedBy(ovsdbBridgeAugmentationBuilder);
+ setAutoAttach(ovsdbBridgeAugmentationBuilder, bridge);
bridgeNodeBuilder.addAugmentation(OvsdbBridgeAugmentation.class, ovsdbBridgeAugmentationBuilder.build());
LOG.debug("Built with the intent to store bridge data {}",
return bridgeNodeBuilder.build();
}
+ private void setAutoAttach(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder,
+ Bridge bridge) {
+ try {
+ if (bridge.getAutoAttachColumn() != null
+ && bridge.getAutoAttachColumn().getData() != null
+ && !bridge.getAutoAttachColumn().getData().isEmpty()) {
+ Set<UUID> uuids = bridge.getAutoAttachColumn().getData();
+ for (UUID uuid : uuids) {
+ ovsdbBridgeAugmentationBuilder.setAutoAttach(new Uuid(uuid.toString()));
+ }
+ }
+ } catch (SchemaVersionMismatchException e) {
+ schemaMismatchLog("auto_attach", "Bridge", e);
+ }
+ }
+
private void setManagedBy(OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder) {
InstanceIdentifier<Node> connectionNodePath = getOvsdbConnectionInstance().getInstanceIdentifier();
ovsdbBridgeAugmentationBuilder.setManagedBy(new OvsdbNodeRef(connectionNodePath));
}
}
}
+
private InstanceIdentifier<Node> getInstanceIdentifier(Bridge bridge) {
return SouthboundMapper.createInstanceIdentifier(getOvsdbConnectionInstance(),
bridge);