Bug 1374566

Summary: It will show "Interrupted system call" when restart virt-who service
Product: Red Hat Enterprise Linux 7 Reporter: Liushihui <shihliu>
Component: virt-whoAssignee: Chris Snyder <csnyder>
Status: CLOSED WORKSFORME QA Contact: Eko <hsun>
Severity: low Docs Contact:
Priority: low    
Version: 7.3CC: ldai, sgao, shihliu, yuefliu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-15 01:58:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Liushihui 2016-09-09 05:01:36 UTC
Description of problem:
During virt-who check mapping info periodically, restart virt-who service will result in "ConnectionError: ('Connection aborted.', error(4, 'Interrupted system call'))"

Version-Release number of selected component (if applicable):
virt-who-0.17-10.el7.noarch
subscription-manager-1.17.14-1.el7.x86_64
python-rhsm-1.17.9-1.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Register system to stage candlepin
2. Configure virt-who run at xen mode and restart virt-who service(virt-who's refresh interval is 60s)
# cat /etc/virt-who.d/xen
[xen]
type=xen
server=10.73.131.183
username=root
password=Welcome1
owner=7970632
env=7970632
# service virt-who restart 
3. After over two interval(over 120s), restart virt-who service and check virt-who's log.
# service virt-who restart && tail -f /var/log/rhsm/rhsm.log

2016-09-08 23:26:34,400 [virtwho.main INFO] MainProcess(57830):MainThread @executor.py:run:250 - Report for config "env/cmdline" hasn't changed, not sending
2016-09-08 23:26:34,399 [virtwho.env_cmdline DEBUG] Xen-1(57837):MainThread @virt.py:enqueue:357 - Report for config "env/cmdline" gathered, putting to queue for sending

2016-09-08 23:28:52,595 [virtwho.main DEBUG] MainProcess(57830):MainThread @executor.py:terminate:303 - virt-who is shutting down
2016-09-08 23:28:52,595 [virtwho.env_cmdline ERROR] Xen-1(57837):MainThread @virt.py:run:379 - Virt backend 'env/cmdline' fails with exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/virtwho/virt/virt.py", line 372, in run
    self._run()
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/xen.py", line 188, in _run
    assoc = self.getHostGuestMapping()
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/xen.py", line 77, in getHostGuestMapping
    record = self.session.xenapi.host.get_record(host)
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/XenAPI.py", line 260, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/XenAPI.py", line 161, in xenapi_request
    result = _parse_result(getattr(self, methodname)(*full_params))
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/site-packages/virtwho/util.py", line 39, in request
    resp = requests.post(self._url, data=request_body, headers=headers, verify=False)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 108, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 464, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', error(4, 'Interrupted system call'))
2016-09-08 23:28:52,597 [virtwho.env_cmdline DEBUG] Xen-1(57837):MainThread @virt.py:run:389 - Virt backend 'env/cmdline' terminated
2016-09-08 23:28:53,598 [virtwho.main DEBUG] MainProcess(57830):MainThread @__main__.py:main:19 - virt-who terminated


Actual results:
It will show " "ConnectionError: ('Connection aborted.', error(4, 'Interrupted system call'))"" in the log

Expected results:
It shouldn't show any error info when restart virt-who service

Additional info:

Comment 1 Liushihui 2016-09-09 05:51:34 UTC
Unregister system which run virt-who with xen mode has the same problem.

2016-09-09 01:48:43,721 [INFO] rhsmd:59930:MainThread @rhsmd:261 - rhsmd started
2016-09-09 01:48:43,759 [virtwho.main WARNING] MainProcess(59609):MainThread @executor.py:reload:326 - virt-who reload

2016-09-09 01:48:55,217 [virtwho.main INFO] MainProcess(59609):MainThread @main.py:main:180 - Reloading
2016-09-09 01:48:55,217 [virtwho.main DEBUG] MainProcess(59609):MainThread @executor.py:run:171 - Starting infinite loop with 60 seconds interval
2016-09-09 01:48:55,221 [virtwho.env_cmdline DEBUG] Xen-4(59934):MainThread @virt.py:run:364 - Virt backend 'env/cmdline' started
2016-09-09 01:48:55,222 [virtwho.env_cmdline DEBUG] Xen-4(59934):MainThread @xen.py:_prepare:44 - Logging into XEN pools https://10.73.131.183
2016-09-09 01:49:01,466 [virtwho.env_cmdline DEBUG] Xen-4(59934):MainThread @xen.py:login:54 - XEN pool login successful with user root
2016-09-09 01:49:15,977 [virtwho.env_cmdline DEBUG] Xen-4(59934):MainThread @xen.py:getHostGuestMapping:87 - Control Domain 269d9301-275c-4c3b-a9df-994ddf1656c2 is ignored
2016-09-09 01:49:20,057 [virtwho.env_cmdline DEBUG] Xen-4(59934):MainThread @xen.py:getHostGuestMapping:87 - Control Domain 2629c102-8f29-4817-b32f-aa7802afbbf5 is ignored
2016-09-09 01:49:20,058 [virtwho.env_cmdline DEBUG] Xen-4(59934):MainThread @virt.py:enqueue:357 - Report for config "env/cmdline" gathered, putting to queue for sending
2016-09-09 01:49:20,061 [virtwho.main DEBUG] MainProcess(59609):MainThread @subscriptionmanager.py:_connect:124 - Authenticating with certificate: /etc/pki/consumer/cert.pem
2016-09-09 01:49:20,061 [virtwho.env_cmdline ERROR] Xen-4(59934):MainThread @xen.py:_wait:158 - Waiting on XEN events failed: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/xen.py", line 148, in _wait
    1.0)
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/XenAPI.py", line 260, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/site-packages/virtwho/virt/xen/XenAPI.py", line 161, in xenapi_request
    result = _parse_result(getattr(self, methodname)(*full_params))
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1233, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1587, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/site-packages/virtwho/util.py", line 39, in request
    resp = requests.post(self._url, data=request_body, headers=headers, verify=False)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 108, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 464, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', error(4, 'Interrupted system call'))
2016-09-09 01:49:29,101 [virtwho.main ERROR] MainProcess(59609):MainThread @main.py:_main:189 - Fatal error:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/virtwho/main.py", line 186, in _main
    result = executor.run()
  File "/usr/lib/python2.7/site-packages/virtwho/executor.py", line 256, in run
    self.send_report(report.config.name, report)
  File "/usr/lib/python2.7/site-packages/virtwho/executor.py", line 95, in send_report
    if self.send(report):
  File "/usr/lib/python2.7/site-packages/virtwho/executor.py", line 139, in send
    self._sendGuestAssociation(report)
  File "/usr/lib/python2.7/site-packages/virtwho/executor.py", line 166, in _sendGuestAssociation
    manager.hypervisorCheckIn(report, self.options)
  File "/usr/lib/python2.7/site-packages/virtwho/manager/subscriptionmanager/subscriptionmanager.py", line 171, in hypervisorCheckIn
    self._connect(report.config)
  File "/usr/lib/python2.7/site-packages/virtwho/manager/subscriptionmanager/subscriptionmanager.py", line 127, in _connect
    "Unable to read certificate, system is not registered or you are not root")
SubscriptionManagerUnregisteredError: Unable to read certificate, system is not registered or you are not root
2016-09-09 01:49:29,102 [virtwho.main INFO] MainProcess(59609):MainThread @main.py:_main:191 - Waiting for reload signal

Comment 2 Radek Novacek 2016-09-13 06:32:22 UTC
These error messages are mostly harmless. Given we're quite late for 7.3, I'll move it 7.4.

Comment 3 Liushihui 2017-03-27 02:44:13 UTC
It also exist on virt-who-0.19-2.el7sat.noarch

Comment 4 Chris Snyder 2017-05-12 14:14:15 UTC
I can not reproduce this using the xen config provided in comment 0.

Is there a test instance of Xen running that I can use to attempt to reproduce this?

Comment 5 Liushihui 2017-05-15 01:58:01 UTC
I also hasn't reproduce it on the RHEL-7.4-20170504.0(virt-who-0.19-4.el7.noarch). Therefore, I close it. Thanks.