Licensing

Developing Solutions provides three licensing options for your dsTest software. dsTest licenses are issued for each major software release and you must obtain a license this is compatible with the version of the software that you choose to install - typically the latest version available. Your license will expire shortly after the next release and license become available. You can install the new license, however, without disrupting your test schedule as licenses are backward compatible, allowing you to upgrade your dsTest software when it is convenient for you to do so.

For information on the status of your current dsTest license and its resources, refer to this FAQ.

After reviewing the information below, click the applicable header to see the installation instructions for your license type.

How you install your license(s) depends upon the license type. Please verify the type of license you have before using the instructions below and use the correct set of instructions depending upon the type of license. If you have any question regarding license installation, please contact Support before proceeding.

The .tgz license file(s) received from Developing Solutions must be decompressed using the Linux tar command or installed using dsClient Desktop as specified by the instructions in this section. Decompressing these files in a Windows environment will corrupt your license.

Users of the devsol group have the permissions needed to install licenses. If you are receiving a "permission denied" error when trying to overwrite an existing license file it may be because the existing file was written by an account with root permissions. In that case delete the existing file as root, then exit root and install the current file. Installing a license with root permission will also prevent you from updating your license using dsClient Desktop.

Node-Locked License

The license is installed on the platform along with dsTest. A single instance of dsTest may be run and it may only be run on that platform. The license is tied to that platform and can only be transfered to a different platform when the license is renewed. With this type of license, dsTest must be installed in the native OS (i.e., dsTest cannot be installed in a virtual machine that runs on the licensed platform).

Floating License

The floating license option provides the greatest flexibility for enterprise use as multiple dsTest instances may be running concurrently - up to the licensed number of users - and dsTest can dynamically check out license resources as needed and then release those resources when they are no longer needed. In addition, all interface applications in your license are always available to all instances of dsTest.

This option requires a license server in your network with which your dsTest instances will communicate. In this case the floating license is tied to the license server platform and the license server must be installed in the native OS. dsTest, however, may be installed in a virtual machine or a native OS with this type of license. dsTest instances must always have connectivity with the license server but may reside in different network segments or facilities.

Resource Consumption

As stated above, interface applications are available to all instances of dsTest that are associated with the floating license. Three licensed resources are consumed by an instance of dsTest, leaving only the remaining resources available to other instances.

Users: each active instance of dsTest consumes one user resource. When all users have been consumed additional instances of dsTest cannot be launched.

Subscribers: as you load test configurations, dsTest will attempt to dynamically check out the number of subscribers defined in your subscriber database(s). The test will fail to load if the available subscribers in the license is insufficient.

Transactions-per-Second (TPS): TPS can be statically checked out when you launch dsTest or dynamically checked out when you load a test configuration. In order to dynamically check out TPS you must configure the expected TPS for each interface application in your configuration (see Estimating TPS for more information). Otherwise dsTest will attempt to check out 20K x (number of cores - 1) TPS. In either case dsTest will also check out a user resource if the requisite TPS is available and a user resource has not already been obtained. In the former case dsTest will fail to launch if either check out attempt fails. In the latter case the test will fail to load if either attempt fails.

Renewing and Releasing Resources

By default, resources are checked out for 10 minute intervals and dsTest will start attempting to renew its license several minutes before the license expires. If dsTest is unable to communicate with the license server before the license expires, dsTest will exit.

When you unload a test dsTest will release the subscribers that were dynamically checked out for that test. If you launched dsTest in standby mode (i.e., without checking out TPS) the TPS and user resources will also be released and dsTest will return to standby mode. Otherwise, the TPS and user resources will continue to be renewed until dsTest is terminated.

dsTest attempts to release all license resources whenever it recognizes that it is being shut down. Terminating dsTest with a kill -9 rather than issuing a terminate command will prevent that from happening. In that case resources will remain checked out until the license interval expires.

Hosted Floating License

Developing Solutions hosts the floating license on our license servers, which means instances of dsTest must have Internet access in order to communicate with a license server.

With this arrangement you also have the option to manually check out a license for a specified period of time, up to 30 days. This allows you to lock in the resources that you'll need for a demonstration at a customer site or a trade show without the need to communicate with our license server.

Installing a Node-Locked License

After you receive the license file that you requested when you installed dsTest it must be decompressed and placed in the proper location on the server. If you use dsClient Desktop you can install this type of license using the Status and Operations screen. Follow the instructions below to install the license manually.

First, transfer the file you received from Support to the server and decompress it:

> tar -xvzf <license file name>.tgz

The resulting file - license.dsl - is the dsTest license. Place this file in the /usr/local/devsol/config/ directory on the server.

Licenses are time-sensitive and dsTest requires that the date and time on the server platform be properly configured. A "system corrupt" error is generated when dsTest is started without a valid license or when there is a conflict between the license and the configured date and time on the server. We recommend synchronizing the server date and time with an NTP server. If you continue to receive "system corrupt" errors after installing your license and confirming that the server is properly configured, please contact Support.

Refer to Running dsTest as a Service as you may need to modify the contents of /usr/local/devsol/run/dsTest.conf to set DSTEST_ENABLE="No" if you do not want dsTest to automatically start upon server restarts. You may also need to modify the contents of /usr/local/devsol/run/licenseserver.conf to set LICENSE_SERVER_ENABLE="No".  Since this is a Node-Locked license, there is no license server to start, and this option should be disabled to avoid conflicts with restarting dsTest.

After your node-locked license is in place you are ready to launch dsTest.

Extending an installed Node-Locked license

If you have a long term test running and your dsTest license is set to expire before the end of the test run, you can extend your dsTest license without stopping dsTest. Additional resources, such as new applications or additional subscribers, may also be added to a license while dsTest is running.

 

This feature cannot be used to upgrade to a new version of dsTest or to replace an expired license. The extended license must be for the same version of dsTest that is currently licensed and dsTest must be running.

 

Contact Support and include the system's license information to obtain a new compressed license file. As with installing a new node-locked license, you can install a license extension using the Status and Operations screen in dsClient Desktop or you can manually install the extended license by following the steps below.

1.Transfer the compressed file to /home/devsol/ or to the directory from which you normally start dsTest and decompress it using the tar command.
          > tar -xvzf <license file name>.tgz

2.Start dsClient Terminal at the command line.
          > dsClient

3.Source the license.dsl file resulting from step 1 as you would source a test configuration. dsTest will install the extended license in /usr/local/devsol/config/ and will also update the memory-resident aspects of the license information without interrupting your test.
          dsTest> source license.dsl

4.Exit dsClient Terminal.
          dsTest> quit

5.Delete the tar file and the license file from the current directory.

Installing a Floating (non-hosted) License

As noted above, this licensing option requires a local license server to serve up licenses for your dsTest instances. This section covers installing, configuring, licensing, and operating the license server as well as licensing your dsTest installations.

For Floating (non-hosted) licenses, the License Server application must run on a native Linux OS environment. Virtual Machine (VM) environments are not supported for the license server. Instances of dsTest, however, can run on VMs that have connectivity to the license server.

Connectivity between the dsTest servers and the License Server must be maintained at all times. dsTest will periodically connect to the license server, and if the connection attempt fails dsTest will terminate. UDP port 10009 must be open for communications between the dsTest server and the license server. For a list of all ports that must be open for dsTest, refer to this FAQ.

The License Server application is installed with dsTest. If you haven't already done so install dsTest on the license server platform and then request your license. Follow the instructions below after you have received the compressed license file.

First, transfer the file you received from Support to the server and decompress it:

> tar -xvzf <license file name>.tgz

Two files will now be available: floating.lic (the floating license) and license.dsl (the license for a dsTest instance).

Place floating.lic in the /usr/local/devsol/config directory on the license server. If the license server is running you will need to restart the licenseServer service (see Operating a License Server below).

Place a copy of license.dsl in the /usr/local/devsol/config directory on all of your dsTest installations, including the license server if you wish to also run dsTest on that platform, and start or restart dsTest.

Licenses are time-sensitive. The license server application requires that the date and time on the license server and any dsTest platform that requests a license be within 5 seconds of each other. We recommend synchronizing all of your platforms with an NTP server. An error message is generated when dsTest is started without a valid license or when time synchronization is out of tolerance. 

A "WARNING: Client and Server Time of Day not synchronized" message is generated when you check the license status if the platforms are not synchronized.

If you continue to receive "system corrupt" errors after installing your license and confirming that all platforms are properly configured, please submit the problem to Support.

Operating a License Server

The License Server application should be configured to run as a service to ensure that it will automatically start when the server boots or when the software is upgraded. You must be logged in as root, or operating with root permissions, in order to execute these commands.

When you install either the dsTest or License Server package, the dsLicense service is added to the server as a systemd service. To enable or disable automatic startup of the license service, use the following commands:

 

systemctl enable dsLicense.service

systemctl disable dsLicense.service 

When upgrading existing floating license files, it is necessary to stop and restart the dsLicense service in order for the new license information to be activated. The commands listed below may be used for stopping and restarting the service.

systemctl start dsLicense.service

systemctl stop dsLicense.service

systemctl status dsLicense.service

 

Hosted Floating Licensing

With Hosted Floating Licensing, Developing Solutions hosts your master license on our license server and your dsTest instances obtain their licenses from that server. Your dsTest instances are paired with your master license and will only check out resources from that license. We maintain two mirrored license servers and each server is on a separate provider network for redundancy. In addition, license server status is continuously monitored by Developing Solutions.

Support supplies the license file that you will install on every platform - native OS or virtual machine - that will run dsTest. If you use dsClient Desktop you can install this type of license using the Status and Operations screen. Follow the instructions below to install the license manually.

The dsTest license file contains the license server host names, not their IP addresses. If your local network does not support DNS you will need to add the following entries to the /etc/hosts file on each dsTest platform:

ls3.dstest.net     174.142.67.96
ls4.dstest.net     12.28.90.124

Connectivity between the dsTest platforms and a license server must be maintained at all times. dsTest will periodically connect to a license server, and if it is unable to connect to either server dsTest will terminate. UDP port 10009 must be open for communications between dsTest and the license server. For a list of all ports that must be open for dsTest, refer to this FAQ.

First, transfer the file you received from Support one of your dsTest platforms and decompress it:

> tar -xvzf <license file name>.tgz

Place a copy of the resulting license.dsl in the /usr/local/devsol/config directory on all of your dsTest installations and start or restart dsTest.

Licenses are time-sensitive. The license server application requires that the date and time on the license server and any dsTest platform that requests a license be within 5 seconds of each other. We recommend synchronizing all of your platforms with an NTP server. An error message is generated when dsTest is started without a valid license or when time synchronization is out of tolerance. 

A "WARNING: Client and Server Time of Day not synchronized" message is generated when you check the license status if the platforms are not synchronized.

If you continue to receive "system corrupt" errors after installing your license and confirming that all platforms are properly configured, please submit the problem to Support.