summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
f1bb801)
Enabling/Disabling BFD monitor was fixed. Updates to the monitor
parameters were not being considered while writing to the data store.
Change-Id: Iaa9a71b353a78d8ac626a81dbe43e1587b8bbdf8
Signed-off-by: Kiran N Upadhyaya <kiran.n.upadhyaya@ericsson.com>
BridgeEntryKey bridgeEntryKey = new BridgeEntryKey(dpnId);
InstanceIdentifier<BridgeEntry> bridgeEntryInstanceIdentifier =
InterfaceMetaUtils.getBridgeEntryIdentifier(bridgeEntryKey);
BridgeEntryKey bridgeEntryKey = new BridgeEntryKey(dpnId);
InstanceIdentifier<BridgeEntry> bridgeEntryInstanceIdentifier =
InterfaceMetaUtils.getBridgeEntryIdentifier(bridgeEntryKey);
+ LOG.debug("Trying to retrieve bridge entry from config for Id: {}", bridgeEntryInstanceIdentifier);
return getBridgeEntryFromConfigDS(bridgeEntryInstanceIdentifier,
dataBroker);
}
return getBridgeEntryFromConfigDS(bridgeEntryInstanceIdentifier,
dataBroker);
}
*/
package org.opendaylight.vpnservice.interfacemgr.renderer.hwvtep.confighelpers;
*/
package org.opendaylight.vpnservice.interfacemgr.renderer.hwvtep.confighelpers;
+import com.google.common.base.Optional;
import com.google.common.util.concurrent.ListenableFuture;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import com.google.common.util.concurrent.ListenableFuture;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.ReadTransaction;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.vpnservice.interfacemgr.IfmUtil;
import org.opendaylight.vpnservice.interfacemgr.commons.InterfaceManagerCommonUtils;
import org.opendaylight.vpnservice.interfacemgr.renderer.hwvtep.utilities.SouthboundUtils;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
import org.opendaylight.vpnservice.interfacemgr.commons.InterfaceManagerCommonUtils;
import org.opendaylight.vpnservice.interfacemgr.renderer.hwvtep.utilities.SouthboundUtils;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
+import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// create hwvtep through ovsdb plugin
WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
if(globalNodeId != null) {
// create hwvtep through ovsdb plugin
WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
if(globalNodeId != null) {
- updateBfdMonitoring(dataBroker, physicalSwitchNodeId, ifTunnel);
+ updateBfdMonitoring(dataBroker, globalNodeId, physicalSwitchNodeId, ifTunnel);
}else{
LOG.debug("specified physical switch is not connected {}", physicalSwitchNodeId);
}else{
LOG.debug("specified physical switch is not connected {}", physicalSwitchNodeId);
/*
* bfd monitoring interval and enable/disbale attributes can be modified
*/
/*
* bfd monitoring interval and enable/disbale attributes can be modified
*/
- public static List<ListenableFuture<Void>> updateBfdMonitoring(DataBroker dataBroker, InstanceIdentifier<Node> nodeId,
+ public static List<ListenableFuture<Void>> updateBfdMonitoring(DataBroker dataBroker, InstanceIdentifier<Node> globalNodeId, InstanceIdentifier<Node> physicalSwitchId,
IfTunnel ifTunnel) {
List<ListenableFuture<Void>> futures = new ArrayList<ListenableFuture<Void>>();
WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
TunnelsBuilder tBuilder = new TunnelsBuilder();
InstanceIdentifier<TerminationPoint> localTEPInstanceIdentifier =
IfTunnel ifTunnel) {
List<ListenableFuture<Void>> futures = new ArrayList<ListenableFuture<Void>>();
WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
TunnelsBuilder tBuilder = new TunnelsBuilder();
InstanceIdentifier<TerminationPoint> localTEPInstanceIdentifier =
- SouthboundUtils.createTEPInstanceIdentifier(nodeId, ifTunnel.getTunnelSource());
+ SouthboundUtils.createTEPInstanceIdentifier(globalNodeId, ifTunnel.getTunnelSource());
InstanceIdentifier<TerminationPoint> remoteTEPInstanceIdentifier =
InstanceIdentifier<TerminationPoint> remoteTEPInstanceIdentifier =
- SouthboundUtils.createTEPInstanceIdentifier(nodeId, ifTunnel.getTunnelDestination());
+ SouthboundUtils.createTEPInstanceIdentifier(globalNodeId, ifTunnel.getTunnelDestination());
InstanceIdentifier<Tunnels> tunnelsInstanceIdentifier = SouthboundUtils.
InstanceIdentifier<Tunnels> tunnelsInstanceIdentifier = SouthboundUtils.
- createTunnelsInstanceIdentifier(nodeId, localTEPInstanceIdentifier, remoteTEPInstanceIdentifier);
+ createTunnelsInstanceIdentifier(physicalSwitchId, localTEPInstanceIdentifier, remoteTEPInstanceIdentifier);
LOG.debug("updating bfd monitoring parameters for the hwvtep {}", tunnelsInstanceIdentifier);
tBuilder.setKey(new TunnelsKey(new HwvtepPhysicalLocatorRef(localTEPInstanceIdentifier),
new HwvtepPhysicalLocatorRef(remoteTEPInstanceIdentifier)));
List <BfdParams> bfdParams = new ArrayList<>();
LOG.debug("updating bfd monitoring parameters for the hwvtep {}", tunnelsInstanceIdentifier);
tBuilder.setKey(new TunnelsKey(new HwvtepPhysicalLocatorRef(localTEPInstanceIdentifier),
new HwvtepPhysicalLocatorRef(remoteTEPInstanceIdentifier)));
List <BfdParams> bfdParams = new ArrayList<>();
- SouthboundUtils.fillBfdParameters(bfdParams, null);
+ SouthboundUtils.fillBfdParameters(bfdParams, ifTunnel);
tBuilder.setBfdParams(bfdParams);
transaction.merge(LogicalDatastoreType.CONFIGURATION, tunnelsInstanceIdentifier,tBuilder.build(), true);
futures.add(transaction.submit());
tBuilder.setBfdParams(bfdParams);
transaction.merge(LogicalDatastoreType.CONFIGURATION, tunnelsInstanceIdentifier,tBuilder.build(), true);
futures.add(transaction.submit());
InstanceIdentifier<TerminationPoint> remoteTEPInstanceIdentifier) {
TunnelsKey tunnelsKey = new TunnelsKey(new HwvtepPhysicalLocatorRef(localTEPInstanceIdentifier),
new HwvtepPhysicalLocatorRef(remoteTEPInstanceIdentifier));
InstanceIdentifier<TerminationPoint> remoteTEPInstanceIdentifier) {
TunnelsKey tunnelsKey = new TunnelsKey(new HwvtepPhysicalLocatorRef(localTEPInstanceIdentifier),
new HwvtepPhysicalLocatorRef(remoteTEPInstanceIdentifier));
- return InstanceIdentifier.builder(NetworkTopology.class).child(Topology.class, new TopologyKey(HWVTEP_TOPOLOGY_ID))
+
+ InstanceIdentifier<Tunnels> tunnelInstanceId = InstanceIdentifier.builder(NetworkTopology.class).child(Topology.class, new TopologyKey(HWVTEP_TOPOLOGY_ID))
.child(Node.class, new NodeKey(nodeId.firstKeyOf(Node.class))).augmentation(PhysicalSwitchAugmentation.class)
.child(Tunnels.class, tunnelsKey).build();
.child(Node.class, new NodeKey(nodeId.firstKeyOf(Node.class))).augmentation(PhysicalSwitchAugmentation.class)
.child(Tunnels.class, tunnelsKey).build();
+ return tunnelInstanceId;
}
public static String getTerminationPointKeyString(String ipAddress) {
}
public static String getTerminationPointKeyString(String ipAddress) {
// handle pre-provisioning of tunnels for the newly connected dpn
BridgeEntry bridgeEntry = InterfaceMetaUtils.getBridgeEntryFromConfigDS(dpnId, dataBroker);
if (bridgeEntry == null) {
// handle pre-provisioning of tunnels for the newly connected dpn
BridgeEntry bridgeEntry = InterfaceMetaUtils.getBridgeEntryFromConfigDS(dpnId, dataBroker);
if (bridgeEntry == null) {
+ LOG.debug("Bridge entry not found in config DS for dpn: {}", dpnId);
futures.add(writeTransaction.submit());
return futures;
}
futures.add(writeTransaction.submit());
return futures;
}
public static void addBridge(InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid,
OvsdbBridgeAugmentation bridgeAugmentation,
DataBroker dataBroker, List<ListenableFuture<Void>> futures){
public static void addBridge(InstanceIdentifier<OvsdbBridgeAugmentation> bridgeIid,
OvsdbBridgeAugmentation bridgeAugmentation,
DataBroker dataBroker, List<ListenableFuture<Void>> futures){
+ LOG.debug("adding bridge: {}", bridgeAugmentation.getBridgeName());
WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
NodeId nodeId = InstanceIdentifier.keyOf(bridgeIid.firstIdentifierOf(Node.class)).getNodeId();
NodeBuilder bridgeNodeBuilder = new NodeBuilder();
WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
NodeId nodeId = InstanceIdentifier.keyOf(bridgeIid.firstIdentifierOf(Node.class)).getNodeId();
NodeBuilder bridgeNodeBuilder = new NodeBuilder();