Skip to main content

Change, upgrade, or remove OpenLM Router

The Router sits in the license path, so the order of the steps matters when you upgrade, move, or remove it. Clients that still point at a Router you stopped can't check out licenses. This page gives the safe order for each change.

Before you begin​

Confirm these prerequisites:

  • You can run docker compose on the Router host, in the directory that holds your docker-compose.yml and .env files.
  • You know which clients point at the Router. They use port@router-host in LM_LICENSE_FILE, in a vendor-specific variable, or in a licpath.lic file. See Point clients at the Router.
  • You can open LicOps Configuration in OpenLM Platform. It is under Licenses and Features in the Navigation menu.

Upgrade OpenLM Router​

To upgrade the Router to a newer build:

  1. Pin the new tag of each Router image in docker-compose.yml. To see which builds exist, see Find the newest build. OpenLM releases the two images separately, so their tags can differ.

  2. Pull the images and recreate the containers:

    docker compose pull routerapi routerui
    docker compose up -d routerapi routerui
  3. Confirm that the Router applied its configuration again:

    curl http://localhost:8100/readyz

    When boundPorts matches desiredPorts, the Router is ready for clients.

The configuration lives in MongoDB and in OpenLM Platform, not in the container. It survives the replacement, and the listen ports reopen as the Router starts. Expect the same brief interruption as any other restart: open sessions drop and FlexLM clients reconnect.

Change a failover pair or the Platform connection​

You change a failover pair in LicOps Configuration, not on the Router. See Define a failover pair. To change the Platform connection, open the Router UI and update Platform Connection. See Connect the Router to the Platform.

Move OpenLM Router to a new host​

A new Router has its own identity. The Router creates it on the first start and stores it in MongoDB, and OpenLM Platform treats a Router with a new identity as a different Router. To move without an outage, run both Routers for a short time and move the clients in between:

  1. Deploy the new Router on the new host with its own empty MongoDB database. See Deploy OpenLM Router.
  2. Create a new Router client in Identity for it, and connect it to OpenLM Platform. See Connect the Router to the Platform.
  3. In LicOps Configuration, define the failover pairs again. The Platform creates an empty starting configuration for a new Router. Use new listen ports, or the same ports if the old Router is stopped first.
  4. Point a test workstation at the new Router and run lmutil lmstat. See Point clients at the Router.
  5. Point the remaining clients at the new Router.
  6. Remove the old Router as described in Remove OpenLM Router.

LicOps Configuration works with one Router at a time: the one that reported most recently. While both Routers report, the page can switch between them. Finish the move quickly and stop the old Router as soon as the clients have moved. See Why does LicOps Configuration show the wrong Router?.

Remove OpenLM Router​

To take a Router out of service, repoint the clients first and stop the Router last. Do the steps in this order:

  1. Point every client back at the license server, or at another Router. Change LM_LICENSE_FILE, the vendor-specific variables, and any licpath.lic files, as described in Point clients at the Router. Check each application with lmutil lmstat against the license server.

  2. Check that no client still uses the Router. Clients that keep a direct fallback entry keep working while the Router is down. Clients without one lose their licenses as soon as you stop it.

  3. Delete the failover pairs that you no longer need. In LicOps Configuration, select a pair in Port Mappings, then select Delete.

  4. Stop the Router. A retired Router that keeps running keeps reporting to OpenLM Platform, and LicOps Configuration then shows that Router's pairs.

    docker compose stop
  5. Delete the Router's identity client. In OpenLM Platform, select Navigation, then Identity. Select Authorization, select the entry for this Router, select Delete, and confirm. After you delete it, nothing can sign in with that authorization file.

  6. Remove the containers.

    docker compose down

    This keeps the Docker volumes, so the MongoDB and Redis data stay on the host. Add -v only when you are sure that you will never reuse this Router. MongoDB holds the Router's identity, its encrypted Platform connection, and its failover history. If you delete the database, a Router you start later is a different Router.

If you plan to start the same Router again, keep the MongoDB volume and don't delete the identity client in step 5.

Next step

To add the Router back or to protect another application, continue to Configure OpenLM Router.

The documentation team might draft this page using a large language model. A technical writer reviews every page and verifies it against the product before publishing it. A human makes the final decision.