FlexLM / Siemens UG License Manager for NX & SolidEdge
1.9K
Applicable to the Siemens UG license manager used to provide floating licenses for SolidEdge and NX.
Previously the license was bound to a so called host ID, which was in fact the MAC address of the license servers network adapter. As of year 2020 the host ID was replaced by a composite host ID, a hash value generated from the hostname and again the MAC address. Additionally the Linux version of the license daemon became available for SolidEdge users. This opens the possibility to run the license manager in a Docker container.
Lets assume your server's hostname is "licserv", the MAC address of your network adapter is "10:20:30:40:50" and your license file is "SELicenseFileV110.txt"
docker run -d --name se2023_licserv -p 26999:26999 -p 28000:28000 -e "HOSTNAME=licserv" -e "MACADDR=10:20:30:40:50" --mount type=bind,source="$(pwd)"/SELicenseFileV110.txt,target=/usr/Siemens/PLMLicenseServer/splm11.lic --privileged splm_ugslmd
Login to your NAS and start Docker UI. Upload your image to NAS e.g. using file station. In the Docker UI choose "Import image from file". Alternatively register from Docker Hub.
Launch image splm_ugslmd and set the following preferences:
General settings:
-> Execute container using high privilege
Advanced Settings:
-> Enable auto-restart
Volume:
-> Add file
-> Mount path: /usr/Siemens/PLMLicenseServer/splm11.lic
-> File/Folder: [Path to your license file]
Port Settings:
-> Local Port: 26999, Container Port: 26999
-> Local Port: 28000, Container Port: 28000
Environment:
-> HOSTNAME: [hostname of your license server]
-> MACADDR: [MAC address used to obtain the composite host ID]
Hit Apply and your are done!
In case the provided image does not work for several reasons you can build it according to the following instructions.
mkdir splm_ugslmd
cd splm_ugslmd
cat > Dockerfile <<EOF
# syntax=docker/dockerfile:1
FROM opensuse/leap:15
# Expose ports
EXPOSE 26999
EXPOSE 28000
# Hostname and mac will be set during runtime
ENV HOSTNAME=thishost
ENV MACADDR=00:11:22:33:44:55
# copy license file
COPY ./splm11.lic /tmp/splm11.lic
# copy install binary
COPY ./SPLMLicenseServer_v11.0.0_linux_setup.bin /tmp/SPLMLicenseServer_setup.bin
# copy start script
COPY ./init /usr/local/sbin/init
# create dir required by license service
# set correct permissions for start script
# set correct permissions for setup binary
RUN mkdir /usr/tmp/;\
chmod +x /usr/local/sbin/init;\
chmod +x /tmp/SPLMLicenseServer_setup.bin
# install requirements for licenseserver post-install-check
RUN zypper -n install insserv vim iproute2 iputils
# install licenseserver using binary
RUN /tmp/SPLMLicenseServer_setup.bin --mode unattended --installer-language en --installdir /usr/Siemens/PLMLicenseServer --licensefile /tmp/splm11.lic || :;\
rm /tmp/splm11.lic;\
rm /tmp/SPLMLicenseServer_setup.bin
# start script when running the container (starts license service + tail -f on logfile)
CMD ["/usr/local/sbin/init"]
EOF
cat > init <<EOF
#!/bin/bash
# set hostname
old_hostname=$(uname -n)
new_hostname=$(env |grep -i hostname | cut -d '=' -f 2)
if [ ! -z $new_hostname ]; then
echo $new_hostname > /proc/sys/kernel/hostname
echo $new_hostname > /etc/hostname
cp /etc/hosts /etc/hosts.tmp
sed -i "s/$old_hostname/$new_hostname/" /etc/hosts.tmp
cat /etc/hosts.tmp > /etc/hosts
rm /etc/hosts.tmp
fi
# set mac address
macaddr=$(env |grep -i macaddr | cut -d '=' -f 2)
if [ ! -z "$(echo $macaddr | grep -E '^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$')" ]; then
ip link set dev eth0 down
ip link set dev eth0 address $macaddr
ip link set dev eth0 up
fi
# start license server
service splmld start
tail -f /usr/Siemens/PLMLicenseServer/splm_ugslmd.log
EOF
cat > splm11.lic <<EOF
################################################################################
# #
# #
# Siemens PLM Software Inc. #
# License File #
# #
# Sold-To/Install: 0000000 WebKey Access Code: 0000000000 #
# Contact Name: Werner von Siemens Created: 01/01/2023 #
# Customer Name: Siemens AG #
# E-mail Address: [email protected] Version: 2212 #
################################################################################
SERVER thishost COMPOSITE=D1E5C5AEFE6B 28000
VENDOR ugslmd PORT=26999
################################################################################
# #
# SOFTWARE LICENSE TO FEATURE NAME CROSS REFERENCE #
# Version: 2212 Created: 01/01/2023 00:00:00#
# Siemens AG Sold-To/Install: 0000000 #
################################################################################
# LICENSE PRODUCT QTY DESCRIPTION QTY FEATURE NAME
# --------------- ----- -------------------- ----- ---------------------------
# SE320TC 1 Solid Edge Classic 1 solidedgeclassic
# SE401 1 Solid Edge Included CAM
# 1 3d_to_2d_flattener
# 1 assemblies
# 1 cam_base
# 1 cavity_milling
# 1 dxf_to_ug
# 1 dxfdwg
# 1 gateway
# 1 gmc
# 1 graphical_tool_path
# 1 grip_execute
# 1 iges
# 1 nc_external_program
# 1 nc_wizard_builder
# 1 nx_cam_deburr_planar
# 1 nx_post_config_adv
# 1 planar_milling
# 1 probe
# 1 pstudio_auth
# 1 pstudio_cons
# 1 pv_ugdatagenerator
# 1 shop_doc
# 1 sla_3d_systems
# 1 step_ap203
# 1 step_ap214
# 1 tol_cavity_milling
# 1 ug_holemaking
# 1 ug_kf_execute
# 1 ug_post_exe
# 1 ug_post_kinematics
# 1 ug_post_mill
# 1 ug_smart_models
# 1 ug_to_dxf
# 1 ug_to_vericut
# 1 ug_visualize
# 1 ugopen_menuscript
EOF
docker build -t splm_ugslmd:latest -f Dockerfile .
docker image save splm_ugslmd -o ./splm_ugslmd.img
docker run -d --name se2023_licserv -p 26999:26999 -p 28000:28000 -e "HOSTNAME=licserv" -e "MACADDR=10:20:30:40:50" --mount type=bind,source="$(pwd)"/SELicenseFileV110.txt,target=/usr/Siemens/PLMLicenseServer/splm11.lic --privileged splm_ugslmd
docker container exec -it se2023_licserv /bin/bash
ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 18:31 ? 00:00:00 /bin/bash /usr/local/sbin/init
splmld 42 1 0 18:31 ? 00:00:00 /usr/Siemens/PLMLicenseServer/lmgrd -c /usr/Siemens/PLMLicenseServer/splm11.lic
splmld 45 42 1 18:31 ? 00:00:00 ugslmd -T licserv 11.16 7 -c :/usr/Siemens/PLMLicenseServer/splm11.lic: -srv tZiLzz07mZXqo2iK3k0xYocyS2rRId
root 54 1 0 18:31 ? 00:00:00 tail -f /usr/Siemens/PLMLicenseServer/splm_ugslmd.log
root 55 0 0 18:31 pts/0 00:00:00 /bin/bash
root 82 55 99 18:31 pts/0 00:00:00 ps -ef
mount |grep Siemens
/dev/mapper/cr-local on /usr/Siemens/PLMLicenseServer/splm11.lic type ext4 (rw,relatime,stripe=128)
uname -n
licserv
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
21: eth0@if22: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 10:20:30:40:50 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
cat /usr/Siemens/PLMLicenseServer/splm_ugslmd.log
19:01:52 (lmgrd) -----------------------------------------------
19:01:52 (lmgrd) Please Note:
19:01:52 (lmgrd)
19:01:52 (lmgrd) This log is intended for debug purposes only.
19:01:52 (lmgrd) In order to capture accurate license
19:01:52 (lmgrd) usage data into an organized repository,
19:01:52 (lmgrd) please enable report logging. Use Flexera's
19:01:52 (lmgrd) software license administration solution,
19:01:52 (lmgrd) FlexNet Manager, to readily gain visibility
19:01:52 (lmgrd) into license usage data and to create
19:01:52 (lmgrd) insightful reports on critical information like
19:01:52 (lmgrd) license availability and usage. FlexNet Manager
19:01:52 (lmgrd) can be fully automated to run these reports on
19:01:52 (lmgrd) schedule and can be used to track license
19:01:52 (lmgrd) servers and usage across a heterogeneous
19:01:52 (lmgrd) network of servers including Windows NT, Linux
19:01:52 (lmgrd) and UNIX.
19:01:52 (lmgrd)
19:01:52 (lmgrd) -----------------------------------------------
19:01:52 (lmgrd)
19:01:52 (lmgrd)
19:01:52 (lmgrd) Server's System Date and Time: Thu Mar 30 2023 19:01:52 UTC
19:01:52 (lmgrd) SLOG: Summary LOG statistics is enabled.
19:01:52 (lmgrd) FlexNet Licensing (v11.16.4.0 build 252457 x64_lsb) started on licserv (linux) (3/30/2023)
19:01:52 (lmgrd) Copyright (c) 1988-2019 Flexera. All Rights Reserved.
19:01:52 (lmgrd) World Wide Web: http://www.flexerasoftware.com
19:01:52 (lmgrd) License file(s): /usr/Siemens/PLMLicenseServer/splm11.lic
19:01:52 (lmgrd) lmgrd tcp-port 28000
19:01:52 (lmgrd) (@lmgrd-SLOG@) ===============================================
19:01:52 (lmgrd) (@lmgrd-SLOG@) === LMGRD ===
19:01:52 (lmgrd) (@lmgrd-SLOG@) Start-Date: Thu Mar 30 2023 19:01:52 UTC
19:01:52 (lmgrd) (@lmgrd-SLOG@) PID: 41
19:01:52 (lmgrd) (@lmgrd-SLOG@) LMGRD Version: v11.16.4.0 build 252457 x64_lsb ( build 252457 (ipv6))
19:01:52 (lmgrd) (@lmgrd-SLOG@)
19:01:52 (lmgrd) (@lmgrd-SLOG@) === Network Info ===
19:01:52 (lmgrd) (@lmgrd-SLOG@) Listening port: 28000
19:01:52 (lmgrd) (@lmgrd-SLOG@)
19:01:52 (lmgrd) (@lmgrd-SLOG@) === Startup Info ===
19:01:52 (lmgrd) (@lmgrd-SLOG@) Server Configuration: Single Server
19:01:52 (lmgrd) (@lmgrd-SLOG@) Command-line options used at LS startup: -c /usr/Siemens/PLMLicenseServer/splm11.lic
19:01:52 (lmgrd) (@lmgrd-SLOG@) License file(s) used: /usr/Siemens/PLMLicenseServer/splm11.lic
19:01:52 (lmgrd) (@lmgrd-SLOG@) ===============================================
19:01:52 (lmgrd) Starting vendor daemons ...
19:01:52 (lmgrd) Starting vendor daemon at port 26999
19:01:52 (lmgrd) Using vendor daemon port 26999 specified in license file
19:01:52 (lmgrd) Started ugslmd (internet tcp_port 26999 pid 44)
19:01:52 (ugslmd) FlexNet Licensing version v11.16.4.0 build 252457 x64_lsb
19:01:52 (ugslmd) SLOG: Summary LOG statistics is enabled.
19:01:52 (ugslmd) SLOG: FNPLS-INTERNAL-CKPT1
19:01:52 (ugslmd) SLOG: VM Status: 0
19:01:52 (ugslmd) SLOG: FNPLS-INTERNAL-CKPT5
19:01:52 (ugslmd) SLOG: TPM Status: 0
19:01:52 (ugslmd) SLOG: FNPLS-INTERNAL-CKPT6
19:01:52 (ugslmd) Using options file: "26999"
19:01:52 (ugslmd) Server started on licserv for: 3d_to_2d_flattener
19:01:52 (ugslmd) assemblies cam_base cavity_milling
19:01:52 (ugslmd) dxf_to_ug dxfdwg gateway
19:01:52 (ugslmd) gmc graphical_tool_path grip_execute
19:01:52 (ugslmd) iges nc_external_program nc_wizard_builder
19:01:52 (ugslmd) nx_cam_deburr_planar nx_post_config_adv planar_milling
19:01:52 (ugslmd) probe pstudio_auth pstudio_cons
19:01:52 (ugslmd) pv_ugdatagenerator shop_doc sla_3d_systems
19:01:52 (ugslmd) step_ap203 step_ap214 tol_cavity_milling
19:01:52 (ugslmd) ug_holemaking ug_kf_execute ug_post_exe
19:01:52 (ugslmd) ug_post_kinematics ug_post_mill ug_smart_models
19:01:52 (ugslmd) ug_to_dxf ug_to_vericut ug_visualize
19:01:52 (ugslmd) ugopen_menuscript borrowing gateway_id
19:01:52 (ugslmd) solidedgeclassic server_id
19:01:52 (ugslmd)
19:01:52 (ugslmd) Licenses are case sensitive for ugslmd
19:01:52 (ugslmd)
19:01:52 (ugslmd) EXTERNAL FILTERS are OFF
19:01:52 (ugslmd) CANNOT OPEN options file "26999"
19:01:52 (lmgrd) ugslmd using TCP-port 26999
19:01:52 (ugslmd) SLOG: Statistics Log Frequency is 240 minute(s).
19:01:52 (ugslmd) SLOG: TS update poll interval is 600 seconds.
19:01:52 (ugslmd) SLOG: Activation borrow reclaim percentage is 0.
19:01:52 (ugslmd) (@ugslmd-SLOG@) ===============================================
19:01:52 (ugslmd) (@ugslmd-SLOG@) === Vendor Daemon ===
19:01:52 (ugslmd) (@ugslmd-SLOG@) Vendor daemon: ugslmd
19:01:52 (ugslmd) (@ugslmd-SLOG@) Start-Date: Thu Mar 30 2023 19:01:52 UTC
19:01:52 (ugslmd) (@ugslmd-SLOG@) PID: 44
19:01:52 (ugslmd) (@ugslmd-SLOG@) VD Version: v11.16.4.0 build 252457 x64_lsb ( build 252457 (ipv6))
19:01:52 (ugslmd) (@ugslmd-SLOG@)
19:01:52 (ugslmd) (@ugslmd-SLOG@) === Startup/Restart Info ===
19:01:52 (ugslmd) (@ugslmd-SLOG@) Options file used: 26999
19:01:52 (ugslmd) (@ugslmd-SLOG@) Is vendor daemon a CVD: No
19:01:52 (ugslmd) (@ugslmd-SLOG@) Is FlexNet Licensing Service installed and compatible: No
19:01:52 (ugslmd) (@ugslmd-SLOG@) FlexNet Licensing Service Version: -NA-
19:01:52 (ugslmd) (@ugslmd-SLOG@) Is TS accessed: No
19:01:52 (ugslmd) (@ugslmd-SLOG@) TS access time: -NA-
19:01:52 (ugslmd) (@ugslmd-SLOG@) Number of VD restarts since LS startup: 0
19:01:52 (ugslmd) (@ugslmd-SLOG@)
19:01:52 (ugslmd) (@ugslmd-SLOG@) === Network Info ===
19:01:52 (ugslmd) (@ugslmd-SLOG@) Listening port: 26999
19:01:52 (ugslmd) (@ugslmd-SLOG@) Daemon select timeout (in seconds): 1
19:01:52 (ugslmd) (@ugslmd-SLOG@)
19:01:52 (ugslmd) (@ugslmd-SLOG@) === Host Info ===
19:01:52 (ugslmd) (@ugslmd-SLOG@) Host used in license file: licserv
19:01:52 (ugslmd) (@ugslmd-SLOG@) HostID node-locked in license file: COMPOSITE=746833B71127
19:01:52 (ugslmd) (@ugslmd-SLOG@) HostID of the License Server: 0123456789ab
19:01:52 (ugslmd) (@ugslmd-SLOG@) Running on Hypervisor: Not determined - treat as Physical
19:01:52 (ugslmd) (@ugslmd-SLOG@) ===============================================
/usr/Siemens/PLMLicenseServer/getcid
Composite HostID Value(s):
Multiple composite hostids (CIDs) indicate you have multiple network adapters.
You should select the first CID or the most appropriate CID based on the network
adapter which is currently active. The Siemens PLM Software Licensing CIDs
for this host "licserv" are:
COMPOSITE=746833B71127 - eth0
(MAC : 102030405060)
Press the ENTER key to continue...
/usr/Siemens/PLMLicenseServer/lmutil lmstat -a
lmutil - Copyright (c) 1989-2019 Flexera. All Rights Reserved.
Flexible License Manager status on Thu 3/30/2023 19:12
License server status: 28000@licserv
License file(s) on licserv: /usr/Siemens/PLMLicenseServer/splm11.lic:
licserv: license server UP (MASTER) v11.16.4
Vendor daemon status (on licserv):
ugslmd: UP v11.16.4
Feature usage info:
Users of 3d_to_2d_flattener: (Total of 1 license issued; Total of 0 licenses in use)
Users of assemblies: (Total of 1 license issued; Total of 0 licenses in use)
Users of cam_base: (Total of 1 license issued; Total of 0 licenses in use)
Users of cavity_milling: (Total of 1 license issued; Total of 0 licenses in use)
Users of dxf_to_ug: (Total of 1 license issued; Total of 0 licenses in use)
Users of dxfdwg: (Total of 1 license issued; Total of 0 licenses in use)
Users of gateway: (Total of 1 license issued; Total of 0 licenses in use)
Users of gmc: (Total of 1 license issued; Total of 0 licenses in use)
Users of graphical_tool_path: (Total of 1 license issued; Total of 0 licenses in use)
Users of grip_execute: (Total of 1 license issued; Total of 0 licenses in use)
Users of iges: (Total of 1 license issued; Total of 0 licenses in use)
Users of nc_external_program: (Total of 1 license issued; Total of 0 licenses in use)
Users of nc_wizard_builder: (Total of 1 license issued; Total of 0 licenses in use)
Users of nx_cam_deburr_planar: (Total of 1 license issued; Total of 0 licenses in use)
Users of nx_post_config_adv: (Total of 1 license issued; Total of 0 licenses in use)
Users of planar_milling: (Total of 1 license issued; Total of 0 licenses in use)
Users of probe: (Total of 1 license issued; Total of 0 licenses in use)
Users of pstudio_auth: (Total of 1 license issued; Total of 0 licenses in use)
Users of pstudio_cons: (Total of 1 license issued; Total of 0 licenses in use)
Users of pv_ugdatagenerator: (Total of 1 license issued; Total of 0 licenses in use)
Users of shop_doc: (Total of 1 license issued; Total of 0 licenses in use)
Users of sla_3d_systems: (Total of 1 license issued; Total of 0 licenses in use)
Users of step_ap203: (Total of 1 license issued; Total of 0 licenses in use)
Users of step_ap214: (Total of 1 license issued; Total of 0 licenses in use)
Users of tol_cavity_milling: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_holemaking: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_kf_execute: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_post_exe: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_post_kinematics: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_post_mill: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_smart_models: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_to_dxf: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_to_vericut: (Total of 1 license issued; Total of 0 licenses in use)
Users of ug_visualize: (Total of 1 license issued; Total of 0 licenses in use)
Users of ugopen_menuscript: (Total of 1 license issued; Total of 0 licenses in use)
Users of borrowing: (Total of 1 license issued; Total of 0 licenses in use)
Users of gateway_id: (Total of 1000 licenses issued; Total of 0 licenses in use)
Users of solidedgeclassic: (Total of 1 license issued; Total of 0 licenses in use)
Users of server_id: (Total of 1 license issued; Total of 0 licenses in use)
exit
telnet 172.17.0.2 28000
Trying 172.17.0.2...
Connected to 172.17.0.2.
Escape character is '^]'.
Connection closed by foreign host.
and:
$> telnet 172.17.0.2 26999
Trying 172.17.0.2...
Connected to 172.17.0.2.
Escape character is '^]'.
Connection closed by foreign host.
Content type
Image
Digest
sha256:9dd529494…
Size
220.4 MB
Last updated
over 3 years ago
docker pull kutena/splm_ugslmd