[Starlingx-discuss] python-eventlet upgrade issue

Lin, Shuicheng shuicheng.lin at intel.com
Wed Sep 5 07:27:40 UTC 2018


Hi all,
The issue is caused by patch method in the new eventlet. It is still open at eventlet issue list as below link.
https://github.com/eventlet/eventlet/issues/413

I don't want to change our code to workaround it. So I decide not to upgrade eventlet src rpm.
Feel free to notify me if you have concern on it.

Hi Chris,
Thanks for your help. I will correct the '1' error if it is not done yet.


Best Regards
Shuicheng


-----Original Message-----
From: Chris Friesen [mailto:chris.friesen at windriver.com] 
Sent: Friday, August 31, 2018 3:33 AM
To: starlingx-discuss at lists.starlingx.io
Subject: Re: [Starlingx-discuss] python-eventlet upgrade issue

On 08/29/2018 08:51 PM, Lin, Shuicheng wrote:
> Hi,
>
> Anyone familiar with python-eventlet? I meet a problem when upgrade 
> python-eventlet from “0.18.4-2” to “0.20.1-2”, when do CentOS7.5 upgrade.
>
> Eventlet will hook/patch some basic python function, such as “call”/”check_call”
> from subprocess.py
>
> The issue is that, after upgrade to 0.20.1-2 version, these functions 
> don’t work as expected.
>
> For the pass log (with eventlet 0.18.4), below log is as expected:
>
> 2018-08-28 05:38:33.816 21142 INFO sysinv.agent.pci [-] Could not 
> determine DPDK support for NIC (vendor 0x8086 device: 0x100e), 
> defaulting to False
>
> But for the fail log(with eventlet 0.20.1), it seems the exception is 
> not handled correctly:
>
> 2018-08-28 03:48:21.687 21302 ERROR 
> sysinv.openstack.common.periodic_task [-] Error during 
> AgentManager._agent_audit: Command '['query_pci_id', '-v 0x8086', '-d 
> 0x100e']' returned non-zero exit status 1
>
> Is there any code style change with new eventlet?

There are a couple odd things going on here.

First, you found a bug.  The check at
http://git.openstack.org/cgit/openstack/stx-config/tree/sysinv/sysinv/sysinv/sysinv/agent/pci.py#n477
currently reads

if e.returncode == '1'

when it should be

if e.returncode == 1

This explains why you were getting the "Could not determine DPDK support..." 
message" before, when really you should have been getting "DPDK does support NIC..."

I can't explain why the CalledProcessError was caught by sysinv.openstack.common.periodic_task when it should have been caught (and
swallowed) by
http://git.openstack.org/cgit/openstack/stx-config/tree/sysinv/sysinv/sysinv/sysinv/agent/pci.py#n475

Chris

_______________________________________________
Starlingx-discuss mailing list
Starlingx-discuss at lists.starlingx.io
http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss


More information about the Starlingx-discuss mailing list