[GENIUS-133] Genius SRM CSIT failure – OVS port deletion not handled by interface-manager Created: 07/May/18  Updated: 02/Aug/18  Resolved: 10/May/18

Status: Verified
Project: genius
Component/s: None
Affects Version/s: None
Fix Version/s: Oxygen, Fluorine

Type: Bug Priority: Medium
Reporter: nidhi adhvaryu Assignee: Faseela K
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: 0 minutes
Time Spent: 2 hours
Original Estimate: Not Specified

Issue Links:
Blocks
blocks GENIUS-200 Make Genius CSIT fail in case any exc... Open

 Description   

OVS port deletion failed due to exception thrown by interfacemanager.

the above problem has been solved in below patch.

[ solution for this bug | https://git.opendaylight.org/gerrit/#/c/71787/ ]



 Comments   
Comment by Michael Vorburger [ 07/May/18 ]

Here is the actual error seen in the log when this happens, this will be useful to find this issue through search:

mainWorker=InterfaceStateRemoveWorker{nodeConnectorIdNew=Uri{_value=openflow:68797520762178:2},
nodeConnectorIdOld=Uri{_value=openflow:68797520762178:2}, fcNodeConnectorOld=FlowCapableNodeConnector{
getAdvertisedFeatures=PortFeatures{_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false, _hundredMbFd=false,
_oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false, _hundredGbFd=false, _oneTbFd=false, _other=false,
_copper=false, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false}, getConfiguration=PortConfig{_pORTDOWN=false,
_nORECV=false, _nOFWD=false, _nOPACKETIN=false}, getCurrentFeature=PortFeatures{_tenMbHd=false, _tenMbFd=false,
_hundredMbHd=false, _hundredMbFd=false, _oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false,
_hundredGbFd=false, _oneTbFd=false, _other=false, _copper=false, _fiber=false, _autoeng=false, _pause=false,
_pauseAsym=false}, getCurrentSpeed=0, getHardwareAddress=MacAddress{_value=9a:be:c5:8b:90:d2}, getMaximumSpeed=0,
getName=tun704bde687e8, getPeerFeatures=PortFeatures{_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false,
_hundredMbFd=false, _oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false, _hundredGbFd=false, _oneTbFd=false,
_other=false, _copper=false, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false}, getPortNumber=
PortNumberUni{_uint32=2}, getQueue=[], getReason=Delete, getState=State{isBlocked=false, isLinkDown=false,
isLive=false, augmentations={}}, getSupported=PortFeatures{_tenMbHd=false, _tenMbFd=false, _hundredMbHd=false,
_hundredMbFd=false,_oneGbHd=false, _oneGbFd=false, _tenGbFd=false, _fortyGbFd=false, _hundredGbFd=false,
_oneTbFd=false, _other=false, _copper=false, _fiber=false, _autoeng=false, _pause=false, _pauseAsym=false}},
interfaceName='tun704bde687e8'}, rollbackWorker=null, retryCount=6/6, futures=[com.google.common.util.concurrent.
ImmediateFuture$ImmediateFailedFuture@6a75e6cd[status=FAILURE, cause=[java.lang.UnsupportedOperationException: submit()
cannot be used inside a Managed[New]TransactionRunner]]]}
java.lang.UnsupportedOperationException: submit() cannot be used inside a Managed[New]TransactionRunner
	at org.opendaylight.genius.infra.NonSubmitCancelableReadWriteTransaction.submit(NonSubmitCancelableReadWriteTransaction.java:36) ~[332:org.opendaylight.genius.mdsalutil-api:0.5.0.SNAPSHOT]
	at org.opendaylight.genius.interfacemanager.listeners.InterfaceInventoryStateListener$InterfaceStateRemoveWorker.handleTunnelMonitoringRemoval(InterfaceInventoryStateListener.java:424) ~[?:?]
	at org.opendaylight.genius.interfacemanager.listeners.InterfaceInventoryStateListener$InterfaceStateRemoveWorker.lambda$removeInterfaceStateConfiguration$0(InterfaceInventoryStateListener.java:398) ~[?:?]
	at org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl.callWithNewReadWriteTransactionAndSubmit(ManagedNewTransactionRunnerImpl.java:63) [332:org.opendaylight.genius.mdsalutil-api:0.5.0.SNAPSHOT]
	at org.opendaylight.genius.interfacemanager.listeners.InterfaceInventoryStateListener$InterfaceStateRemoveWorker.removeInterfaceStateConfiguration(InterfaceInventoryStateListener.java:378) [326:org.opendaylight.genius.interfacemanager-impl:0.5.0.SNAPSHOT]
	at org.opendaylight.genius.interfacemanager.listeners.InterfaceInventoryStateListener$InterfaceStateRemoveWorker.call(InterfaceInventoryStateListener.java:355) [326:org.opendaylight.genius.interfacemanager-impl:0.5.0.SNAPSHOT]
	at org.opendaylight.genius.interfacemanager.listeners.InterfaceInventoryStateListener$InterfaceStateRemoveWorker.call(InterfaceInventoryStateListener.java:318) [326:org.opendaylight.genius.interfacemanager-impl:0.5.0.SNAPSHOT]
	at org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:401) [352:org.opendaylight.infrautils.jobcoordinator-impl:1.4.0.SNAPSHOT]
	at org.opendaylight.infrautils.utils.concurrent.LoggingUncaughtThreadDeathContextRunnable.run(LoggingUncaughtThreadDeathContextRunnable.java:60) [357:org.opendaylight.infrautils.util:1.4.0.SNAPSHOT]
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402) [?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:?]
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:?]
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:?]
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) [?:?]
Comment by Sam Hague [ 31/Jul/18 ]

What test suite and workflow does this happen? I don't think I have ever seen this in the upstream netvirt csit, but I wonder if we should have a test case for this?

Comment by Faseela K [ 31/Jul/18 ]

shague :

  1. Create Neutron Port
  2. Boot VM ==> All flows will be programmed.
  3. Delete VM ==> Flows will not go off, without this fix.
  4. Delete Neutron Port ==> Flows will go off only with this step.

So, if netvirt CSIT is booting VMs on neutron ports, and if there are verification steps which check for stale flows or stale interface-states in Datastore, it would have failed.

Comment by Michael Vorburger [ 31/Jul/18 ]

https://git.opendaylight.org/gerrit/#/c/74695/

Generated at Wed Feb 07 19:59:59 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.