ライセンスの予約

特定のユーザーに常にユーザーライセンスへのアクセス権限を付与しておく、または特定のサーバーに常にビルドライセンスへのアクセス権限を付与しておくなどの、追加設定なしのライセンスをカスタマイズできます。ライセンスを予約して、ニーズに合うような組み合わせで設定することができます。

このセクションの以降の内容では、各例でビルドライセンスとユーザーライセンスを使用します。

ニーズに合わせる

どのようなライセンスの組み合わせが必要かについて検討するためのシナリオを以下にいくつか示します。これらのシナリオでは、Validate 管理者と Validate ユーザーの役割の間に区分があるような、大規模な展開を仮定しています。

シナリオ 1: Fixed ビルドライセンス、個人向けのユーザーライセンス

環境

Fixed ビルドライセンスを付与する Validate ビルドエンジニア (またはビルドサーバー) の数とその具体名がわかっているとします。多数の Validate ユーザーが、さまざまな時間帯に Validate を使用する可能性があります。

セットアップ

Validate ビルドツールに対するビルドライセンスを予約する Fixed ビルドライセンスと、個人に対するユーザーライセンスとの組み合わせで設定を行います。次の内容に対して、Fixed ビルドライセンスまたはユーザーライセンスを予約できます。
  • ユーザー
  • マシン (ホスト名または IP アドレスを使用)
  • ユーザーのグループ
  • マシンのグループ

結果

  • ビルドエンジニア (またはビルドサーバー) は常にビルドライセンスを付与されます。
  • 必要なビルドエンジニアまたはビルドサーバーの数だけ、費用効率の高い Fixed ビルドライセンスを付与できます。
  • ユーザーライセンスは、大規模グループにも柔軟に対応できます。

シナリオ 2: すべてのユーザーに Fixed ライセンスを付与する場合

環境

予約済みビルドライセンスを付与するビルドエンジニア (またはビルドサーバー) の数とその具体名がわかっているとします。予約済みユーザーライセンスを付与するユーザーの数とその具体名がわかっているとします。これらのユーザーは小規模で安定したグループです。

セットアップ

オプションファイルで各ユーザーまたは各マシンに対して、Fixed ライセンスを予約します。特に、複数のビルドエンジニアをグループとして、オプションファイルで設定することもできます。

結果

  • ビルドエンジニア (またはビルドサーバー) は常にビルドライセンスを付与されます。
  • 必要な Validate ビルドエンジニアの数だけ、費用効率の高い Fixed ビルドライセンスを付与できます。

作業内容

ニーズに合うようにライセンスを予約するには、以下の作業が必要です。
  1. Validate ライセンスを指定するオプションファイルの作成。
  2. ライセンスファイルへのオプションファイルのパスの追加。
  3. Validate サーバーの起動または再起動。
  4. ライセンスが予約されたことの確認。

関連する Reprise ドキュメンテーションに、オプションファイルに関する詳細情報があります。

サンプルライセンスファイル

オプションファイルに関連する LICENSE セクションの一部の形式は、次のようになります。

LICENSE isv product version exp-date count [sig=]license-key [optional parameters]

次は、Validate ライセンスファイルからの 3 つのサンプル LICENSE セクションです。

Fixed ビルドライセンスを 5 個:
LICENSE prqa fixserver2023 23.0 permanent 5 share=h start=19-may-2023 
issuer=JSmith issued=19-may-2023 options=KW-1151-004;-1;1209600;opt;ha 
_ck=abcdef1234 sig="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
					
Individual ユーザーライセンスを 100 個:
LICENSE prqa fixclient2023 23.1 31-dec-2023 100 share=u start=19-may-2023 
issuer=JSmith issued=19-may-2023 options=KW-1151-004;-1;600;opt;ha 
_ck=abcdef1234 sig="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
					
Validate ライセンス:
LICENSE prqa review2023  23.1 31-dec-2023 100 share=u start=19-may-2023 
issuer=JSmith issued=19-may-2023 options=validate;-1;604800;opt;ha 
_ck=abcdef1234 sig="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
					

ライセンスファイルのバックアップ

うっかりして Validate ライセンスファイルを壊してしまうことはよくあります。開始する前に、バックアップとしてライセンスファイルをコピーし、安全な場所に保管してください。作業しているライセンスファイルのコピーが壊れた場合、バックアップライセンスファイルを復旧し、ライセンスサーバーを再起動します。

オプションファイルの作成

prqa.opt という名前の空白のテキストファイルを次のディレクトリに作成します。

<projects_root>/licenses

このファイルは Validate ライセンスと同じディレクトリに置く必要があります。重要な Validate 設定を含む prqa.opt ファイルがまだ存在しない場合、ライセンスサービスはそのファイルを作成します。これらの設定を変更または削除したり、'prqa.opt' ファイルを削除したり、オプション REPORTLOG を変更したりしないでください。

'REPORTLOG' 行は、サーバーの起動時に validate service によってオーバーライドされ、必須であるため、設定しないでください。

コピー、貼り付け、置換

ライセンスを予約するには、テンプレートのテキスト行をオプションファイルにコピーして、状況に合わせて変更します。テンプレートテーブルの行から選択することができます。テキストをオプションファイルに入力することも、テキストをコピーして貼り付けることもできます。Validate ライセンスから ISV 文字列をカットアンドペーストするには、作成した作業コピーを使用します。

  • 元の Validate ライセンスで、FEATURE 行または LICENSE 行のテキストは変更しないでください。これは署名付きで、変更するとライセンスを使用できなくなります。
  • オプションファイルでは大文字と小文字が区別されます。
  • "\" 文字はオプションファイルの行の継続文字です。

以下の例で、1 行を選択して変更する方法を示します。

ライセンスタイプに使用されるラベルは、ライセンスファイルのものと違う場合があります。この各例では、"fixserver2023"、"server"、"fixclient2023"、および "client" を使用しています。ライセンスファイルが別のラベルを使用している場合もあります。

1 つのライセンスの予約

1 つのビルドライセンスを予約するには、以下の操作を行います。
  1. 次の行をコピーして、オプションファイルに貼り付けます。
    RESERVE 1 <product> user <user_name>
  2. <product> を LICENSE 行の製品名に置き換えます。サンプルライセンスファイルでのビルドライセンスは fixserver2023 です。
  3. <user_name> を好みのユーザー名 (たとえば、jlee など) に置き換えます。

これで、指定したユーザーに対してビルドライセンスが 1 つ予約されます。

  • ビルドライセンスではなくユーザーライセンスを予約するには、RESERVE 行で fixserversfixclient に置き換えます。
  • ユーザーではなくホストに予約するには、キーワード user をキーワード host に置換し、マシンの IP アドレスまたは完全修飾名でないドメイン名を指定します。例:
    RESERVE 1 fixserver2023: host buildmachine01
  • Reprise は完全修飾ホスト名 (buildmachine01.companyname.com など) を認識しません。

複数ライセンスの予約

RESERVE 行で指定したユーザー、マシン、またはグループに対して複数のライセンスを予約することができます。複数のライセンスを予約するには、以下の操作を行います。
  1. Validate ライセンスの作業コピーの期限日の後の最後の番号をチェックします。この番号は、そのベンダー文字列に割り当てることのできるライセンスの最大数です。
  2. オプションファイルで、RESERVE 行の最初の番号を変更します。たとえば、RESERVE 1 fixserver2023RESERVE 2 fixserver2023 に変更します。

これで 2 個のライセンスが予約されます。

ユーザーまたはマシンのグループの設定

すべてのユーザーを 1 行ずつ追加する手間を省くには、グループを定義してそのグループを参照します。そのためには、テンプレートテーブルからテキスト行をコピーするか、または以下のように入力することができます。

ユーザーのグループを定義するには、次の行をオプションファイルに追加します。
GROUP <group_name> <user_list>
ここでは、
  • <group_name> は、グループの名前です。
  • <user_list> は、スペースで区切られたグループメンバー名のリストです。
例:
GROUP BuildTeam amichaels fyassin jlee jsmith mwashington
1 つのグループに対して多数のビルドライセンスを予約するには、以下の操作を行います。
  1. オプションファイルに次の行を追加します。
    RESERVE <number_of_licenses> fixserver2023 group <group_name>
  2. 上記の行の変数を適切な値に置き換えます。たとえば、グループ BuildTeam に対して 5 個の Fixed ビルドライセンスを予約するには、次のように置換します。
    • <number_of_licenses> を 5 に置き換えます。
    • <group_name> を BuildTeam に置き換えます。
オプションファイルの例:
GROUP BuildTeam amichaels fyassin jlee jsmith mwashington

RESERVE 5 fixserver2023 group BuildTeam

マシンのグループ

GROUP キーワードを使用する代わりに、HOST_GROUP キーワードの後にスペースで区切られたホスト名のリストを指定して、マシンのグループを定義することもできます。例:
HOST_GROUP BuildHosts 192.168.0.101 buildmachine06 192.168.0.102 northserver

複数のグループ

複数のグループを設定できます。グループごとに RESERVE 行で記述します。例:
RESERVE 5 fixserver2023 group BuildTeam
RESERVE 5 client group DevGroup 
RESERVE 10 client group RemoteGroup
  • BuildTeam に対して 5 つの固定ビルドライセンスが予約されます。
  • DevGroup に対して 5 つの個別ユーザーライセンスが予約されます。
  • RemoteGroup に対して 10 個の個別ユーザーライセンスが予約されます。
この組織が 20 の個別ユーザーライセンス (client) を購入し、この例で 15 ライセンスを予約する場合 (2 行目で 5 ライセンス、3 行目で 10 ライセンス)、その他のユーザーは残りの 5 ライセンスを先着順で使用することができます。

テンプレートテーブル

以下のテーブルから 1 つ以上の行をコピーして、オプションファイルに貼り付けることができます。ベンダー文字列を独自のベンダー文字列で置換し、必要に応じて変更を加えます。

Fixed ライセンスを予約するには、大きな数値を持つ ISV 文字列を使用します。

ユーザーライセンスを予約するには、小さな数値を持つ ISV 文字列を使用します。

複数のライセンスを予約するには、RESERVE キーワードの後の数を変更します (または、<number of licenses> を置き換えます)。

ライセンスタイプに使用されるラベルは、ライセンスファイルのものと違う場合があります。この各例では、"fixserver2022"、"server"、"fixclient2022"、および "client" を使用しています。ライセンスファイルが別のラベルを使用している場合もあります。オプションファイルがライセンスファイルと同じライセンスタイプのラベルを使用することが重要です。

ローカルオプションファイルの設定内容 コピーと貼り付け
1 人のユーザーに 1 つの Fixed ビルドライセンスを予約 RESERVE 1 fixserver2023 user <user_name>
1 人のユーザーに 1 つの Fixed ユーザーライセンスを予約 RESERVE 1 fixclient2023 user <user_name>
マシンごとに 1 つの Fixed ビルドライセンスを予約 RESERVE 1 fixserver2023 host <unqualified_domain_name or IP address>
ユーザーのグループを定義し、グループの Fixed ユーザーライセンスの数を予約 GROUP <group_name> <user_list> RESERVE <number_of_licenses> fixclient2023 group <group_name>
マシンのグループを定義し、グループの Fixed ビルドライセンスの数を予約 HOST_GROUP <group_name> <user_list> RESERVE <number_of_licenses> fixserver2023 host_group <group_name>

オプションファイルへのパスのライセンスファイルへの追加

ISV オプションファイルは、次の 3 つの方法で検索できます。

  • ライセンスファイル内の ISV 行で ISV オプションファイルの場所を指定できます。

  • ISV 行で仕様が指定されていない場合、Reprise は最初のライセンスファイルがある場所で .opt (ISV の名前がある場所) を検索します。

  • 最初の 2 つのどちらの場所にもオプションファイルがない場合、Reprise は RLM サーバーを起動した作業ディレクトリで .opt を検索します。

Validate サーバーの起動または再起動

オプションファイルを作成または変更した後は、Validate サーバーを起動または再起動して変更内容を反映する必要があります。

オプションファイルをテストするためのライセンスマネージャーログファイルの確認

予約が正常に完了したことを確認するには、RESERVING メッセージの <projects_root>/logs/license.log をチェックします。正常に完了すると、ログファイルには次のメッセージが示されます。
RESERVING 1 <featurename> license for <type> <val>
エラーが発生した場合、ログファイルにはオプションファイルにエラーが発生したことが示されます。

出力例

06/08 15:50 (prqa) Server architecture: x64_w4 

	Copyright (C) 2006-2024, Reprise Software, Inc. All rights reserved. 

	RLM contains software developed by the OpenSSL Project 
	for use in the OpenSSL Toolkit (http://www.openssl.org) 
	Copyright (c) 1998-2008 The OpenSSL Project.All rights reserved. 
	Copyright (c) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved. 

 
06/08 15:50 (prqa) Using options file prqa.opt 
06/08 15:50 (prqa) Report log started on C:\ProgramData\Perforce\Validate\projects_root\logs\license.report.log 
06/08 15:50 (prqa)  
06/08 15:50 (prqa) Server started on localhost (hostid: ANY) for:  
06/08 15:50 (prqa)  floatserver floatclient reviewclient code_review