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?

Thanks.

 

Pass log:

2018-08-28 05:38:33.477 21142 INFO sysinv.openstack.common.rpc.common [-] Connected to AMQP server on localhost:5672

2018-08-28 05:38:33.485 21142 INFO sysinv.agent.manager [-] Sysinv Agent audit running inv_get_and_report.

2018-08-28 05:38:33.552 21177 INFO migrate.versioning.api [-] 0 -> 1...

2018-08-28 05:38:33.750 21177 INFO migrate.versioning.api [-] done

2018-08-28 05:38:33.750 21177 INFO migrate.versioning.api [-] 1 -> 2...

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

2018-08-28 05:38:34.032 21142 INFO sysinv.agent.pci [-] Could not determine DPDK support for NIC (vendor 0x8086 device: 0x100e), defaulting to False

2018-08-28 05:38:34.033 21142 WARNING sysinv.agent.pci [-] Enabling device enp0s8 to query link speed

2018-08-28 05:38:34.036 21142 WARNING sysinv.agent.pci [-] ATTR speed unknown for: enp0s8 (flags: 0x1002)

2018-08-28 05:38:34.036 21142 WARNING sysinv.agent.pci [-] Disabling device enp0s8 after querying link speed

 

Fail log:

2018-08-28 03:48:21.373 21302 INFO sysinv.openstack.common.rpc.common [-] Connected to AMQP server on localhost:5672

2018-08-28 03:48:21.382 21302 INFO sysinv.agent.manager [-] Sysinv Agent audit running inv_get_and_report.

2018-08-28 03:48:21.463 21337 INFO migrate.versioning.api [-] 0 -> 1...

2018-08-28 03:48:21.631 21337 INFO migrate.versioning.api [-] done

2018-08-28 03:48:21.631 21337 INFO migrate.versioning.api [-] 1 -> 2...

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

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task Traceback (most recent call last):

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task   File "/usr/lib64/python2.7/site-packages/sysinv/openstack/common/periodic_task.py", line 182, in run_periodic_tasks

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task     task(self, context)

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task   File "/usr/lib64/python2.7/site-packages/sysinv/agent/manager.py", line 1010, in _agent_audit

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task     force_updates=None)

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task   File "/usr/lib64/python2.7/site-packages/sysinv/agent/manager.py", line 1028, in agent_audit

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task     self.ihost_inv_get_and_report(icontext)

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task   File "/usr/lib64/python2.7/site-packages/sysinv/agent/manager.py", line 575, in ihost_inv_get_and_report

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task     pci_net_array = self._ipci_operator.pci_get_net_attrs(inic.pciaddr)

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task   File "/usr/lib64/python2.7/site-packages/sysinv/agent/pci.py", line 470, in pci_get_net_attrs

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task     stdout=fnull, stderr=fnull)

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task   File "/usr/lib64/python2.7/subprocess.py", line 542, in check_call

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task     raise CalledProcessError(retcode, cmd)

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task CalledProcessError: Command '['query_pci_id', '-v 0x8086', '-d 0x100e']' returned non-zero exit status 1

2018-08-28 03:48:21.687 21302 TRACE sysinv.openstack.common.periodic_task

2018-08-28 03:48:21.929 21337 INFO migrate.versioning.api [-] done

 

Best Regards

Shuicheng