On Wed, Jan 05, 2022 at 11:32:40AM +0100, Benjamin Drung wrote: > Hi, > > we have an in-house Shell script that uses iblinkinfo to check if the > InfiniBand cabling is correct. This information can be derived from the > node names that can be seen for the HCA port. I want to improve that > check and rewrite it in Python, but I failed to find an easy and robust > way to retrieve the node names for a HCA port: > > 1) Call "iblinkinfo --line" and parse the output. Parsing the output > could probably be done with a complex regular expression. This solution > is too ugly IMO. > > 2) Extend iblinkinfo to provide a JSON output. Then let the Python > script call "iblinkinfo --json" and simply use json.load for parsing. > This solution requires some C coding and probably a good json library > should be used to avoid generating bogus JSON. > > 3) Use https://github.com/jgunthorpe/python-rdma but this library has > not been touched for five years and needs porting to Python 3. So that > is probably a lot of work as well. > > 4) Use pyverbs provided by rdma-core, but I found neither a single API > call to query similar data to iblinkinfo, nor an example for that use > case. > > What should I do? Isn't this information available in sysfs? [leonro@mtl-leonro-l-vm ~]$ cat /sys/class/infiniband/ibp0s9/node_desc mtl-leonro-l-vm ibp0s9 Can you give an example? Thanks > > -- > Benjamin Drung > > Senior DevOps Engineer and Debian & Ubuntu Developer > Compute Platform Operations Cloud > > IONOS SE | Revaler Str. 30 | 10245 Berlin | Deutschland > E-Mail: benjamin.drung@xxxxxxxxx | Web: www.ionos.de > > Hauptsitz Montabaur, Amtsgericht Montabaur, HRB 24498 > > Vorstand: Hüseyin Dogan, Dr. Martin Endreß, Claudia Frese, Henning > Kettler, Arthur Mai, Britta Schmidt, Achim Weiß > Aufsichtsratsvorsitzender: Markus Kadelke > > > Member of United Internet >