EN JP CN

ライセンスの予約

ライセンスの予約

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

"Fixed" ライセンスは、通常 2 週間 (1,209,600 秒) の長いリンガータイムを持つライセンスです。Individual ライセンスは短いリンガータイムを持ち、通常、7 日 (604,800 秒) です。"リンガー" は、ライセンスを最後に使用してから別のユーザーがチェックアウトできるようになるまでの時間です。これらのリンガータイムは、一部の Klocwork コンポーネントが持つ非アクティブタイムアウト終了後に始まることに注意してください。非アクティブタイムアウトの詳細については、ライセンスの仕組みを参照してください。

この記事の残りの部分では、例でビルドライセンスとユーザーライセンスを使用しますが、Klocwork Code Review のライセンスが付与されている場合、コードレビュー機能を予約する必要がある場合があります。

ニーズに合わせる

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

シナリオ 1:Fixed ビルドライセンス、Individual ユーザーライセンス

環境

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

セットアップ

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

結果

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

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

環境

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

セットアップ

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

結果

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

作業内容

ニーズに合うようにライセンスを予約するには、以下の作業が必要です。
  1. Klocwork ライセンスを指定するオプションファイルの作成
  2. ライセンスファイルへのオプションファイルのパスの追加
  3. Klocwork サーバーの起動と再起動
  4. ライセンスが予約されたことの確認
注: 通常は、FLEXlm ドキュメンテーションに、オプションファイルと FLEXlm に関する詳細情報があります。

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

該当するオプションファイルの INCREMENT セクション部分に対する書式は、次のようになります。
INCREMENT <feature name> klocwork <version> <expiration> <number of licenses VENDOR_STRING=<vendor string value>
フィールド
  • <feature name> とは:
    • ライセンスファイルのキーワード fixserver11、またはサーバービルドライセンスを表します。
    • ライセンスファイルのキーワード fixclient11、またはクライアントユーザーライセンスを表します。
  • <version> は、この機能のライセンスバージョンです (Klocwork バージョン番号とは関係ありません)。
  • <expiration> はライセンスが期限切れになる日付で、それ以外の場合は 'permanent' です。
  • <count>は、この INCREMENT で発行されるライセンスの数です。
  • <vendor string value>は、リンガー設定を含んでいるベンダー文字列です。

Klocwork ライセンスファイルの INCREMENT セクションのサンプルを以下に 3 つ示します。

Fixed ビルドライセンスを 5 個:
INCREMENT fixserver11 klocwork 2017 permanent 5 \
	VENDOR_STRING=KW-1151-004;-1;1209600;opt;ha BORROW SUPERSEDE \
	DUP_GROUP=H SUITE_DUP_GROUP=H ISSUER=sjasmann \
	ISSUED=14-Dec-2015 START=14-Dec-2015 SIGN="1035 87AB 3150 5376 \
	A945 26BA FEAA B215 CD2F 1966 A008 72CA FAAC F516 2F1B 16AD \
	AA3E 9AA8 9462 D2A4 B6D4 8E77 75D9 3A77 3470 A7FD 5B38 A58B \
	A92E EB0E"
Individual ユーザーライセンスを 100 個:
INCREMENT client klocwork 2017 permanent 100 \
	VENDOR_STRING=KW-1151-004;-1;600;opt;ha BORROW SUPERSEDE \
	DUP_GROUP=U SUITE_DUP_GROUP=U ISSUER=sjasmann \
	ISSUED=14-Dec-2015 START=14-Dec-2015 SIGN="12D1 EA99 37CA ED93 \
	CF05 26DE B2E7 95E5 8BD7 680B CB55 1099 4CA0 DB8F 107E 0975 \
	2741 E186 13EB 6A09 9970 C771 C429 E474 60FA DE62 97AC B544 \
	4C2F 9376"
Klocwork Static Code Analysis ライセンス:
INCREMENT review10 klocwork 2017 05-aug-2015 100 \               
        VENDOR_STRING=klocwork;-1;604800;opt;ha BORROW DUP_GROUP=U \ 
        ISSUER=tadebayo ISSUED=22-Jul-2015 START=22-Jul-2015 \ 
        SIGN="0972 9ACC A759 D36D C8E3 1EE4 5510 A3F5 07A5 E384 0921 \ 
        65AE B418 F4EB CE58 1484 D369 4FF5 89E7 CEC0 2438 A436 5016 \ 
        F029 7D54 21B0 2537 03E3 6A20 D2C7"

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

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

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

klocwork.opt という名前の空白のテキストファイルを次のディレクトリに作成します。
<projects_root>/licenses
このファイルは Klocwork ライセンスと同じディレクトリに置く必要があります。

コピー、貼り付け、置換

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

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

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

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

1 個のライセンスの予約

1 個のビルドライセンスを予約するには、以下の操作を行います。
  1. 次の行をコピーして、オプションファイルに貼り付けます。
    RESERVE 1 <feature name>:<VENDOR_STRING> USER <user_name>
  2. <feature name> をライセンスラベルの名前で置換します。サンプルライセンスファイルのビルドライセンスは fixserver11 です。
  3. <VENDOR_STRING> を Klocwork ライセンスの作業コピーのサーバーライセンスのベンダー文字列で置換します。サンプルライセンスファイルの fixedserver ライセンスの VENDOR_STRINGVENDOR_STRING=KW-1151-004;-1;1209600;opt;ha です。
  4. <user_name> を選択するユーザー名 (jlee など)で置換します。
  5. これで、指定したユーザーにビルドライセンスが 1 個予約されます。大きな数値 (1209600) のベンダー文字列を使用したため、ライセンスは Fixed ライセンスになります。
注:
  • ビルドライセンスではなくユーザーライセンスを予約するには、RESERVE 行の fixserver を fixclient で置換します。
  • ユーザーにではなくホストにライセンスを予約するには、キーワード USER をキーワード HOST で置換し、マシンの IP アドレスまたは完全修飾名でないドメイン名を指定します。たとえば、次のようになります。
    RESERVE 1 fixserver11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha HOST buildmachine01
  • FLEXlm は完全修飾ホスト名 (buildmachine01.companyname.com など) を認識しません。

複数ライセンスの予約

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

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

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

ユーザーのグループを定義するには、次の行をオプションファイルに追加します。
GROUP <group_name> <user_list>
フィールド
  • <group_name> はグループの名前です。
  • <user_list> は、グループメンバー名のリストで、スペースで区切ります。
たとえば、次のようになります。
GROUP BuildTeam amichaels fyassin jlee jsmith mwashington
1 つのグループに対して多数のビルドライセンスを予約するには、以下の操作を行います。
  1. オプションファイルに次の行を追加します。
    RESERVE <number_of_licenses> fixserver11:<your_server_vendor_string> GROUP <group_name>
  2. 上の行の変数を適切な値で置換します。たとえば、グループ BuildTeam に対して 5 個の Fixed ビルドライセンスを予約するには、次のように置換します。
    • <number_of_licenses> を 5 に置換
    • <your_server_vendor_string> をベンダー文字列に置換
    • <group_name> を BuildTeam に置換
オプションファイルの例:
GROUP BuildTeam amichaels fyassin jlee jsmith mwashington 
RESERVE 5 fixserver11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha GROUP BuildTeam

マシンのグループ

キーワード GROUP の代わりにキーワード HOST_GROUP を使用することによって、マシンのグループを定義することもできます。この後にスペースで区切ってホスト名のリストを記述します。たとえば、次のようになります。
HOST_GROUP BuildHosts 192.168.0.101 buildmachine06 192.168.0.102 northserver

複数のグループ

複数のグループを設定できます。グループごとに RESERVE 行で記述します。たとえば、次のようになります。
RESERVE 5 fixserver11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha GROUP BuildTeam
RESERVE 5 client:VENDOR_STRING=KW-006-001;-1;600;opt;ha GROUP DevGroup
RESERVE 10 client:VENDOR_STRING=KW-006-001;-1;600;opt;ha HOST_GROUP RemoteGroup
この例では、
  • BuildTeam に対して 5 個の Fixed ビルドライセンスが予約されます
  • DevGroup に対して 5 個の Individual ユーザーライセンスが予約されます
  • RemoteGroup に対して 10 個の Individual ユーザーライセンスが予約されます
この組織が 20 個の Individual ユーザーライセンス (client) を購入し、この例で 15 個を予約する場合 (2 行目で 5 個、3 行目でさらに 10 個)、その他のユーザーは残りの 5 個を先着順で使用できます。

テンプレートテーブル

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

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

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

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

注: ライセンスタイプに使用されるラベルは、ライセンスファイルのものと違う場合があります。この例では、"fixserver11"、"server"、"fixclient11"、および "client" を使用しています。ライセンスファイルが別のラベルを使用している場合もあります。オプションファイルには、ライセンスファイルと同じライセンスタイプのラベルを使用することが重要です。
ローカルオプションファイルの設定内容コピーと貼り付け
1 人のユーザーに 1 つの Fixed ビルドライセンスを予約RESERVE 1 fixserver11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha USER <user_name>
1 人のユーザーに 1 つの Fixed ユーザーライセンスを予約RESERVE 1 fixclient11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha USER <user_name>
マシンごとに 1 つの Fixed ビルドライセンスを予約RESERVE 1 fixserver11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha HOST <unqualified domain name or IP address>
ユーザーのグループを定義し、グループの Fixed ユーザーライセンスの数を予約GROUP <group_name> <user_list>RESERVE <number_of_licenses> fixclient11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha GROUP <group_name>
マシンのグループを定義し、グループの Fixed ビルドライセンスの数を予約HOST_GROUP <group_name> <user_list>RESERVE <number_of_licenses> fixserver11:VENDOR_STRING=KW-005-001;-1;1209600;opt;ha HOST_GROUP <group_name>

さらにカスタマイズするための追加の FLEXlm キーワード

別の方法でライセンスをカスタマイズするには、次に示すいくつかの FLEXlm キーワードを使用します。詳細については、Flexera ソフトウェアまたは Klocwork カスタマーサポートから入手できる「FlexNet ライセンス管理ガイド」バージョン 11.10.1 を参照してください。

FLEXlm keyword詳細
INCLUDE feature[:keyword=value] type {name | group_name}特定の USER、HOST、GROUP、または HOST_GROUP に機能の使用を制限します。インクルードリストにないユーザーまたはマシンは、機能のライセンスをチェックアウトできません。INCLUDE 行は、グループのメンバーのライセンスカウント全体を予約する RESERVE 行と同じ影響があります。
EXCLUDE feature[:keyword=value] type {name | group_name}特定の USER、HOST、GROUP、または HOST_GROUP へのアクセスを拒否します。INCLUDE よりも優先されます。つまり、ユーザー名またはマシン名が同じ機能の INCLUDE 行と EXCLUDE 行の両方の行に表示される場合、そのユーザーまたはマシンはその機能へのアクセス権限を持ちません。
INCLUDEALL type {name | group_name}ベンダーデーモン (klocwork ベンダーデーモン) によって提供されるすべての機能へのアクセスを制限します。リストされていないユーザーまたはマシンは、ベンダーデーモンによって提供される機能をチェックアウトできません。
EXCLUDEALL type {name | group_name}ベンダーデーモン (klocwork ベンダーデーモン) によって提供されるすべての機能へのアクセスを制限します。INCLUDEALL よりも優先されます。つまり、ユーザー名またはマシン名が両方の行に表示される場合、そのユーザーまたはマシンは除外されます (任意の機能をチェックアウトできません)。

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

ライセンスサーバーで検出できるように、オプションファイルへのパスをライセンスファイルに追加する必要があります。projects_root で 元の Klocwork ライセンスを変更できます。Klocwork ライセンスにオプションファイルへのパスを入力するには:
  1. ファイルで改行を保存するテキストエディターで Klocwork ライセンスを開きます。
    注: メモ帳は推奨されません
  2. 行:VENDOR klocwork を行:VENDOR klocwork options=<path_to_your_options_file>で置換します。たとえば、次のようになります。
    VENDOR klocwork options="C:\Klocwork\Server 12.0\projects_root\licenses\klocwork.opt"
  3. ファイルを保存します。
注: Klocwork ライセンスは終了文字列よる影響を受けやすくなっています。Klocwork を再起動して "Invalid license" というメッセージが表示された場合は、別のテキストエディターを試してください。別のテキストエディターを試しても問題が解決されない場合は、Klocwork カスタマーサポートまでお問い合わせください。

Klocwork サーバーの起動と再起動

オプションファイルを作成または変更した後は、Klocwork サーバーを起動または再起動して変更内容を反映する必要があります。手順については、「Klocwork サーバーの管理」を参照してください。

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

予約が正常に完了したことを確認するには、RESERVING メッセージの <projects_root>/logs/license.log をチェックします。正常に完了すると、ログファイルには次のメッセージが示されます。
RESERVING 1 <featurename>/<signature> license for <type> <val>
エラーが発生した場合、ログファイルにはオプションファイルにエラーが発生したことが示されます。
重要: RESERVE 行がベンダーの文字列によってどのライセンスとも一致しない場合、ライセンスサーバーはエラーを報告せず、ライセンスを予約しません。

出力例

9:58:22 (klocwork) FLEXlm version 10.8.2.1
9:58:22 (klocwork) Using options file: "C:\Program Files\Klocwork_11.x.x.x\projects_root\licenses\options.opt"
9:58:23 (klocwork) Server started on jlee03 for:     server
9:58:23 (klocwork) RESERVING 1 fixserver11/162E 9578 7E98 1481  license for HOST jlee01
9:58:23 (klocwork) OUT: "fixserver11" jlee@lee01
9:58:54 (klocwork) OUT: "fixserver11" jlee@jlee01
9:59:34 (klocwork) IN: "fixserver11" jlee@jlee01
10:05:34 (klocwork) IN: "fixserver11" jlee@jlee01