Unit file opensm.service does not exist; provide opensm service files?

When I try systemctl enable opensm, I get:

Failed to enable unit: Unit file opensm.service does not exist.

There’s an open issue about opensm not providing these itself.

In the meantime, you could make a user-defined systemd unit under /etc/systemd/system/multi-user.target.wants/.

1 Like

Okay. Seems I may have to do the same for rdma.service.
The issue I linked earlier has sample files (taken from Fedora), and I also see an rdma.service file from redhat, listed as part of rmda-core – but seemingly wasn’t included with the hpc-utils bundle?

I’m new to networking and doing more with systemd then systemctl start X, so I am sorry if some of these questions are fairly basic.

Upstream does not provide these files, and this is explained by the age of the project and the amount of development activity.

This is one of those problems that should have been solved upstream. If we add unit files, they’re most likely not going to be correct since it’s unlikely that anyone on our team uses RDMA/opensm.

YTEH - You’re The Expert Here. It would really help if you could investigate what the proper content of the unit files are, submit them upstream and Cc the clearlinux github issue tracker. Then we can make progress instead of blindly adding some untested and copied unit file from another distro.

Now, I’m far from an expert. I just happen to have bought a few cards to play with.

In the Clear Linux rdma-core package:

PKG_NAME := rdma-core
URL = https://github.com/linux-rdma/rdma-core/releases/download/v24.0/rdma-core-24.0.tar.gz

include ../common/Makefile.common

It looks like you’re using the latest release of rdma-core.
I realize now it is actually that library that contains the rdma.service file I linked to earlier.
It contains the necessary files for debian, redhat, and suse.

Each of those distribution directories looks very different. I guess their intention is to cover most users by covering those three, while leaving others (like Arch) to take care of repackaging things themselves.

I’m sending an email to the mailing list.

I’m not quite sure where to ask regarding opensm. There are a series of mailing lists. I’ll try asking on the users list.

Response from Leon Romanovskt on the rdma-core mailing list:

Send patches and PR for rdma-core that adds your distribution and
upstream rdma-core will support it as long as you will take care
of ensuring that such new distribution picks this upstream variant.

I am far from an expert, but I’d be happy to help if there’s something I can do.

You will need to update our buildlib/cbuild too to support your distribution.
It will ensure that any new changes to rdma-core are checked against
this distro.


Another response, this one from Jason Gunthorpe:

rdma.service is obsolete. It is only provided for redhat to support
old redhat conventions. We should be removing it now from latest

The default install of rdma-core should provide all the systemd stuff
you need.

So the current rdma-core should be fine, implying opensm.service is the problem, and that I shouldn’t be looking at red-hat’s documentation?

Maybe the AUR and Arch wiki are the best references.