OpenLM LicOps を設定する
ジョブの許可を開始するには、LicOps を OpenLM Platform に接続し、LicOps がライセンスプールを認識していることを確認します。シート数、サーバーヘルス、ルール、予約はすべて OpenLM Platform から取得されるため、接続が成功するまでは、ほかの機能は動作しません。
LicOps を OpenLM Platform に接続する
LicOps は、Client Type が Router の ID クライアントの認証情報を使って OpenLM Platform にサインインします。これは、フェイルオーバー用の Router と同じクライアントタイプです。
認証ファイルを取得する
認証ファイルを取得するには、次の手順を実行します。
-
OpenLM Platform で、Navigation を選択し、Platform Administration の下にある Identity を選択します。
-
Authorization、Add Client の順に選択します。
-
Select Client Type で Router を選択します。
-
説明を入力します。
-
Encrypted authorization client はオフのままにします。
-
Save を選択します。
LicOps は、フェイルオーバー用の Router と同じく、Router タイプのクライアントでサインインします。 -
認証ファイル(
router-authorization.jsonなどの JSON ファイル)をダウンロードします。
このファイルには、LicOps に必要な 3 つの値が含まれています。OpenLM Platform の Base URL、Client ID、Client Secret です。シークレットが手元にない場合は、Authorization ページでクライアントを選択し、Reset Secret を選択します。以前のシークレットは使用できなくなります。認証ファイルの詳細については、Identityを参照してください。
タイプが Router のクライアントを使用してください。ほかのタイプの認証情報でもサインインはできますが、OpenLM Platform は LicOps からの問い合わせを拒否します。この問題はサインインの失敗としてではなく、後になってプールが見つからないという形で現れます。
認証情報を入力する
認証情報を Router UI に入力するには、次の手順を実行します。
-
http://<licops-host>:8101/router-management/を開いて Platform Connection を表示します。<licops-host>は、LicOps を実行しているホストに置き換えます。 -
Import Auth File を選択し、認証ファイルを選択します。
-
代わりに値を手動で入力するには、Base URL、Client ID (Optional)、Client Secret (Optional) を入力します。
3 つのフィールドはすべて入力してください。Request Timeout (seconds) は
30のままにします。 -
Check Connection、Save の順に選択します。
Router UI は、LicOps でもフェイルオーバー用の Router でも同じです。接続が機能するまでは、フォームの下のエラー通知にその理由が表示されます。
保存してから約 10 秒待ち、フォームの下にエラー通知が表示されていないことを確認します。通知が表示されていなければ、Router は OpenLM Platform と同期しています。通知が消えない場合は、通知にその理由が表示されます。トラブルシューティングを参照してください。
代わりにスクリプトで接続するには、次のコマンドを実行して、同じ 3 つの値を Router API に送信します。
curl -X PUT http://localhost:8100/api/v1/admission-controller/platform-credentials \
-H "Content-Type: application/json" \
-d '{
"baseUrl": "https://platform.example.com",
"clientId": "<client-id>",
"clientSecret": "<client-secret>",
"requestTimeoutSeconds": 30
}'
Router UI と REST API は、フェイルオーバー用の Router の場合と同じように動作します。すべてのフィールドと接続チェックについては、OpenLM Router を設定するを参照してください。
LicOps が LicOps モードで動作していることを確認する
LicOps は、最初の同期時に LicOps Router として OpenLM Platform に自身を登録し、OpenLM Platform は LicOps の初期構成を作成します。初期構成の内容は、リッスンポート 30001(チェックアウトを LicOps 経由でルーティングする場合にのみ使用します)と、無効に設定されたセッションアフィニティです。LicOps は次の同期でその構成を取得します。構成が反映されたことを確認します。
curl http://localhost:8100/api/v1/status
{
"status": "ok",
"listenPorts": [30001],
"message": "Load balancer mode active",
"configurationManagement": {
"shape": "serviceManaged",
"lastSync": {
"lastSuccessfulSync": "2026-10-15T13:36:02Z",
"lastAppliedConfigVersion": 1,
"lastFailure": null
}
}
}
"message": "Load balancer mode active" は、LicOps Router であることを示します。代わりにポートマッピングや pairStatuses を報告する Router は、フェイルオーバーモードで起動されています。トラブルシューティングを参照してください。
OpenLM Platform では、同じ構成が LicOps Configuration に表示されます。これは、OpenLM LicOps とフェイルオーバー用の OpenLM Router の両方を設定するアプリです。開くには、次の手順を実行します。
- Navigation を選択し、Licenses and Features の下にある LicOps Configuration を選択します。
- LicOps を選択し、Router が使用しているリッスンポートとセッションアフィニティのポリシーを確認します。
LicOps ページは、LicOps モードの Router でのみ表示されます。フェイルオーバー用の Router では、代わりに Port Mappings が表示されます。
LicOps ページは参照用です。リッスンポートやセッションアフィニティは、このページでは編集しません。別の値が必要な場合は、OpenLM サポートにお問い合わせください。
LicOps Configuration に、まだ Router から報告がないと表示される場合は、Router がまだ OpenLM Platform と同期していません。接続してから約 10 秒待ち、ページを再読み込みしてください。ページは自動では更新されません。
LicOps がライセンスプールを認識していることを確認する
LicOps がジョブを許可するのは、OpenLM Platform のライセンスサーバーとフィーチャーから作成したプールに対してだけです。一覧表示するには、次のコマンドを実行します。
curl http://localhost:8100/api/v1/stats
[
{ "serverId": 42, "host": "lic01.example.com", "port": "27000", "vendor": "MLM", "feature": "MATLAB",
"total": 50, "used": 31, "reserved": 2, "free": 17, "isHealthy": true, "activeSessions": 0 },
{ "serverId": 43, "host": "lic02.example.com", "port": "27000", "vendor": "MLM", "feature": "MATLAB",
"total": 50, "used": 28, "reserved": 0, "free": 22, "isHealthy": true, "activeSessions": 0 }
]
各プールのライセンスサーバーごとに 1 行ずつ表示されます。各フィールドの意味は次のとおりです。
| フィールド | 意味 |
|---|---|
vendor、feature | プールの名前。LicOps へのすべてのリクエストで、大文字と小文字の区別も含めて、この文字列をそのまま送信する必要があります。 |
total | ライセンスサーバーがそのフィーチャーに対して付与するシート数。 |
used | OpenLM Platform による最新の読み取り時点で、ライセンスサーバーがチェックアウト済みと報告しているシート数。 |
reserved | LicOps がこのサーバーで許可したものの、まだチェックアウトされていないシート数。 |
free | 新しいリクエストがこのサーバーで取得できるシート数(total − used − reserved)。 |
isHealthy | OpenLM Platform がサーバーを稼働中と報告しているかどうか。LicOps は、異常なサーバーにシートを配置することはありません。 |
ライセンスサーバーがこの一覧に表示されるのは、そのサーバー上の OpenLM Broker を通じて OpenLM Platform がサーバーを監視している場合だけです。サーバーやプール全体が見つからない場合は、システム要件を参照してください。
ベンダー名とフィーチャー名は、手入力せずにこの一覧からコピーしてください。名前がどのプールにも一致しないリクエストは NoServerAvailable として拒否されます。この理由は、綴りの誤りではなく、サーバーが不足しているかのように見えます。
一覧が空([])の場合、LicOps にはまだプールがなく、すべてのリクエストが拒否されます。接続してから約 10 秒待ち、トラブルシューティングの説明に従って接続を確認してください。
テストアドミッションを実行する
スケジューラーを接続する前に、1 つのジョブに相当するリクエストを手動で送信します。前のセクションの一覧にあるプールを使用してください。
SID=$(uuidgen)
# Ask for one seat.
curl -s -X POST http://localhost:8100/api/v1/admission-controller/admit \
-H 'Content-Type: application/json' \
-d "{\"sessionId\":\"$SID\",\"vendor\":\"MLM\",\"feature\":\"MATLAB\",\"totalQuantity\":1}"
# Ask which server to check out from.
curl -s -X POST http://localhost:8100/api/v1/admission-controller/dispatch \
-H 'Content-Type: application/json' \
-d "{\"sessionId\":\"$SID\",\"executionNodeIp\":\"127.0.0.1\"}"
# Give the seat back.
curl -s -X POST http://localhost:8100/api/v1/admission-controller/release \
-H 'Content-Type: application/json' \
-d "{\"sessionId\":\"$SID\"}"
3 つのレスポンスは、順に "decision": "Admit"、27000@lic01.example.com のような licenseFile、"state": "Released" になります。最初のリクエストから最後のリクエストまでの間、/api/v1/stats に表示されるそのプールの reserved の値は 1 増えています。admit が "decision": "Deny" を返した場合は、その reason に理由が示されます。API リファレンスを参照してください。
次の手順
次のページを参照してください。
- 各ジョブをどのサーバーに配置するかを決めるには、アドミッションルールで配置を制御するを参照してください。
- 決まった時間帯にサーバーのシート数を制限するには、スケジュールでシート数を制限するを参照してください。
- 実際のジョブを LicOps 経由で送信するには、ワークロードを接続するを参照してください。
ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。