Skip to main content

Amarisoft-License

Amarisoft has three classes of licenses:

  1. Fixed License where the license is locked to a specific machine.
  2. Floating License where the license could be used on any machine in the network, but it needs Internet connection to the Amarisoft license server.
  3. USB License where the license is locked to a USB dongle and served by the Amarisoft license server running locally.

Using Fixed or Floating License

You can only use the fixed license in the Snap or bare-metal version of the artifacts, since the containerized environments would use a different machine ID and/or MAC address. The floating license could be used in any environment, but it needs Internet connection to the Amarisoft license server.

NOTE: Amarisoft license server requires the port 9000 to be open for outgoing TCP traffic.

To use them, you copy the license to where the Snap could actually access it and then set the environment variable. Each Snap needs to see the license files separately copied preferably to /var/snap/{snap-name}/common/license/ directory. Then you set AMARISOFT_PATH environment variable to the path of the license file.

Example using fixed or floating license for amr-cn Snap

Assuming the license file ltemme.key is located at ~/ltemme.key, you run the following commands:

sudo mkdir --parents /var/snap/amr-cn/common/license/
sudo cp --update ~/ltemme.key /var/snap/amr-cn/common/license/ltemme.key
sudo AMARISOFT_PATH=/var/snap/amr-cn/common/license amr-cn

The same environment variable could be used to set the path to the license file in the bare-metal version, but without the limitation of the license file location.

Using USB License

This mode of license needs an Amarisoft license server running on a machine that has the USB dongle connected to it. For running the license server you could either use the bare-metal service, amr-utils Snap package, or on a Trirematics cluster install the Amarisoft composition models.

NOTE: The USB stick needs to be attached all the time to the machine running the license server.

Running the license server using amr-utils Snap package

You could run the license server using the amr-utils Snap package by running the following command:

sudo amr-utils.license

You could equivalently run it only in the background by running the following command:

sudo amr-utils.start-license

NOTE: You need to make sure the raw-usb plug is connected for the amr-utils Snap package.

Running the license server on a Trirematics cluster

When installing the Amarisoft Composition Model, you specify which machine has the USB dongle attached to it. The license server would use the host IP address to serve the license everywhere in the cluster. Hence, when installing the model you need to give the IP address of the machine as a parameter to the Helm chart.

cli install model amarisoft-simple-ran --set licenseServer={ip-address}

We suggest using one of the control plane nodes for this purpose, since they are highly available.

Installing a floating license on the Trirematics cluster

The Amarisoft Composition Model supports floating licenses too. For each deployment-mode using the license server there is an equivalent deployment-mode ending with -floating. For this mode to work, you need to deploy a ConfigMap containing the license file to the cluster as follows:

apiVersion: v1
kind: ConfigMap
metadata:
name: amr-license
namespace: trirematics
binaryData:
lteenb.key: |
<base64-encoded-license-file>
ltemme.key: |
<base64-encoded-license-file>

The network deployment would automatically pick up the license file from the ConfigMap and use it.

To encode the license file, you could use the following command. Beware of the line length and indentation of the YAML file.

base64 --wrap=80 ltemme.key

Port-forwarding technique

If you want to use Amarisoft license server off the network, you could use the SSH port-forwarding technique.

ssh -L 9000:localhost:9000 {user}@{license-server-ip}