scylladb / seastar

High performance server-side application framework
http://seastar.io
Apache License 2.0
8.35k stars 1.54k forks source link

perftune.py: doesn't work with the in-box Ubuntu 16.04 python3-pyudev library #280

Closed vladzcloudius closed 7 years ago

vladzcloudius commented 7 years ago

HEAD: 5e1c236a263de7e5db0b55047a02f44297d5e89e OS: Ubuntu 16.04.2 LTS

Description

$ sudo perftune.py --tune disks --get-cpu-mask --dir /
ERROR: local variable 'devs' referenced before assignment. Your system can't be tuned until the issue is fixed.
vladzcloudius commented 7 years ago

The root cause of this is that the script is using an API from the python3-pyudev library version 0.21, which comes in-box in CentOS7.2. However Ubuntu 16.04 comes with a relatively old version - 0.16.

Therefore we hit an unexpected code path due to a 'no such method' exception.