Separate Logger to capture events for debugging.
Change-Id: I2410d8b336ab83ba2ec186ebcdbfb77e915dbf1b
Signed-off-by: Nidhi <nidhi.adhvaryu@ericsson.com>
@Singleton
public final class InterfaceManagerCommonUtils {
private static final Logger LOG = LoggerFactory.getLogger(InterfaceManagerCommonUtils.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private static final String NOVA_PORT_REGEX = "(tap|vhu)[0-9a-f]{8}-[0-9a-f]{2}";
private static final String TUNNEL_PORT_REGEX = "tun[0-9a-f]{11}";
+ "interface-state is available", interfaceName);
return;
}
+ EVENT_LOGGER.debug("IFM-OvsInterfaceConfig,Interface-State,ADD {}", interfaceName);
LOG.debug("adding interface state for {}", interfaceName);
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang
.ietf.interfaces.rev140508.interfaces.state.Interface.OperStatus operStatus = ifState
implements RecoverableListener {
private static final Logger LOG = LoggerFactory.getLogger(InterfaceInventoryStateListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
+
private final DataBroker dataBroker;
private final ManagedNewTransactionRunner txRunner;
private final IdManagerService idManager;
protected void remove(InstanceIdentifier<FlowCapableNodeConnector> key,
FlowCapableNodeConnector flowCapableNodeConnectorOld) {
String interfaceName = flowCapableNodeConnectorOld.getName();
+ EVENT_LOGGER.debug("IFM-InterfaceInventoryState,REMOVE {}", interfaceName);
if (interfacemgrProvider.isItmDirectTunnelsEnabled()
&& InterfaceManagerCommonUtils.isTunnelPort(interfaceName)
&& interfaceManagerCommonUtils.getInterfaceFromConfigDS(interfaceName) == null) {
LOG.debug("Received NodeConnector Remove Event: {}, {}", key, flowCapableNodeConnectorOld);
String portName = InterfaceManagerCommonUtils.getPortNameForInterface(nodeConnectorId,
flowCapableNodeConnectorOld.getName());
+ EVENT_LOGGER.debug("IFM-InterfaceInventoryState Entity Owner,REMOVE {},{}", portName,
+ nodeConnectorId.getValue());
remove(nodeConnectorId, null, flowCapableNodeConnectorOld, portName, true);
}
protected void update(InstanceIdentifier<FlowCapableNodeConnector> key, FlowCapableNodeConnector fcNodeConnectorOld,
FlowCapableNodeConnector fcNodeConnectorNew) {
String interfaceName = fcNodeConnectorNew.getName();
+ EVENT_LOGGER.debug("IFM-InterfaceInventoryState,UPDATE {},{}", fcNodeConnectorNew.getName(),
+ fcNodeConnectorNew.getReason());
if (interfacemgrProvider.isItmDirectTunnelsEnabled()
&& InterfaceManagerCommonUtils.isTunnelPort(interfaceName)
&& interfaceManagerCommonUtils.getInterfaceFromConfigDS(interfaceName) == null) {
NodeConnectorId nodeConnectorId = InstanceIdentifier.keyOf(key.firstIdentifierOf(NodeConnector.class)).getId();
String portName = InterfaceManagerCommonUtils.getPortNameForInterface(nodeConnectorId,
fcNodeConnectorNew.getName());
+ EVENT_LOGGER.debug("IFM-InterfaceInventoryState Entity Owner,UPDATE {},{}", portName,
+ nodeConnectorId.getValue());
InterfaceStateUpdateWorker portStateUpdateWorker = new InterfaceStateUpdateWorker(key, fcNodeConnectorOld,
fcNodeConnectorNew, portName);
@Override
protected void add(InstanceIdentifier<FlowCapableNodeConnector> key, FlowCapableNodeConnector fcNodeConnectorNew) {
String interfaceName = fcNodeConnectorNew.getName();
+ EVENT_LOGGER.debug("IFM-InterfaceInventoryState,ADD {}", interfaceName);
if (interfacemgrProvider.isItmDirectTunnelsEnabled()
&& InterfaceManagerCommonUtils.isTunnelPort(interfaceName)
&& interfaceManagerCommonUtils.getInterfaceFromConfigDS(interfaceName) == null) {
LOG.debug("Received NodeConnector Add Event: {}, {}", key, fcNodeConnectorNew);
String portName = InterfaceManagerCommonUtils.getPortNameForInterface(nodeConnectorId,
fcNodeConnectorNew.getName());
+ EVENT_LOGGER.debug("IFM-InterfaceInventoryState Entity Owner,ADD {},{}", portName, nodeConnectorId.getValue());
if (InterfaceManagerCommonUtils.isNovaPort(portName) || InterfaceManagerCommonUtils.isK8SPort(portName)) {
NodeConnectorId nodeConnectorIdOld = null;
//VM Migration or Port Number Update: Delete existing interface entry for older DPN
LOG.trace("Removing entry for port id {} from map",nodeConnectorIdOld.getValue());
portNameCache.remove(nodeConnectorIdOld.getValue());
+ EVENT_LOGGER.debug("IFM-VMMigration,{}", portName);
LOG.debug("Triggering NodeConnector Remove Event for the interface: {}, {}, {}", portName,
nodeConnectorId, nodeConnectorIdOld);
remove(nodeConnectorId, nodeConnectorIdOld, fcNodeConnectorNew, portName, false);
fcNodeConnectorOld,
operTx);
} else {
+ EVENT_LOGGER.debug("IFM-OvsInterfaceState,REMOVE {}", interfaceName);
InterfaceManagerCommonUtils.deleteStateEntry(operTx, interfaceName);
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
.Interface iface = interfaceManagerCommonUtils.getInterfaceFromConfigDS(interfaceName);
FlowBasedServicesUtils.removeIngressFlow(interfaceName, dpId, txRunner, futures);
IfmUtil.unbindService(txRunner, coordinator, iface.getName(),
FlowBasedServicesUtils.buildDefaultServiceId(iface.getName()));
+ EVENT_LOGGER.debug("IFM-InterfaceState, REMOVE, IngressFlow {}", interfaceName);
}
// Delete the Vpn Interface from DpnToInterface Op DS.
InterfaceManagerCommonUtils.deleteDpnToInterface(dpId, interfaceName, operTx);
AsyncClusteredDataTreeChangeListenerBase<OvsdbTerminationPointAugmentation, TerminationPointStateListener>
implements RecoverableListener {
private static final Logger LOG = LoggerFactory.getLogger(TerminationPointStateListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final InterfacemgrProvider interfaceMgrProvider;
private final DataBroker dataBroker;
}
if (tpOld.getInterfaceBfdStatus() != null) {
LOG.debug("Received termination point removed notification with bfd status values {}", tpOld.getName());
+ EVENT_LOGGER.debug("IFM-TerminationPointState,REMOVE {}", tpOld.getName());
RendererStateRemoveWorker rendererStateRemoveWorker = new RendererStateRemoveWorker(tpOld);
coordinator.enqueueJob(tpOld.getName(), rendererStateRemoveWorker);
}
LOG.debug("Received Update DataChange Notification for ovsdb termination point {}", tpNew.getName());
-
+ EVENT_LOGGER.debug("IFM-TerminationPointState,UPDATE {}", tpNew.getName());
if (org.opendaylight.genius.interfacemanager.renderer.ovs.utilities
.SouthboundUtils.changeInBfdMonitoringDetected(tpOld, tpNew)
|| org.opendaylight.genius.interfacemanager.renderer.ovs.utilities
public final class SouthboundUtils {
private static final Logger LOG = LoggerFactory.getLogger(SouthboundUtils.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
+
public static final String HWVTEP_TOPOLOGY = "hwvtep:1";
public static final TopologyId HWVTEP_TOPOLOGY_ID = new TopologyId(new Uri(HWVTEP_TOPOLOGY));
public static final String TEP_PREFIX = "vxlan_over_ipv4:";
.buildStateInterfaceId(interfaceInfo.getName());
ifaceBuilder.withKey(IfmUtil.getStateInterfaceKeyFromName(interfaceInfo.getName()));
transaction.put(ifStateId, ifaceBuilder.build(), CREATE_MISSING_PARENTS);
+ EVENT_LOGGER.info("IFM-TepInterfaceState,ADD {}", interfaceInfo.getName());
}
public static void fillBfdParameters(List<BfdParams> bfdParams, IfTunnel ifTunnel) {
@Singleton
public final class OvsInterfaceConfigRemoveHelper {
private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceConfigRemoveHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final DataBroker dataBroker;
private final ManagedNewTransactionRunner txRunner;
cleanUpInterfaceWithUnknownState(interfaceName, parentRefs, null, tx);
BigInteger dpId = IfmUtil.getDpnFromInterface(ifState);
+ EVENT_LOGGER.debug("IFM-OvsInterfaceConfig,REMOVE {}", interfaceName);
FlowBasedServicesUtils.removeIngressFlow(interfaceName, dpId, txRunner, futures);
interfaceManagerCommonUtils.deleteParentInterfaceEntry(parentRefs.getParentInterface());
@Singleton
public class OvsInterfaceConfigUpdateHelper {
private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceConfigUpdateHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final ManagedNewTransactionRunner txRunner;
private final JobCoordinator coordinator;
futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
tx -> handleTunnelMonitorUpdates(tx, interfaceNew, interfaceOld)));
} else if (!Objects.equals(interfaceNew.isEnabled(), interfaceOld.isEnabled())) {
+ EVENT_LOGGER.debug("IFM-OvsInterfaceConfig,UPDATE {}", interfaceNew.getName());
futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL,
tx -> handleInterfaceAdminStateUpdates(tx, interfaceNew, ifState)));
}
@Singleton
public class OvsVlanMemberConfigAddHelper {
private static final Logger LOG = LoggerFactory.getLogger(OvsVlanMemberConfigAddHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final ManagedNewTransactionRunner txRunner;
private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
public List<ListenableFuture<Void>> addConfiguration(ParentRefs parentRefs, Interface interfaceNew) {
LOG.info("adding vlan member configuration for interface {}", interfaceNew.getName());
+ EVENT_LOGGER.debug("IFM-OVSVlanMemberConfig,ADD Parent {},Child {}", parentRefs.getParentInterface(),
+ interfaceNew.getName());
List<ListenableFuture<Void>> futures = new ArrayList<>();
futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
tx -> interfaceManagerCommonUtils.createInterfaceChildEntry(tx, parentRefs.getParentInterface(),
@Singleton
public class OvsVlanMemberConfigUpdateHelper {
private static final Logger LOG = LoggerFactory.getLogger(OvsVlanMemberConfigUpdateHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final ManagedNewTransactionRunner txRunner;
private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
IfL2vlan ifL2vlanNew, Interface interfaceNew) {
LOG.info("updating interface configuration for vlan memeber {} with parent-interface {}", interfaceNew
.getName(), parentRefsNew.getParentInterface());
+ EVENT_LOGGER.debug("IFM-OVSVlanMemberConfig,UPDATE Parent {},Child {}", parentRefsNew.getParentInterface(),
+ interfaceNew.getName());
List<ListenableFuture<Void>> futures = new ArrayList<>();
ParentRefs parentRefsOld = interfaceOld.augmentation(ParentRefs.class);
@Singleton
public final class OvsInterfaceStateAddHelper {
private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceStateAddHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final ManagedNewTransactionRunner txRunner;
private final InterfaceManagerCommonUtils interfaceManagerCommonUtils;
ifState.getIfIndex());
futures.add(FlowBasedServicesUtils.bindDefaultEgressDispatcherService(txRunner, iface,
Long.toString(portNo), interfaceName, ifState.getIfIndex()));
+ EVENT_LOGGER.debug("IFM-OvsInterfaceState, ADD, IngressFlow {}", interfaceName);
}
}));
-
+ EVENT_LOGGER.debug("IFM-OvsInterfaceState,ADD {}", interfaceName);
return futures;
}
Integer ifIndex,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang
.ietf.interfaces.rev140508.interfaces.Interface interfaceInfo, String interfaceName, long portNo) {
+ EVENT_LOGGER.debug("IFM-OvsInterfaceState,ADD,TunnelIngressFlow {}", interfaceName);
BigInteger dpId = IfmUtil.getDpnFromNodeConnectorId(nodeConnectorId);
ListenableFuture<Void> future = txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> {
interfaceManagerCommonUtils.addTunnelIngressFlow(
@Singleton
public class OvsInterfaceTopologyStateUpdateHelper {
private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceTopologyStateUpdateHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final ManagedNewTransactionRunner txRunner;
private final EntityOwnershipUtils entityOwnershipUtils;
.getInterfaceStateFromOperDS(terminationPointNew.getName());
if (interfaceState != null && interfaceState.getOperStatus() != Interface.OperStatus.Unknown
&& interfaceState.getOperStatus() != interfaceBfdStatus) {
+ EVENT_LOGGER.debug("IFM-OvsInterfaceTopologyState,UPDATE {} to STATUS {}", interfaceName,
+ interfaceState.getOperStatus());
LOG.debug("updating tunnel state for interface {} as {}", interfaceName, interfaceBfdStatus);
return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL,
tx -> InterfaceManagerCommonUtils.updateOpState(tx, interfaceName, interfaceBfdStatus)));
@Singleton
public class SouthboundUtils {
private static final Logger LOG = LoggerFactory.getLogger(SouthboundUtils.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private static final String BFD_PARAM_ENABLE = "enable";
private static final String BFD_PARAM_MIN_TX = "min_tx";
private void addTunnelPortToBridge(IfTunnel ifTunnel, InstanceIdentifier<?> bridgeIid, Interface iface,
String portName) {
LOG.debug("adding tunnel port {} to bridge {}", portName, bridgeIid);
-
+ EVENT_LOGGER.debug("IFM-OvsInterfaceConfig,ADD Tunnelport {} Bridgeid {}", portName, bridgeIid);
Class<? extends InterfaceTypeBase> type = TUNNEL_TYPE_MAP.get(ifTunnel.getTunnelInterfaceType());
if (type == null) {
RecoverableListener {
private static final Logger LOG = LoggerFactory.getLogger(FlowBasedServicesConfigListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private ListenerRegistration<FlowBasedServicesConfigListener> listenerRegistration;
private final DataBroker dataBroker;
futures.add(txRunner.callWithNewReadWriteTransactionAndSubmit(OPERATIONAL, tx -> {
BoundServicesState boundServicesState = FlowBasedServicesUtils
.getBoundServicesState(tx, interfaceName, serviceMode);
+ EVENT_LOGGER.debug("IFM-ServiceBindingConfig, BIND {}, {}", interfaceName,
+ boundServicesNew.getServiceName());
// if service-binding state is not present, construct the same using ifstate
if (boundServicesState == null) {
Interface ifState = interfaceManagerCommonUtils.getInterfaceState(interfaceName);
if (boundServicesList == null || boundServicesList.isEmpty()) {
FlowBasedServicesUtils.removeBoundServicesState(tx, interfaceName, serviceMode);
}
+ EVENT_LOGGER.debug("IFM-ServiceBindingConfig, UNBIND {}, {}", interfaceName,
+ boundServicesNew.getServiceName());
flowBasedServicesConfigRemovable.unbindService(futures, interfaceName, boundServicesNew,
boundServicesList, boundServiceState);
}));
public final class FlowBasedServicesUtils {
private static final Logger LOG = LoggerFactory.getLogger(FlowBasedServicesUtils.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private static final int DEFAULT_DISPATCHER_PRIORITY = 10;
private FlowBasedServicesUtils() {
.child(Table.class, new TableKey(flow.getTableId())).child(Flow.class, flowKey).build();
writeTransaction.put(flowInstanceId, flow, CREATE_MISSING_PARENTS);
+ EVENT_LOGGER.debug("IFM,InstallFlow {}", flow.getId());
}
private static Node buildInventoryDpnNode(BigInteger dpnId) {
.build();
writeTransaction.delete(flowInstanceId);
+ EVENT_LOGGER.debug("IFM,removeFlow {}", flowRef);
}
public static void removeEgressDispatcherFlows(BigInteger dpId, String iface,
.build();
writeTransaction.delete(flowInstanceId);
+ EVENT_LOGGER.debug("IFM,removeFlow {}", flowRef);
}
public static void removeEgressSplitHorizonDispatcherFlow(BigInteger dpId, String iface,
public class DPNTEPsInfoCache extends InstanceIdDataObjectCache<DPNTEPsInfo> {
private static final Logger LOG = LoggerFactory.getLogger(DPNTEPsInfoCache.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final DirectTunnelUtils directTunnelUtils;
private final JobCoordinator coordinator;
.setTunnelEndPointInfo(tsInfo.getTunnelEndPointInfo())
.setSrcDpnTepsInfo(srcDpnTepsInfo).setDstDpnTepsInfo(dstDpnTepsInfo).build();
LOG.debug("Queueing TunnelStateAddWorker to DJC for tunnel {}", interfaceName);
+ EVENT_LOGGER.debug("ITM-DpnTepsInfoCache,ADD {}", interfaceName);
coordinator.enqueueJob(interfaceName,
new TunnelStateAddWorkerForNodeConnector(new TunnelStateAddWorker(directTunnelUtils, txRunner),
tunnelStateInfoNew), ITMConstants.JOB_MAX_RETRIES);
public class DpnTepStateCache extends DataObjectCache<BigInteger, DpnsTeps> {
private static final Logger LOG = LoggerFactory.getLogger(DpnTepStateCache.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final DataBroker dataBroker;
private final JobCoordinator coordinator;
TunnelStateAddWorkerForNodeConnector ifStateAddWorker =
new TunnelStateAddWorkerForNodeConnector(new TunnelStateAddWorker(directTunnelUtils, txRunner),
tunnelStateInfoNew);
+ EVENT_LOGGER.debug("ITM-DpnTepStateCache,ADD {}", remoteDpns.getTunnelName());
coordinator.enqueueJob(remoteDpns.getTunnelName(), ifStateAddWorker, ITMConstants.JOB_MAX_RETRIES);
}
}
public final class ItmTunnelStateRemoveHelper {
private static final Logger LOG = LoggerFactory.getLogger(ItmTunnelStateRemoveHelper.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private ItmTunnelStateRemoveHelper() { }
StateTunnelListKey tlKey = ItmUtils.getTunnelStateKey(iface);
InstanceIdentifier<StateTunnelList> stListId = ItmUtils.buildStateTunnelListId(tlKey);
LOG.trace("Deleting tunnel_state for Id: {}", stListId);
+ EVENT_LOGGER.debug("ITM-ItmTunnelState,REMOVE {}", stListId);
ITMBatchingUtils.delete(stListId, ITMBatchingUtils.EntityType.DEFAULT_OPERATIONAL);
return Collections.emptyList();
}
extends AbstractClusteredSyncDataTreeChangeListener<OvsdbTerminationPointAugmentation> {
private static final Logger LOG = LoggerFactory.getLogger(TerminationPointStateListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final ManagedNewTransactionRunner txRunner;
private final EntityOwnershipUtils entityOwnershipUtils;
LOG.debug("Received Update DataChange Notification for ovsdb termination point {}", tpNew.getName());
if (DirectTunnelUtils.changeInBfdMonitoringDetected(tpOld, tpNew)
|| DirectTunnelUtils.ifBfdStatusNotEqual(tpOld, tpNew)) {
+ EVENT_LOGGER.debug("ITM-TerminationPointState,UPDATE {}", tpNew.getName());
LOG.info("Bfd Status changed for ovsdb termination point identifier: {}, old: {}, new: {}",
identifier, tpOld, tpNew);
RendererTunnelStateUpdateWorker rendererStateAddWorker = new RendererTunnelStateUpdateWorker(tpNew);
&& dpnTepStateCache.isInternal(tpNew.getName())) {
LOG.debug("Received add DataChange Notification for ovsdb termination point {}", tpNew.getName());
if (tpNew.getInterfaceBfdStatus() != null && !tpNew.getInterfaceBfdStatus().isEmpty()) {
+ EVENT_LOGGER.debug("ITM-TerminationPointState,ADD {}", tpNew.getName());
LOG.debug("Received termination point added notification with bfd status values {}", tpNew.getName());
RendererTunnelStateUpdateWorker rendererStateUpdateWorker = new RendererTunnelStateUpdateWorker(tpNew);
coordinator.enqueueJob(tpNew.getName(), rendererStateUpdateWorker, ITMConstants.JOB_MAX_RETRIES);
AbstractClusteredSyncDataTreeChangeListener<FlowCapableNodeConnector> {
private static final Logger LOG = LoggerFactory.getLogger(TunnelInventoryStateListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final JobCoordinator coordinator;
private final ManagedNewTransactionRunner txRunner;
@NonNull FlowCapableNodeConnector flowCapableNodeConnector) {
String portName = flowCapableNodeConnector.getName();
LOG.debug("InterfaceInventoryState Remove for {}", portName);
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState,REMOVE DTCN received for {}",
+ flowCapableNodeConnector.getName());
// ITM Direct Tunnels Return if its not tunnel port and if its not Internal
if (!DirectTunnelUtils.TUNNEL_PORT_PREDICATE.test(portName) && !portName.startsWith("of")) {
LOG.debug("Node Connector Remove - {} Interface is not a tunnel I/f, so no-op", portName);
private void remove(NodeConnectorId nodeConnectorId,
FlowCapableNodeConnector fcNodeConnectorNew, String portName) {
+ LOG.debug("TunnelInventoryState REMOVE for {}", portName);
LOG.debug("InterfaceInventoryState REMOVE for {}", portName);
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState Entity Owner, REMOVE {} {}", nodeConnectorId.getValue(),
+ portName);
TunnelInterfaceStateRemoveWorker portStateRemoveWorker = new TunnelInterfaceStateRemoveWorker(nodeConnectorId,
fcNodeConnectorNew, portName);
coordinator.enqueueJob(portName, portStateRemoveWorker, ITMConstants.JOB_MAX_RETRIES);
public void update(@NonNull InstanceIdentifier<FlowCapableNodeConnector> key,
@NonNull FlowCapableNodeConnector fcNodeConnectorOld,
@NonNull FlowCapableNodeConnector fcNodeConnectorNew) {
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState,UPDATE DTCN received for {}", fcNodeConnectorOld.getName());
String portName = fcNodeConnectorNew.getName();
if (!DirectTunnelUtils.TUNNEL_PORT_PREDICATE.test(portName)) {
LOG.debug("Node Connector Update - {} Interface is not a tunnel I/f, so no-op", portName);
TunnelInterfaceStateUpdateWorker portStateUpdateWorker =
new TunnelInterfaceStateUpdateWorker(key, fcNodeConnectorOld, fcNodeConnectorNew, portName);
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState Entity Owner, UPDATE {} {} Reason {}",
+ fcNodeConnectorNew.getName(), portName, fcNodeConnectorNew.getReason());
coordinator.enqueueJob(portName, portStateUpdateWorker, ITMConstants.JOB_MAX_RETRIES);
}
public void add(@NonNull InstanceIdentifier<FlowCapableNodeConnector> key,
@NonNull FlowCapableNodeConnector fcNodeConnectorNew) {
LOG.info("Received NodeConnector Add Event: {}, {}", key, fcNodeConnectorNew);
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState,ADD DTCN received for {}", fcNodeConnectorNew.getName());
String portName = fcNodeConnectorNew.getName();
// Return if its not tunnel port and if its not Internal
if (!DirectTunnelUtils.TUNNEL_PORT_PREDICATE.test(portName) && !portName.startsWith("of")) {
if (tunnelEndPtInfo != null && tunnelStateInfo.getSrcDpnTepsInfo() != null
&& tunnelStateInfo.getDstDpnTepsInfo() != null && directTunnelUtils.isEntityOwner()) {
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState Entity Owner,ADD {}", portName);
coordinator.enqueueJob(portName,
new TunnelStateAddWorkerForNodeConnector(new TunnelStateAddWorker(directTunnelUtils, txRunner),
tunnelStateInfo), ITMConstants.JOB_MAX_RETRIES);
// modify the attributes in interface operational DS
handleInterfaceStateUpdates(tx, dpnTepInfo, true, interfaceName, flowCapableNodeConnectorNew.getName(),
operStatusNew);
-
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState, UPDATE {} CHGED {} completed", interfaceName,
+ operStatusNew.getName());
}));
} else {
return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, tx -> {
// modify the attributes in interface operational DS
handleInterfaceStateUpdates(tx, dpnTepInfo, false, interfaceName,
flowCapableNodeConnectorNew.getName(), operStatusNew);
-
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState, UPDATE {} completed", interfaceName);
}));
}
}
if (flowCapableNodeConnector.getReason() != PortReason.Delete) {
//Remove event is because of connection lost between controller and switch, or switch shutdown.
// Hence, dont remove the interface but set the status as "unknown"
+
if (interfaceName.startsWith("of")) {
LOG.debug("Received remove state for dpid {}", dpId.intValue());
for (Map.Entry<String, NodeConnectorInfo> entry : meshedMap.entrySet()) {
futures.add(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL,
tx -> updateInterfaceStateOnNodeRemove(tx, interfaceName, flowCapableNodeConnector)));
}
-
} else {
LOG.debug("removing interface state for interface: {}", interfaceName);
+ EVENT_LOGGER.debug("ITM-TunnelInventoryState,REMOVE Table 0 flow for {} completed", interfaceName);
// removing interfaces are already done in delete worker
meshedMap.remove(dpId.toString());
}
public class TunnelTopologyStateListener extends AbstractClusteredSyncDataTreeChangeListener<OvsdbBridgeAugmentation> {
private static final Logger LOG = LoggerFactory.getLogger(TunnelTopologyStateListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final JobCoordinator coordinator;
private final ManagedNewTransactionRunner txRunner;
@Override
public void remove(@NonNull InstanceIdentifier<OvsdbBridgeAugmentation> identifier,
@NonNull OvsdbBridgeAugmentation bridgeOld) {
+ EVENT_LOGGER.debug("ITM-TunnelTopologyState, REMOVE DTCN received");
if (directTunnelUtils.isEntityOwner()) {
LOG.debug("Received Remove DataChange Notification for identifier: {}, ovsdbBridgeAugmentation: {}",
identifier, bridgeOld);
@Override
public void update(@NonNull InstanceIdentifier<OvsdbBridgeAugmentation> identifier,
@NonNull OvsdbBridgeAugmentation bridgeOld, @NonNull OvsdbBridgeAugmentation bridgeNew) {
+ EVENT_LOGGER.debug("ITM-TunnelTopologyState, UPDATE DTCN received");
if (!directTunnelUtils.isEntityOwner()) {
return;
@Override
public void add(@NonNull InstanceIdentifier<OvsdbBridgeAugmentation> identifier,
@NonNull OvsdbBridgeAugmentation bridgeNew) {
+ EVENT_LOGGER.debug("ITM-TunnelTopologyState, ADD DTCN received");
if (directTunnelUtils.isEntityOwner()) {
LOG.debug("Received Add DataChange Notification for identifier: {}, ovsdbBridgeAugmentation: {}",
identifier, bridgeNew);
}
return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> {
LOG.debug("removing bridge references for bridge: {}, dpn: {}", bridgeOld, dpnId);
+ EVENT_LOGGER.debug("ITM-TunnelTopologyState, REMOVE {} completed", bridgeOld.getBridgeName().getValue());
//delete bridge reference entry in interface meta operational DS
deleteOvsBridgeRefEntry(dpnId, tx);
LOG.debug("Interface {} not found in config DS", portName);
}
}
+ EVENT_LOGGER.debug("ITM-TunnelTopologyState, ADD port on {} completed", bridgeName);
}
}
BigInteger dpnId = directTunnelUtils.getDpnId(bridgeNew.getDatapathId());
LOG.debug("adding bridge references for bridge: {}, dpn: {}", bridgeNew, dpnId);
+ EVENT_LOGGER.debug("TunnelTopologyState, ADD bridge {} for {}", bridgeNew.getBridgeName(), dpnId);
// create bridge reference entry in interface meta operational DS
return Collections.singletonList(txRunner.callWithNewWriteOnlyTransactionAndSubmit(tx -> {
public final class TunnelStateAddWorker {
private static final Logger LOG = LoggerFactory.getLogger(TunnelStateAddWorker.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final DirectTunnelUtils directTunnelUtils;
private final ManagedNewTransactionRunner txRunner;
String interfaceName = tunnelName;
long portNo = DirectTunnelUtils.getPortNumberFromNodeConnectorId(nodeConnectorId);
+ EVENT_LOGGER.debug("ITM-TunnelState, ADD to oper DS {}", interfaceName);
if (portNo == ITMConstants.INVALID_PORT_NO) {
LOG.error("Cannot derive port number, not proceeding with Interface State addition for interface: {}",
interfaceName);
+ EVENT_LOGGER.debug("ITM-TunnelState,ADD Table 0 flow for {} completed", interfaceName);
return Collections.emptyList();
}
public class InterfaceStateListener extends AbstractSyncDataTreeChangeListener<Interface> {
private static final Logger LOG = LoggerFactory.getLogger(InterfaceStateListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final DataBroker dataBroker;
private final JobCoordinator jobCoordinator;
@Override
public void add(@NonNull InstanceIdentifier<Interface> instanceIdentifier, @NonNull Interface iface) {
LOG.trace("Interface added: {}", iface);
+ EVENT_LOGGER.debug("ITM-InterfaceState,ADD {}", iface.getName());
if (ItmUtils.isItmIfType(iface.getType())) {
LOG.debug("Interface of type Tunnel added: {}", iface.getName());
jobCoordinator.enqueueJob(ITMConstants.ITM_PREFIX + iface.getName(), () -> ItmTunnelStateAddHelper
@Override
public void remove(@NonNull InstanceIdentifier<Interface> instanceIdentifier, @NonNull Interface iface) {
LOG.trace("Interface deleted: {}", iface);
+ EVENT_LOGGER.debug("ITM-InterfaceState,REMOVE {}", iface.getName());
if (ItmUtils.isItmIfType(iface.getType())) {
LOG.debug("Tunnel interface deleted: {}", iface.getName());
jobCoordinator.enqueueJob(ITMConstants.ITM_PREFIX + iface.getName(),
* type can't be edited on the fly
*/
if (ItmUtils.isItmIfType(originalInterface.getType())) {
+ EVENT_LOGGER.debug("ITM-InterfaceState,UPDATE {}", updatedInterface.getName());
LOG.trace("Interface updated. Old: {} New: {}", originalInterface, updatedInterface);
OperStatus operStatus = updatedInterface.getOperStatus();
if (!Objects.equals(originalInterface.getOperStatus(), updatedInterface.getOperStatus())) {
implements RecoverableListener {
private static final Logger LOG = LoggerFactory.getLogger(TransportZoneListener.class);
+ private static final Logger EVENT_LOGGER = LoggerFactory.getLogger("GeniusEventLogger");
private final DataBroker dataBroker;
private final JobCoordinator jobCoordinator;
@SuppressWarnings("checkstyle:IllegalCatch")
private void initializeTZNode() {
InstanceIdentifier<TransportZones> path = InstanceIdentifier.create(TransportZones.class);
- txRunner.callWithNewReadWriteTransactionAndSubmit(Datastore.CONFIGURATION,
- tx -> {
- FluentFuture<Optional<TransportZones>> tzones = tx.read(path);
- if (!tzones.get().isPresent()) {
- TransportZonesBuilder tzb = new TransportZonesBuilder();
- tx.put(path, tzb.build());
- }
+ txRunner.callWithNewReadWriteTransactionAndSubmit(Datastore.CONFIGURATION, tx -> {
+ FluentFuture<Optional<TransportZones>> tzones = tx.read(path);
+ if (!tzones.get().isPresent()) {
+ TransportZonesBuilder tzb = new TransportZonesBuilder();
+ tx.put(path, tzb.build());
}
- ).isDone();
+ }).isDone();
}
@Override
if (allowTunnelDeletion) {
//TODO : DPList code can be refactor with new specific class
// which implement TransportZoneValidator
+ EVENT_LOGGER.debug("ITM-Transportzone,TunnelDeletion {}", transportZone.getZoneName());
List<DPNTEPsInfo> opDpnList = createDPNTepInfo(transportZone);
List<HwVtep> hwVtepList = createhWVteps(transportZone);
LOG.trace("Delete: Invoking deleteTunnels in ItmManager with DpnList {}", opDpnList);
@NonNull TransportZone originalTransportZone, @NonNull TransportZone updatedTransportZone) {
LOG.debug("Received Transport Zone Update Event: Old - {}, Updated - {}", originalTransportZone,
updatedTransportZone);
+ EVENT_LOGGER.debug("ITM-Transportzone,UPDATE {}", updatedTransportZone.getZoneName());
List<DPNTEPsInfo> oldDpnTepsList = createDPNTepInfo(originalTransportZone);
List<DPNTEPsInfo> newDpnTepsList = createDPNTepInfo(updatedTransportZone);
List<DPNTEPsInfo> oldDpnTepsListcopy = new ArrayList<>();
@Override
public void add(@NonNull TransportZone transportZone) {
LOG.debug("Received Transport Zone Add Event: {}", transportZone);
+ EVENT_LOGGER.debug("ITM-Transportzone,ADD {}", transportZone.getZoneName());
List<DPNTEPsInfo> opDpnList = createDPNTepInfo(transportZone);
//avoiding adding duplicates from nothosted to new dpnlist.
List<DPNTEPsInfo> duplicateFound = new ArrayList<>();
LOG.trace("DpnID: {}, ipAddress: {}", dpnID, ipAddress);
TunnelEndPoints tunnelEndPoints = ItmUtils.createTunnelEndPoints(dpnID, ipAddress, portName,
useOfTunnel, vlanId, zones, tunnelType, tos);
+ EVENT_LOGGER.debug("ITM-createDPNTepInfo for {} {}", dpnID, ipAddress);
List<TunnelEndPoints> tunnelEndPointsList = mapDPNToTunnelEndpt.get(dpnID);
if (tunnelEndPointsList != null) {
LOG.trace("Existing DPN info list in the Map: {} ", dpnID);