Bug 1537084

Summary: Crash and restart on irrecoverable ovsdbapp error
Product: [oVirt] ovirt-provider-ovn Reporter: Mor <mkalfon>
Component: providerAssignee: Marcin Mirecki <mmirecki>
Status: CLOSED CURRENTRELEASE QA Contact: Mor <mkalfon>
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: bugs, danken, ylavi
Target Milestone: ovirt-4.2.2Flags: rule-engine: ovirt-4.2+
ylavi: exception+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-provider-ovn-1.2.8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-29 11:11:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
ovirt-provider-ovn log none

Description Mor 2018-01-22 12:11:32 UTC
Created attachment 1384380 [details]
ovirt-provider-ovn log

Description of problem:
During bug check, I notice this error in the systemctl log:
Jan 22 13:12:42 network-ge-2.scl.lab.tlv.redhat.com python[25021]: self.__target(*self.__args, **self.__kwargs)
Jan 22 13:12:42 network-ge-2.scl.lab.tlv.redhat.com python[25021]: File "/usr/lib/python2.7/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 96, in run
Jan 22 13:12:42 network-ge-2.scl.lab.tlv.redhat.com python[25021]: self.idl.run()
Jan 22 13:12:42 network-ge-2.scl.lab.tlv.redhat.com python[25021]: File "/usr/lib/python2.7/site-packages/ovs/db/idl.py", line 173, in run
Jan 22 13:12:42 network-ge-2.scl.lab.tlv.redhat.com python[25021]: assert not self.txn
Jan 22 13:12:42 network-ge-2.scl.lab.tlv.redhat.com python[25021]: AssertionError
This error should be handled and logged into ovirt-provider-ovn.log

Version-Release number of selected component (if applicable):
ovirt-provider-ovn-1.2.5-1.el7ev.noarch
openvswitch-2.7.3-3.git20180112.el7fdp.x86_64
ovirt-engine-4.2.1.2-0.1.el7.noarch

How reproducible:
100%

Steps to Reproduce:
1. Try to create unicode network name on the provider.

Actual results:
Error logged in systemctl status of ovirt-provider-ovn

Expected results:
Should be logged in ovirt-provider-ovn.log

Additional info:

Comment 1 Marcin Mirecki 2018-02-06 15:25:24 UTC
The connection errors are from an ovs thread that does not catch any exceptions.
We would have to redirect stderr of the provider for this (not nice). Do we really want this?

I added a patch that will add a better log message in the provider log, but the system log still stays.

Comment 2 Mor 2018-03-06 13:11:56 UTC
Verified on 4.2.2.2-0.1.el7 with ovsdbapp crush scenario:

2018-03-06 15:07:16,487 root Uncaught exception
Traceback (most recent call last):
  File "/usr/share/ovirt-provider-ovn/ovirt_provider_ovn.py", line 62, in run_with_except_hook
    run_original(*args2, **kwargs2)
  File "/usr/lib64/python2.7/threading.py", line 765, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/site-packages/ovsdbapp/backend/ovs_idl/connection.py", line 96, in run
    self.idl.run()
  File "/usr/lib/python2.7/site-packages/ovs/db/idl.py", line 173, in run
    assert not self.txn
AssertionError
2018-03-06 15:07:16,490 root Irrecoverable error. Exiting!
2018-03-06 15:07:17,180 root Starting server
2018-03-06 15:07:17,180 root Version: 1.2.8-1
2018-03-06 15:07:17,180 root Build date: 20180227164323
2018-03-06 15:07:17,180 root Githash: 5245385

Comment 3 Sandro Bonazzola 2018-03-29 11:11:48 UTC
This bugzilla is included in oVirt 4.2.2 release, published on March 28th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.2 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.