EDA Solutions logo

Licensing as a service (systemd) on Linux

Relevant product(s): All
Operating systems: RHEL
Versions affected: 2023 releases and later
Relevant area(s): Licensing

Summary

This article describes how SALT server can be configured as a SYSTEMD service manually on Linux. The SALT installer should do this automatically, but for situations where this is needed to be done manually, the steps are described here.

Pre-requisites

  • SiemensLicenseServer_v2.x.x.x_Lnx64_x86-64.bin – Downloadable from Siemens Support (Linux)
  • Installation of the above in order to have access to the license utilities (server and DAEMON files)
  • Root or administrative access to your RHEL license server

Details

Please make sure an installation of the server (pre-requisites section) exists on your system, otherwise you won’t have access to the utilities and the DAEMON necessary for the service setup.

Install the SALT licensing software, and move the license files and setup scripts for this service under the installation directory on your system. We recommend using the /opt directory. The /opt directory is a dedicated third party software directory in Linux.

The installed files should be similar to:

Define the service file under the standard service directory with a name “<name>.service”. Create a blank service under this directory using your favourite editor. In this example, we will call it “saltd.service”:

/etc/systemd/system/saltd.service

The contents of the file should be as shown below. Please modify “SALT_HOME” and “SALT_LICENSE_SERVER” to your own system.

SALT_HOME: the home directory of SALT installation

SALT_LICENSE_SERVER: the license file/directory path

[Unit]
Description=SIEMENS: lmgrd with saltd vendor daemon: 29000@%H
After=network.target
ConditionPathExists=!/var/tmp/locksaltd

[Service]
Type=simple
User=saltd
Group=saltd
Environment=”SALT_HOME=/opt/Siemens/Salt”
Environment=”SALT_LICENSE_SERVER”=/opt/Siemens/Salt/ActiveLicenses”
Version=2.2.0.0
WorkingDirectory=”/opt/Siemens/Salt/”
LimitNOFILE=65536
ExecStart=/usr/bin/env “${SALT_HOME}/lmgrd” -z -reuseaddr -c “${SALT_LICENSE_SERVER}” -l “${SALT_HOME}/saltd.log” -local
ExecStop=/usr/bin/env “${SALT_HOME}/lmutil” lmdown -q -force -c “${SALT_LICENSE_SERVER}”
ExecReload=/usr/bin/env “${SALT_HOME}/lmutil” lmdown -q -force -c “${SALT_LICENSE_SERVER}”; “${SALT_HOME}/lmgrd” -z -reuseaddr -c “${SALT_LICENSE_SERVER}” -l +”${SALT_HOME}/saltd.log” -local
RestartSec=30

[Install]
WantedBy=multi-user.target

The above entries can be understood by referring to the RHEL user manual for systemd here for their description.

Please then save the above.

Once this file is saved, start the service using the daemon-reload and start the service:

sudo systemctl daemon-reload
sudo systemctl start saltd.service

To enable the service, use the systemctl enable command:

sudo systemctl enable saltd.service

To check if the service is running you can run the command:

sudo systemctl status saltd.service

Troubleshooting

A log file is created when attempting to start the service which will provide information on why the service may have failed to run. This file is saved to $SALT_HOME.

A reason why the service may be failing is if an existing licensing service is running. In the case use the command below to stop the service. If this fails, you can use the disable command on the service.

sudo systemctl stop <servicename>.service

sudo systemctl disable <servicename>.service

If problems persist, then open a support request with ourselves and a member of the team will investigate.

References

RHEL systemd documentation: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd

Siemens Digital Industries Software Licensing Manual for Mentor® Products: https://docs.sw.siemens.com/en-US/product/852852103/doc/DC202112090.docs.sw_siemens_licensing_mgc.en_us/pdf/?audience=external