Software License

Note

Starting with release v0.38.0 the appliances are compatible with Anapaya’s license management system. The license can be installed on the appliance but are not yet enforced.

Anapaya appliances require an Anapaya license to be fully functional. The operator can install an appliance without a license, as the appliance is initially in an infinite trial-period. However, once SCION has been configured, the trial-period turns into a finite period of 30 days. After this period the appliance runs in restricted-functionality mode.

To enable the required features on the appliance, the operator must install a license. The appliance is operating with the installed license as long as the license is valid. After the license has expired, the appliance enters a grace-period. This period should provide enough time to renew the license before the appliance goes into restricted-functionality mode.

License Lifecycle

Depending on the available license on the device, the appliance is in one of the following license states:

  • valid-license: The appliance is configured with a valid license and allows the corresponding features.

  • trial-period: The appliance is still in the trial period, which means it was recently set up and there has never been a license on the system. If SCION hasn’t been configured yet, this status does not expire. Once SCION has been configured, the status will expire after a month.

  • grace-period: The appliance had a valid license before, but it has expired. During the grace period, the functionality of the appliance remains unchanged. The grace period is 3 months.

  • restricted-functionality: No valid license has been added after the trial period or the grace period. The appliance is still operational, but runs in a restricted-functionality mode.

The lifecycle of the dfferent states is shown in the following diagram:

../../../_images/license-lifecycle1.png

License Management

To activate a license a 3-step process is required and described in this section.

License Request File

The License Request File (LRF) is used in the Self-Service Portal to generate a license. The LRF can be retrieved using the following command:

appliance-cli get software/licenses/request > license_request.json
# or using curl
curl -k -u <user>:<password> https://$APPLIANCE_API_PH/api/v1/software/licenses/request

Associate the LRF with the subscription in the Self-Service Portal

To associate the LRF with the corresponding subscription in the Self-Service Portal, follow the steps:

Note

This step requires that a subscription has been ordered beforehand in the Self-Service Portal.

  1. Connect to the Self-Service Portal with a user granted with the “license activation” permission.

  2. Go to the “Quotation/Ordering” module and select the “License Activation” menu.

  3. Select the relevant subscription from the list and click on the pencil to take an action.

  4. Upload the LRF file, check the parameters and confirm.

    Note

    If the appliance has not yet been set up, you can select your effective date.

  5. Retrieve the signed license and store it for the next steps.

Upload the signed license

The signed license can be uploaded to the corresponding appliance using the following command:

appliance-cli post software/licenses 'license: <license>'
# or using curl
curl -X POST -k -u <user>:<password> https://$APPLIANCE_API_PH/api/v1/software/licenses -H "Content-Type: application/json" -d '{"license": <license>}'

Troubleshooting

This section provides some initial steps to troubleshoot issues with the license management system.

If you encounter any issues when interacting with the appliance, please check the logs of the appliance-controller:

journalctl -eu appliance-controller.service

If you’re not able to resolve the problem or if the issue is related to the Self Service Portal, please contact the Anapaya support team. Provide as much information as possible:

  • The precise description of the issue and the potential error messages.

  • The output of the appliance-controller logs for the given time frame.

  • Any additional information that might be relevant (LRF, license file, etc.).

  • The subscription identifier from the Self-Service Portal.

Helpful commands

You can refer to Management API Specification for the complete list of software-license endpoints to interact with the licenses on the system. Here are some useful appliance-cli commands to check the API endpoints:

  • Check the status of the licensing system:

    appliance-cli get software/licenses/status
    
  • List licenses:

    appliance-cli get software/licenses
    
  • Add license:

    appliance-cli post software/licenses 'license: <license>'
    
  • Get a specific license:

    appliance-cli get software/licenses/<license_id>
    
  • Remove a license:

    Warning

    Removing licenses from the appliance is generally not required, and removing the active license may result in restricted-functionality mode.

    appliance-cli delete software/licenses/<license_id>