Thanks Jozef for the 6802 patch collection, we are testing with that for the 7462 scenario - will let you know the results.
Adding a minor delay between 'systemctl stop openvswitch' and 'systemctl start openvswitch' helps, but 'systemctl restart openvswitch' by default does not apply a sufficient delay between stopping and starting the process so it would be good if OF also handles the no-delay use case. Thanks, Bertrand -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Luis Gomez Sent: January 27, 2017 10:52 AM To: Jamo Luhrsen <[email protected]> Cc: M Vinoth <[email protected]>; [email protected] Subject: Re: [openflowplugin-dev] handling of OVS restart It is critical because only workaround is not acceptable :) > On Jan 27, 2017, at 10:45 AM, Jamo Luhrsen <[email protected]> wrote: > > > > On 01/26/2017 11:08 PM, Anil Vishnoi wrote: >> Bertrand, >> >> Yes the reported issue is same as you are facing with the NetVirt. >> It's happening because of the OVS don't reset/disconnect the >> connection properly (Don't send FIN/RST packet ) and netty assume >> that connection is just idle and not disconnected, so it does not >> disconnect the connection. Meanwhile if device tries to connect back, >> controller ignores that connection, because it thinks that device is already >> connection. Simple workaround is to add some minor delay (sleep .5), that >> will help with this situation. > > we can add the delays in our controlled environments to be nice, but > we can't always count on that in the wild. The workaround in the BZ > that Luis gave is to restart the controller. Seems like a drastic > workaround, imo. The bug is marked critical though, so hopefully something > can be done on our side to protect this. > > Thanks, > JamO > > >> Anil >> >> On Thu, Jan 26, 2017 at 9:35 PM, Luis Gomez <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hi Bertrand, >> >> The issue I see is reproducible with just 1 controller node and it is >> similar in the sense that to it requires an OF >> channel block (e.g. as a result of an OF agent reboot) followed by an OF >> channel restore. >> >> https://bugs.opendaylight.org/show_bug.cgi?id=7689 >> <https://bugs.opendaylight.org/show_bug.cgi?id=7689> >> >> BR/Luis >> >> >>> On Jan 26, 2017, at 12:39 PM, Bertrand Low <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Hi Luis and Jozef,____ >>> __ __ >>> In our ODL cluster setup, if the device issues a “systemctl restart >>> openvswitch”, or “systemctl stop openvswitch; >>> systemctl start openvswitch” (no delay between stopping and starting), >>> we’ve observed the issue of the br-int >>> controller being unable to reconnect to the OF master node. The OF >>> master node’s role will be “other” on the device and >>> it will keep toggling between “CONNECTING” and “BACKOFF” states. The >>> other OF nodes’ roles remains as “slave”. This >>> inability to reconnect to the OF master node (and the other nodes >>> remaining as slaves and not assuming mastership) >>> appears to persist until ODL is restarted.____ >>> Luis, is this the “switch hanging” symptom you’ve mentioned?____ >>> __ __ >>> In the scenario I’ve described, we have some logs up on bug 7462 >>> (https://bugs.opendaylight.org/show_bug.cgi?id=7462 >>> <https://bugs.opendaylight.org/show_bug.cgi?id=7462>) with DEBUG enabled >>> for org.opendaylight.openflowplugin. This was >>> observed while testing legacy netvirt; we will work on providing updated >>> logs for new netvirt as well.____ >>> __ __ >>> Thanks,____ >>> Bertrand____ >>> __ __ >>> *From:* [email protected] >>> <mailto:[email protected]> >>> [mailto:[email protected] >>> <mailto:[email protected]>] *On Behalf >>> Of *Luis Gomez >>> *Sent:* January 26, 2017 9:55 AM >>> *To:* Jozef Bacigál <[email protected] >>> <mailto:[email protected]>> >>> *Cc:* M Vinoth <[email protected] <mailto:[email protected]>>; >>> [email protected] >>> <mailto:[email protected]> >>> *Subject:* Re: [openflowplugin-dev] handling of OVS restart____ >>> __ __ >>> Jozef and all,____ >>> __ __ >>> FYI I have seen sporadic issues of switch hanging in controller after >>> switch connection is not properly closed, I am >>> currently working to see if I can consistently reproduce these issue in >>> the ODL CI.____ >>> __ __ >>> BR/Luis____ >>> __ __ >>> __ __ >>> >>> On Jan 26, 2017, at 12:23 AM, Jozef Bacigál >>> <[email protected] <mailto:[email protected]>> >>> wrote:____ >>> __ __ >>> May I ask you to run this non-working case again but with ____ >>> __ __ >>> org.opendaylight.openflowplugin.impl DEBUG____ >>> __ __ >>> and send me the logs please ?____ >>> __ __ >>> Thanks____ >>> __ __ >>> Jozef____ >>> __ __ >>> __ __ >>> >>> ----------------------------------------------------------------------------------------------------------------------------- >>> *Od:* M Vinoth <[email protected] <mailto:[email protected]>> >>> *Odoslané:* 25. januára 2017 15:31 >>> *Komu:* Jozef Bacigál >>> *Kópia:* [email protected] >>> <mailto:[email protected]> >>> *Predmet:* RE: handling of OVS restart____ >>> ____ >>> Hi Jozef,____ >>> ____ >>> As you suggested I have checkout the last patch of 6802. And now I >>> can see all the changes.____ >>> ____ >>> And I have tested this changes with new netvirt build.____ >>> ____ >>> But still the dump flows are not installed properly. And other test >>> cases are working fine (1. Node disconnect 2. >>> Br-int deletion)____ >>> ____ >>> Please find my analysis in below for main difference between working >>> and failing cases,____ >>> ____ >>> *Working cases (attached in mail : try_1 document):*____ >>> ____ >>> 2017-01-25 21:14:49,043 | INFO | lt-dispatcher-17 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | >>> Entity{type='ovsdb', >>> >>> id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}]/node/node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb://uuid/655c51fc-c86b-4cd7-bb0c-7c5d273b457b}]} >>> has no owner, cleaning up the operational data store____ >>> ____ >>> 2017-01-25 21:14:49,574 | INFO | DBConnNotifSer-5 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | >>> InstanceIdentifier >>> KeyedInstanceIdentifier{targetType=interface >>> >>> org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, >>> >>> path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, >>> >>> org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey >>> [_topologyId=Uri [_value=ovsdb:1]]], >>> >>> org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey >>> [_nodeId=Uri >>> [_value=ovsdb://uuid/655c51fc-c86b-4cd7-bb0c-7c5d273b457b]]]]} generated >>> for device connection >>> ConnectionInfo [Remote-address=10.106.138.164, Remote-port=32850, >>> Local-address10.106.138.251, Local-port=6640, >>> type=PASSIVE]____ >>> 2017-01-25 21:14:49,574 | INFO | DBConnNotifSer-5 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | OVSDB >>> entity Entity{type='ovsdb', >>> >>> id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}]/node/node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb://uuid/655c51fc-c86b-4cd7-bb0c-7c5d273b457b}]} >>> is registered for ownership.____ >>> 2017-01-25 21:14:49,692 | INFO | lt-dispatcher-17 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | >>> handleOwnershipChanged: *this* southbound plugin instance >>> is an OWNER of the device ConnectionInfo >>> [Remote-address=10.106.138.164, Remote-port=32850, >>> Local-address10.106.138.251, Local-port=6640, type=PASSIVE]____ >>> ____ >>> *Failing Cases (attached in mail : try_2 document)*____ >>> ____ >>> 2017-01-25 21:15:38,751 | INFO | entLoopGroup-5-4 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | Library >>> disconnected PASSIVE from /10.106.138.164:32850 >>> <http://10.106.138.164:32850> to /10.106.138.251:6640 >>> <http://10.106.138.251:6640>. Cleaning up the operational >>> data store____ >>> ____ >>> 2017-01-25 21:15:39,283 | INFO | DBConnNotifSer-4 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | >>> InstanceIdentifier >>> KeyedInstanceIdentifier{targetType=interface >>> >>> org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node, >>> >>> path=[org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology, >>> >>> org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology[key=TopologyKey >>> [_topologyId=Uri [_value=ovsdb:1]]], >>> >>> org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node[key=NodeKey >>> [_nodeId=Uri >>> [_value=ovsdb://uuid/655c51fc-c86b-4cd7-bb0c-7c5d273b457b]]]]} generated >>> for device connection >>> ConnectionInfo [Remote-address=10.106.138.164, Remote-port=32862, >>> Local-address10.106.138.251, Local-port=6640, >>> type=PASSIVE]____ >>> 2017-01-25 21:15:39,284 | INFO | DBConnNotifSer-4 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | OVSDB >>> entity Entity{type='ovsdb', >>> >>> id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=ovsdb:1}]/node/node[{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=ovsdb://uuid/655c51fc-c86b-4cd7-bb0c-7c5d273b457b}]} >>> is registered for ownership.____ >>> 2017-01-25 21:15:39,309 | INFO | lt-dispatcher-17 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | >>> handleOwnershipChanged: no change in ownership for >>> ConnectionInfo [Remote-address=10.106.138.164, Remote-port=32862, >>> Local-address10.106.138.251, Local-port=6640, >>> type=PASSIVE]. Ownership status is : NON-OWNER____ >>> 2017-01-25 21:15:39,333 | INFO | lt-dispatcher-19 | >>> OvsdbConnectionManager | 308 - >>> org.opendaylight.ovsdb.southbound-impl - 1.4.0.SNAPSHOT | >>> handleOwnershipChanged: *this* southbound plugin instance >>> is an OWNER of the device ConnectionInfo >>> [Remote-address=10.106.138.164, Remote-port=32862, >>> Local-address10.106.138.251, Local-port=6640, type=PASSIVE]____ >>> ____ >>> *Example:*____ >>> [stack@control devstack]$ sudo systemctl stop openvswitch____ >>> [stack@control devstack]$ sudo systemctl start openvswitch____ >>> [stack@control devstack]$____ >>> [stack@control devstack]$____ >>> [stack@control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows >>> br-int____ >>> OFPST_FLOW reply (OF1.3) (xid=0x2):____ >>> ____ >>> I will test more scenario’s and then I will let you know further.____ >>> ____ >>> Regards,____ >>> Vinoth____ >>> ____ >>> ____ >>> *From:* Jozef Bacigál [mailto:[email protected] >>> <mailto:[email protected]>] >>> *Sent:* 25 January 2017 15:53 >>> *To:* M Vinoth <[email protected] <mailto:[email protected]>> >>> *Cc:* [email protected] >>> <mailto:[email protected]> >>> *Subject:* Re: handling of OVS restart____ >>> ____ >>> Hi Vinoth,____ >>> ____ >>> yes the patch for bug 6082 should prevent this kind of issues. We >>> trying to make some test with stop/start >>> connection without delay on this patch. I'll let you know if we were >>> able to reproduce the issue. ____ >>> ____ >>> Anyway as I said this patch shall hold all information about >>> switches for few seconds/milliseconds (configurable) >>> and tha just replace broken connection with correct one without any >>> changes in behavior.____ >>> ____ >>> I will let you know.____ >>> ____ >>> Jozef____ >>> ____ >>> ____ >>> >>> ----------------------------------------------------------------------------------------------------------------------------- >>> *Od:* M Vinoth <[email protected] <mailto:[email protected]>> >>> *Odoslané:* 24. januára 2017 13:40 >>> *Komu:* Jozef Bacigál >>> *Kópia:* [email protected] >>> <mailto:[email protected]> >>> *Predmet:* FW: handling of OVS restart____ >>> ____ >>> Hi Jozef,____ >>> ____ >>> I have seen your patch for bug:6082., and observe that implemented >>> related to the below issues.____ >>> https://git.opendaylight.org/gerrit/#/q/topic:%22Bug+6802%22 >>> <https://git.opendaylight.org/gerrit/#/q/topic:%22Bug+6802%22>____ >>> ____ >>> The issue is when OVS stop and start immediately without delay, that >>> time br-int flows were not available. And node >>> also disconnect.____ >>> And I have notice that life cycle service and Device context service >>> is not properly invoked when failed cases.____ >>> In below mail I have highlighted comparatively with working as well >>> as failed cases.____ >>> Whether the below issue is addressed in your patch.____ >>> Please validate the below mail and share your inputs on this.____ >>> Thanks.____ >>> ____ >>> Regards,____ >>> Vinoth____ >>> *From:* [email protected] >>> <mailto:[email protected]> >>> [mailto:[email protected] >>> <mailto:[email protected]>] *On Behalf Of >>> *M Vinoth >>> *Sent:* 24 January 2017 15:33 >>> *To:* Bertrand Low <[email protected] >>> <mailto:[email protected]>>; Vishal Thapar <[email protected] >>> <mailto:[email protected]>>; >>> [email protected] >>> <mailto:[email protected]> >>> *Cc:* [email protected] >>> <mailto:[email protected]>; >>> [email protected] >>> <mailto:[email protected]> >>> *Subject:* Re: [netvirt-dev] handling of OVS restart____ >>> ____ >>> Hi Vishal,____ >>> ____ >>> I have tested the following behaviour in new netvirt in 3-node >>> cluster,____ >>> ____ >>> The following commands requested without delay,____ >>> [stack@control devstack]$ sudo systemctl stop openvswitch____ >>> [stack@control devstack]$ sudo systemctl start openvswitch____ >>> ____ >>> And found that one of the node is disconnected from 3-node >>> cluster.____ >>> ____ >>> [stack@control devstack]$ sudo ovs-vsctl show____ >>> 655c51fc-c86b-4cd7-bb0c-7c5d273b457b____ >>> Manager "tcp:10.106.138.251:6640 >>> <http://10.106.138.251:6640>"____ >>> is_connected: true____ >>> Manager "tcp:10.106.138.248:6640 >>> <http://10.106.138.248:6640>"____ >>> is_connected: true____ >>> Manager "tcp:10.106.138.244:6640 >>> <http://10.106.138.244:6640>"____ >>> is_connected: true____ >>> Bridge br-int____ >>> Controller "tcp:10.106.138.251:6653 >>> <http://10.106.138.251:6653>"____ >>> Controller "tcp:10.106.138.248:6653 >>> <http://10.106.138.248:6653>"____ >>> is_connected: true____ >>> Controller "tcp:10.106.138.244:6653 >>> <http://10.106.138.244:6653>"____ >>> is_connected: true____ >>> fail_mode: secure____ >>> Port br-int____ >>> Interface br-int____ >>> type: internal____ >>> ovs_version: "2.5.0"____ >>> ____ >>> Verified that the internal bridge default flows are not >>> available.____ >>> ____ >>> [stack@control devstack]$ sudo ovs-ofctl -O OpenFlow13 dump-flows >>> br-int____ >>> OFPST_FLOW reply (OF1.3) (xid=0x2):____ >>> [stack@control devstack]$____ >>> ____ >>> The same behaviour in legacy netvirt too, but additionally one more >>> cases were failed in legacy that br-int is not >>> available.____ >>> ____ >>> I will share the following execution flows based on the log which >>> is analysed in legacy netvirt.____ >>> *_Working cases execution flows,_*____ >>> *ß**------------------ ------ Stopping the service >>> ------------------------------------------**à** **(A)*____ >>> SystemNotificationsListenerImpl - ConnectionEvent: Connection closed >>> by device, Device:/10.106.138.164:59630 >>> <http://10.106.138.164:59630>, NodeId:openflow:35760623087526____ >>> OvsdbConnectionService - Connection closed ConnectionInfo____ >>> OvsdbConnectionManager - Library disconnected PASSIVE from >>> /10.106.138.164:57042 <http://10.106.138.164:57042> to >>> /10.106.138.251:6640 <http://10.106.138.251:6640>. Cleaning up the >>> operational data store____ >>> OvsdbConnectionManager - handleOwnershipChanged: *this* instance is >>> elected as an owner of the device____ >>> OvsdbConnectionManager - has no owner, cleaning up the operational >>> data store____ >>> *ß**------------------ ------ Deleting the node and bridge >>> ------------------------------------------**à** **(B) *____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> DELETE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> DELETE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> DELETE for the OVS node :____ >>> SouthboundImpl - deleteBridge node:____ >>> SouthboundHandler - processOvsdb Node Delete :____ >>> SouthboundHandler - notifyNode : action: DELETE, Node :____ >>> SouthboundHandler - notifyNode : action: DELETE, Node :____ >>> *ß**------------------ ------ Setting Up the cluster service >>> ------------------------------------------**à** **(C)*____ >>> ConnectionAdapterImpl - Hello received / branch____ >>> DeviceManagerImpl - ConnectionEvent: Device connected to >>> controller,____ >>> SalRoleServiceImpl - SetRole called with input:SetRoleInput____ >>> SalRoleServiceImpl - Requesting state change to BECOMESLAVE____ >>> SalRoleServiceImpl - RoleChangeTask called on >>> device:openflow:35760623087526 OFPRole:BECOMESLAVE____ >>> RoleService - getGenerationIdFromDevice called for device: >>> openflow:35760623087526____ >>> LifecycleServiceImpl - Registered clustering MASTER services for >>> node openflow:35760623087526____ >>> RoleService - submitRoleChange called for device:Uri >>> [_value=openflow:35760623087526], role:BECOMESLAVE____ >>> LoggingHandler - RECEIVED: [id: 0x2cd517d7, L:/10.106.138.251:6640 >>> <http://10.106.138.251:6640> - >>> R:/10.106.138.164:57066 <http://10.106.138.164:57066>]____ >>> RoleService - submitRoleChange onSuccess for device:Uri >>> [_value=openflow:35760623087526], role:BECOMESLAVE____ >>> OvsdbConnectionManager - Library connected PASSIVE from >>> /10.106.138.164:57066 <http://10.106.138.164:57066> to >>> /10.106.138.251:6640 <http://10.106.138.251:6640>____ >>> OvsdbConnectionManager - OVSDB Connection from /10.106.138.164:57066 >>> <http://10.106.138.164:57066>____ >>> OvsdbConnectionManager - generated for device connection >>> ConnectionInfo____ >>> OvsdbConnectionManager - OVSDB entity Entity, is registered for >>> ownership.____ >>> LifecycleServiceImpl - Starting clustering MASTER services for node >>> openflow:35760623087526____ >>> DeviceContextImpl - Starting device context cluster services for >>> node openflow:35760623087526____ >>> OvsdbConnectionManager - handleOwnershipChanged: *this* southbound >>> plugin instance is an OWNER of the device >>> ConnectionInfo____ >>> OvsdbConnectionInstance - Monitoring database: Open_vSwitch____ >>> DeviceInitializationUtils - IP address of switch is: >>> /10.106.138.164:59640 <http://10.106.138.164:59640>____ >>> DeviceInitializationUtils - Static node Uri >>> [_value=openflow:35760623087526] info: OFPMPMETERFEATURES collected____ >>> StringValueObjectFactory - Instantiated factory for class >>> >>> org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress____ >>> DeviceInitializationUtils - Static node Uri >>> [_value=openflow:35760623087526] info: OFPMPPORTDESC collected____ >>> SalRoleServiceImpl - SetRole called with input:____ >>> SalRoleServiceImpl - Requesting state change to BECOMEMASTER____ >>> RoleService - getGenerationIdFromDevice called for device: >>> openflow:35760623087526____ >>> StatisticsContextImpl - Starting statistics context cluster services >>> for node openflow:35760623087526____ >>> RoleService - submitRoleChange called for device:Uri >>> [_value=openflow:35760623087526], role:BECOMEMASTER____ >>> RoleService - submitRoleChange onSuccess for device:Uri >>> [_value=openflow:35760623087526], role:BECOMEMASTER____ >>> StatisticsManagerImpl - Scheduling statistics poll for device: Uri >>> [_value=openflow:35760623087526]____ >>> *<-------- Updating the internal bridge >>> ----------------------------**à** **(D)*____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Create :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - notifyNode : action: ADD, Node :____ >>> SouthboundHandler - notifyNode : action: ADD, Node :____ >>> OF13Provider - initializeOFFlowRules: bridgeName: br-int____ >>> ControllerUpdateCommand - Register ODL controllers : >>> ControllerEntry____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Update :____ >>> NodeCacheManagerImpl - oldDpid == 0, newDpid == 0____ >>> SouthboundHandler - notifyNode : action: UPDATE, Node :____ >>> ____ >>> *_Failure cases execution flows (Without delay),_*____ >>> * *____ >>> *ß**------------------ ------ Stopping the service >>> ------------------------------------------**à** **(A)*____ >>> SystemNotificationsListenerImpl - ConnectionEvent: Connection closed >>> by device, Device:/10.106.138.164:59640 >>> <http://10.106.138.164:59640>, NodeId:openflow:35760623087526____ >>> OvsdbConnectionService - Connection closed ConnectionInfo____ >>> OvsdbConnectionManager - Library disconnected PASSIVE from >>> /10.106.138.164:57066 <http://10.106.138.164:57066> to >>> /10.106.138.251:6640 <http://10.106.138.251:6640>. Cleaning up the >>> operational data store____ >>> OvsdbConnectionManager - has no owner, cleaning up the operational >>> data store____ >>> *ß**------------------ ------ Setting Up the cluster service >>> ------------------------------------------**à** **(C)*____ >>> ConnectionAdapterImpl - Hello received / branch____ >>> DeviceManagerImpl - ConnectionEvent: Device connected to controller, >>> Device:/10.106.138.164:59658 >>> <http://10.106.138.164:59658>, NodeId:Uri >>> [_value=openflow:35760623087526]____ >>> SalRoleServiceImpl - SetRole called with input:SetRoleInput____ >>> SalRoleServiceImpl - Requesting state change to BECOMESLAVE____ >>> SalRoleServiceImpl - RoleChangeTask called on >>> device:openflow:35760623087526 OFPRole:BECOMESLAVE____ >>> RoleService - submitRoleChange called for device:Uri >>> [_value=openflow:35760623087526], role:BECOMESLAVE____ >>> RoleService - submitRoleChange onSuccess for device:Uri >>> [_value=openflow:35760623087526], role:BECOMESLAVE____ >>> LoggingHandler - RECEIVED: [id: 0x2610f6bd, L:/10.106.138.251:6640 >>> <http://10.106.138.251:6640> - >>> R:/10.106.138.164:57084 <http://10.106.138.164:57084>]____ >>> OvsdbConnectionManager - Library connected PASSIVE from >>> /10.106.138.164:57084 <http://10.106.138.164:57084> to >>> /10.106.138.251:6640 <http://10.106.138.251:6640>____ >>> OvsdbConnectionManager - OVSDB Connection from /10.106.138.164:57084 >>> <http://10.106.138.164:57084>____ >>> OvsdbConnectionManager - generated for device connection >>> ConnectionInfo____ >>> OvsdbConnectionManager - OVSDB entity, is registered for >>> ownership.____ >>> OvsdbConnectionManager - handleOwnershipChanged: *this* southbound >>> plugin instance is an OWNER of the device >>> ConnectionInfo____ >>> OvsdbConnectionInstance - Monitoring database: Open_vSwitch____ >>> *ß**------------------ ------ Deleting the node and bridge >>> ------------------------------------------**à** **(B)*____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> DELETE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> DELETE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> DELETE for the OVS node :____ >>> SouthboundImpl - deleteBridge node:____ >>> SouthboundHandler - processOvsdb Node Delete :____ >>> SouthboundHandler - notifyNode : action: DELETE, Node :____ >>> SouthboundHandler - notifyNode : action: DELETE, Node :____ >>> ControllerUpdateCommand - Register ODL controllers : {} bridges >>> detail : {}____ >>> ProtocolRemovedCommand - Removed ProtocolEntry : OpenFlow13 for >>> OVSDB Bridge : null____ >>> BridgeRemovedCommand - Bridge Deleted:____ >>> SystemNotificationsListenerImpl - ConnectionEvent: Connection closed >>> by device, Device:/10.106.138.164:59658 >>> <http://10.106.138.164:59658>, NodeId:openflow:35760623087526____ >>> OvsdbPortRemoveCommand - Bridge not found for port____ >>> *<-------- Updating the internal bridge >>> ----------------------------**à** **(D)*____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Create :____ >>> SouthboundImpl - addBridge: node:____ >>> SouthboundImpl - addBridge: result: true____ >>> SouthboundHandler - notifyNode : action: ADD, Node :____ >>> SouthboundHandler - notifyNode : action: ADD, Node :____ >>> OF13Provider - initializeOFFlowRules: bridgeName: br-int____ >>> BridgeUpdateCommand - Added ovsdb Bridge name: OvsdbBridgeName >>> [_value=br-int] uuid: null____ >>> ControllerUpdateCommand - Register ODL controllers : >>> ControllerEntry____ >>> ProtocolUpdateCommand - Updated ProtocolEntry : OpenFlow13 for OVSDB >>> Bridge : br-int____ >>> *ß**------------------ ------ Setting Up the cluster service >>> ------------------------------------------**à** **(C)*____ >>> ConnectionAdapterImpl - Hello received / branch____ >>> DeviceManagerImpl - ConnectionEvent: Device connected to controller, >>> Device:/10.106.138.164:59670 >>> <http://10.106.138.164:59670>, NodeId:Uri >>> [_value=openflow:35760623087526]____ >>> SalRoleServiceImpl - Requesting state change to BECOMESLAVE____ >>> SalRoleServiceImpl - RoleChangeTask called on >>> device:openflow:35760623087526 OFPRole:BECOMESLAVE____ >>> RoleService - getGenerationIdFromDevice called for device: >>> openflow:35760623087526____ >>> LifecycleServiceImpl - Registered clustering MASTER services for >>> node openflow:35760623087526____ >>> RoleService - submitRoleChange called for device:Uri >>> [_value=openflow:35760623087526], role:BECOMESLAVE____ >>> RoleService - submitRoleChange onSuccess for device:____ >>> *ß**------------------ ------ Deleting the node and bridge >>> ------------------------------------------**à** **(B)*____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Update :____ >>> NodeCacheManagerImpl - oldDpid == 0, newDpid == 0____ >>> SouthboundHandler - notifyNode : action: UPDATE, Node :____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> DELETE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> DELETE for the OVS node :____ >>> SouthboundImpl - deleteBridge node:____ >>> SouthboundHandler - notifyNode : action: DELETE, Node :____ >>> *<-------- Updating the internal bridge >>> ----------------------------**à** **(D)*____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> ADD for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Update :____ >>> NodeCacheManagerImpl - oldDpid == 0, newDpid == 0____ >>> SouthboundHandler - notifyNode : action: UPDATE, Node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - notifyNode : action: ADD, Node :____ >>> OF13Provider - initializeOFFlowRules: bridgeName: br-int____ >>> ControllerUpdateCommand - Register ODL controllers : {} bridges >>> detail : {}____ >>> ProtocolRemovedCommand - Removed ProtocolEntry : OpenFlow13 for >>> OVSDB Bridge : null____ >>> BridgeRemovedCommand - Bridge Deleted:____ >>> OvsdbPortRemoveCommand - Bridge not found for port Port :____ >>> SystemNotificationsListenerImpl - ConnectionEvent: Connection closed >>> by device, Device:/10.106.138.164:59670 >>> <http://10.106.138.164:59670>, NodeId:openflow:35760623087526____ >>> *ß**------------------ ------ Deleting the node and bridge >>> ------------------------------------------**à** **(B)*____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Update :____ >>> NodeCacheManagerImpl - oldDpid == 0, newDpid == 0____ >>> SouthboundHandler - notifyNode : action: UPDATE, Node :____ >>> SouthboundHandler - Received ovsdbUpdate for : PORT with action : >>> DELETE for the OVS node :____ >>> SouthboundHandler - Received ovsdbUpdate for : BRIDGE with action : >>> DELETE for the OVS node :____ >>> SouthboundImpl - deleteBridge node:____ >>> SouthboundHandler - notifyNode : action: DELETE, Node :____ >>> SouthboundHandler - Received ovsdbUpdate for : NODE with action : >>> UPDATE for the OVS node :____ >>> SouthboundHandler - processOvsdb Node Update :____ >>> NodeCacheManagerImpl - oldDpid == 0, newDpid == 0____ >>> SouthboundHandler - notifyNode : action: UPDATE, Node :____ >>> ____ >>> I have observe that the above working cases are properly executing >>> the life cycle service and device context for >>> cluster service, it means that properly maintain the context >>> information.____ >>> ____ >>> Please share your inputs.____ >>> ____ >>> Regards,____ >>> Vinoth____ >>> ____ >>> ____ >>> *From:* [email protected] >>> <mailto:[email protected]> >>> [mailto:[email protected] >>> <mailto:[email protected]>] *On Behalf Of >>> *Bertrand Low >>> *Sent:* 23 January 2017 11:02 >>> *To:* Vishal Thapar <[email protected] >>> <mailto:[email protected]>>; >>> [email protected] >>> <mailto:[email protected]> >>> *Subject:* Re: [netvirt-dev] handling of OVS restart____ >>> ____ >>> Thanks Vishal,____ >>> ____ >>> The bridge deletion upon disconnect does seem like a potential issue >>> in legacy netvirt. I’ll do some testing on >>> this.____ >>> ____ >>> Cheers,____ >>> Bertrand____ >>> ____ >>> *From:* Vishal Thapar [mailto:[email protected] >>> <mailto:[email protected]>] >>> *Sent:* January 22, 2017 7:59 PM >>> *To:* Bertrand Low <[email protected] >>> <mailto:[email protected]>>; [email protected] >>> <mailto:[email protected]> >>> *Subject:* RE: handling of OVS restart____ >>> ____ >>> Hi Bertrand,____ >>> ____ >>> Can you try with new netvirt? I am not that familiar with legacy >>> netvirt but new netvirt doesn’t have code to >>> delete bridge on disconnect. >>> https://bugs.opendaylight.org/show_bug.cgi?id=7488 >>> <https://bugs.opendaylight.org/show_bug.cgi?id=7488> fixed an issue >>> with dpnid changing which was impacting cluster >>> setups.____ >>> ____ >>> So, for now I’d say that this issue is not seen in new netvirt >>> unless proven otherwise J____ >>> ____ >>> Regards,____ >>> Vishal.____ >>> ____ >>> *From:* [email protected] >>> <mailto:[email protected]> >>> [mailto:[email protected] >>> <mailto:[email protected]>] *On Behalf Of >>> *Bertrand Low >>> *Sent:* 23 January 2017 08:36 >>> *To:* [email protected] >>> <mailto:[email protected]> >>> *Subject:* [netvirt-dev] handling of OVS restart____ >>> ____ >>> Hi all,____ >>> ____ >>> Has anyone run into issues with ODL handling OVS restart?____ >>> ____ >>> The scenario is like this:____ >>> ____ >>> 1) Connect device to an ODL cluster (i.e. at least 3), see that >>> br-int and the pipeline flows are installed >>> successfully____ >>> 2) Execute “restart openvswitch” on the device, or execute >>> “stop openvswitch; start openvswitch” (i.e. no >>> delay between starting and stopping openvswitch)____ >>> 3) Once the device reconnects to ODL, there are two failure >>> scenarios observed:____ >>> a. There is no br-int (Bug 7461)____ >>> 1. A connection flap is observed for br-int, sometimes with >>> br-int assigned a new dpnid____ >>> OR____ >>> b. br-int is installed, but without any pipeline flows (Bug >>> 7462)____ >>> ____ >>> Seems to me like the “restart openvswitch” use case should be >>> handled by ODL – please let me know if my >>> understanding is incorrect.____ >>> ____ >>> I’ve been testing with legacy netvirt but this timing issue may be >>> relevant to new netvirt as well.____ >>> If anyone has any insight on new netvirt’s handling of OVS restart, >>> please share. Thanks!____ >>> ____ >>> Bertrand____ >>> >>> >>> ::DISCLAIMER:: >>> >>> ----------------------------------------------------------------------------------------------------------------------------------------------------____ >>> The contents of this e-mail and any attachment(s) are confidential >>> and intended for the named recipient(s) only. >>> E-mail transmission is not guaranteed to be secure or error-free as >>> information could be intercepted, corrupted, >>> lost, destroyed, arrive late or incomplete, or may contain viruses >>> in transmission. The e mail and its contents >>> (with or without referred errors) shall therefore not attach any >>> liability on the originator or HCL or its affiliates. >>> Views or opinions, if any, presented in this email are solely those >>> of the author and may not necessarily reflect the >>> views or opinions of HCL or its affiliates. Any form of >>> reproduction, dissemination, copying, disclosure, >>> modification, >>> distribution and / or publication of this message without the prior >>> written consent of authorized representative of >>> HCL is strictly prohibited. If you have received this email in error >>> please delete it and notify the sender >>> immediately. >>> Before opening any email and/or attachments, please check them for >>> viruses and other defects.____ >>> >>> ----------------------------------------------------------------------------------------------------------------------------------------------------____ >>> ____ >>> Jozef*Bacigál*____ >>> Software Engineer____ >>> >>> Sídlo / Mlynské Nivy 56 / 821 05 Bratislava / Slovakia >>> R&D centrum / Janka Kráľa 9 / 974 01 Banská Bystrica / Slovakia >>> +421 908 766 972 <tel:+421%20908%20766%20972> / >>> [email protected] <mailto:[email protected]> >>> reception: +421 2 206 65 114 / www.pantheon.tech >>> <http://www.pantheon.tech/>____ >>> logo____ >>> ____ >>> ____ >>> Jozef*Bacigál*____ >>> Software Engineer____ >>> >>> Sídlo / Mlynské Nivy 56 / 821 05 Bratislava / Slovakia >>> R&D centrum / Janka Kráľa 9 / 974 01 Banská Bystrica / Slovakia >>> +421 908 766 972 <tel:+421%20908%20766%20972> / >>> [email protected] <mailto:[email protected]> >>> reception: +421 2 206 65 114 / www.pantheon.tech >>> <http://www.pantheon.tech/>____ >>> logo____ >>> ____ >>> _______________________________________________ >>> openflowplugin-dev mailing list >>> [email protected] >>> <mailto:[email protected]> >>> https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev >>> >>> <https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev> >> >> >> _______________________________________________ >> openflowplugin-dev mailing list >> [email protected] >> <mailto:[email protected]> >> https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev >> >> <https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev> >> >> >> >> >> -- >> Thanks >> Anil >> >> >> _______________________________________________ >> openflowplugin-dev mailing list >> [email protected] >> https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev >> _______________________________________________ openflowplugin-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev _______________________________________________ openflowplugin-dev mailing list [email protected] https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev
