Houdini 20.0 インストールとライセンス設定

ライセンスのパーティション化

On this page

New

この機能は、License Server20.0で追加されました。License Serverが20.0以降である限り、クライアント上のHoudini License Serverはバージョンを上げなくてもこの機能を使用することができます。

ライセンスのパーティション化は、ユーザとライセンスシートを“ライセンスセット”に分割します。ライセンスセットは、スタジオまたはプロジェクトの様々な条件に基づいて、ユーザ、ライセンスシート、その他の情報をグループ化します。 例えば、企業が複数のスタジオを持っていて、デフォルトでは、アーティストが割り当てられたスタジオのライセンスにのみアクセスできるようする必要があるとします。このような場合は、“Studio A”、“Studio B”などのライセンスセットを用意します。

Houdini20.0に追加されたパーティション化システムは、Houdini18.5で追加された元のパーティション化システムを根本から書き直したものとみなす必要があります。 2つのシステムは同等とみなすべきではなく、Houdini20.0は下位互換に対応していません。 元のパーティション化システムには、変更の度にsesinetdを再起動しなくてはならない、システム全体を手動で編集しなくてはならないなど、いくつかの欠陥がありました。

ライセンスセットには、セットを構成する多くのアトリビュートがあります。これらのアトリビュートを以下に示します。

アトリビュート

説明

ユーザルール(s)

ライセンスセットにアクセスできるユーザを定義するルール。ユーザルールは、動的であるとされた動的ユーザリストとは異なり、静的なプロパティとみなされます。

動的ユーザ(s)

動的ユーザリストは、ライセンスセットにアクセスできる特定のユーザをリストする別の方法です。動的ユーザは主に公開APIを通して駆動されますが、ユーザルールはhkeyを通して駆動されます。

パーティション化ルール(s)

ライセンスセットに含まれるライセンスおよびシート数を定義するルール。

すべてのユーザがライセンスセットを表示できますが、ライセンスセットを編集できるのは管理者権限を持つユーザのみです。

ユーザルール

ユーザルールは、ライセンスセットにアクセスできるユーザを指定します。 ルールが借用ルールである場合、条件とマッチするユーザがライセンスシートにアクセスできますが、非借用ユーザのライセンスがなくなった場合、これら借用ユーザのライセンスシートは非借用ユーザによって持ち出されます。

アトリビュート

説明

condition

ユーザがルールとマッチして、ライセンスセットにアクセスするために満たさなくてはならない条件。ライセンスセットに含まれるためにマッチする必要があるユーザルールは、1つのみです。

borrow

このルールにマッチするユーザは借用ユーザであり、特定の状況下では、他の非借用ユーザによってライセンスが持ち出される可能性があることを示します。

動的ユーザ

ユーザルールに加えて、動的ユーザもいます。 これらは個別にリストされたユーザで、通常はShotGridなどのサードパーティ製システムによる公開APIを通して駆動されます。 ユーザはusername@machine_nameとしてリストされ、ダイレクトマッチのみ可能です。リクエストが動的ユーザおよび任意の数のユーザルールとマッチする場合、リクエストには動的ユーザエントリが使用されます。

パーティション化ルール

パーティション化ルールは、ライセンスセットに含めるライセンスおよび特定のシート数を指定します。 ライセンスルールの数が0以下の場合、ルールに制限がないことを示します。つまり、条件にマッチするすべての利用可能なシートがライセンスセットに含まれます。

アトリビュート

説明

condition

ライセンスがライセンスセットに含まれるために満たさなくてはならない条件。ライセンスは複数のセットにリストできますが、ライセンスシートは同時に1つのライセンスセットにしかリストできません。

quantity

ライセンスセットに含めるライセンスのシート数。ゼロ以下の場合、マッチするライセンスのすべての非パーティション化シートがライセンスセットに含まれることを示します。

ルール条件

ユーザルールとパーティション化ルールの両方のルール条件は、同じ構文に準拠します。唯一の違いは一部の変数が特定のルールのみに適用されることです。

対応している型

ルール条件は、Pythonスタイルの書式の基本型を使用します。

書式

Decimal

10.51。Decimalは標準の小数点フォーマットです。実際、どの数値も小数に変換されます。

Strings

"Hello World!"'SideFX'。Stringsは標準の文字列フォーマットです。

Arrays

[ type, type, ... ]、例えば[ "Hello World", "Sidefx", "license" ][ 1.0, 1.2, 1.3 ]です。配列内の型は同じである必要があります。現在サポートされている配列の型は、文字列、小数、IPマスクです。

IP Mask

10.1.1.*192.168.+.*。IPマスクは、サーバーオプションファイルまたはライセンス文字列内で見られる、標準のマスクフォーマットです。IPマスクと配列を組み合わせることで、マスクのリストのマッチングを行なうこともできます。

構文

条件

定義

and &&

標準の論理積(AND)演算子。

or ||

標準の論理和(OR)演算子。

== !=

標準の比較演算子。

in

アイテムが他のオブジェクト内に存在するかどうかをチェックします。これは通常、オブジェクトが配列に含まれているかどうかをチェックする際に使用します。

matches

これは、完全に一致する必要のない2つのオブジェクトを比較することができます。正規表現の比較でよく使用します。

> < >= <=

標準の比較演算子。

( )

標準の括弧グループ演算子。

予約済み変数

比較するオブジェクトから情報を取得する際に使用される、いくつかの予約済み変数名があります。ライセンス関係では、version変数からバージョン情報を取得することができます。

管理者条件の変数

変数名

定義

ip_address

ライセンスリクエストの送信元のクライアントのIPアドレス。これは、IPv4形式です(127.0.0.1など)。

username

これは、ライセンスリクエストの送信元のクライアントのユーザ名です。クライアントのコンピュータ名がuser@machineなら、ユーザ名はuserです。

machine_name

これは、ライセンスリクエストの送信元のクライアントのマシン名です。クライアントのコンピュータ名がuser@machineなら、マシン名はmachineです。

ユーザルールの変数

変数名

定義

ip_address

ライセンスリクエストの送信元のクライアントのIPアドレス。これは、IPv4形式です(127.0.0.1など)。

username

これは、ライセンスリクエストの送信元のクライアントのマシン名です。クライアントのコンピュータ名がuser@machineなら、ユーザ名はuserです。

machine_name

これは、ライセンスリクエストの送信元のクライアントのマシン名です。クライアントのコンピュータ名がuser@machineなら、マシン名はmachineです。

パーティション化ルールの変数

変数名

定義

product

これは、ライセンスプロダクト名(例えばHoudini-Master)です。使用されている値は内部プロダクト名であり、プロダクト表示名ではありません。プロダクト表示名は変更される可能性があり、下位互換に対応していません。このような理由で、内部名(例えばHoudini-Master)を使用しています。

platform

これは、ライセンスが紐付けられているプラットフォームです。

licenseid

ライセンス文字列からのライセンスID。

version

ライセンスのバージョン。18.5などの小数点形式で表現されます。通常のどの小数点比較演算(<=、==、!=など)にも対応しています。

ip_mask

ライセンスのIPマスク。

ユーザおよびパーティション化ルールの考え方は、以下の例を使用すると簡単です。ルールは、制限付きのPythonのような構文を使用します。

"""
example license:
LICENSE Generic Houdini-Master 19.5 1 17-aug-2022 +.+.+.+ serverA abcdefgh @iH8rRBaJ71wYE7bcgBF2izJ2HUIf

example partition rule:
product=='Houdini-Master' and version>=19.5
"""

# condition_matches変数がTrueの場合、ライセンスはそのパーティション化ルールとマッチし
# ライセンスセット内に含まれます。

product="Houdini-Master"
version=19.5
quantity=1
expiry=17-aug-2022
ip_mask=+.+.+.+
license_id=abcdefgh
condition_matches=product=='Houdini-Master' and version>=19.5

公開API

大規模なスタジオでは、異なるグループ(ShotGridなど)に分割するユーザを定義するシステムセットアップが既にある場合があります。 これらのスタジオでは、ShotGridなどセットアップ済みのシステムを活用し、公開APIを使用してパーティション化システムを駆動することができます。

ライセンスセットの取得は、2つ以上のAPIコールに分割されます。1つ目のAPIコールは、ライセンスセットのリストを取得し、レスポンスにはすべてのライセンスセットのIDと名前がリストされます。2つ目のAPIは、単一のセットのライセンスセット情報を取得するためにコールされます。3つ目のAPIは、ライセンスセットにリストされた動的ユーザのリストを取得するためにコールされます。

ライセンスセットの変更は、パーティション化システムの様々なコンポーネントに対する複数のAPIコールに分割されます。公開APIコールの完全なリストは、ここに記載されています。

License Administrator(hkey)

ステータスインジケータ

アイコン

意味

コンポーネントまたはライセンスセットが、おそらくローカルでの変更が原因で、ライセンスサーバーと同期していません。

コンポーネントまたはライセンスセットが削除としてマークされています。削除をライセンスサーバーにプッシュするには、パブリッシュする必要があります。

コンポーネントまたはライセンスセットは、ライセンスサーバーと同期しています。必要なアクションはありません。

コンポーネントまたはライセンスセットは、ライセンスサーバーへの変更をロード中またはパブリッシュ中のいずれかです。未処理のオペレーションがすべて完了するまで、変更することはできません。

インストールとライセンス設定

インストール

ライセンス設定

特定のセットアップ

プロダクト