On this page |
New
Houdini 21.0 introduced a new partition system that is incompatible with previous versions.
Licensing partitioning works by grouping license seats and defining who has access to these groups through user teams. Any license seats that are not grouped into a partition is included in the unrestricted partition.
Unrestricted Partition ¶
The unrestricted partition is the partition that is not editable by any account. It defines the grouping of license seats that are not grouped by other partitions. As the name of the partition suggests all users have access to this partition.
Partition ¶
A license partition is made up of a name, priority, and a set of license rules that define which license seats should be included in the partition. The priority can be used to organize the order in which the partitions are searched for a license. When adding partitions to teams the order can be overridden to offer further customisation.
License Rules ¶
The partition rules specify which licenses and the specific quantity of seats to include in the partition. If the quantity for a license rule is less than or equal to 0 it indicates there is no limit for the rule which means all available seats that match the condition will be included in the partition.
Attribute |
Explanation |
---|---|
|
The condition a license must meet to be included in the partition. A license can be listed in multiple partitions but a license seat can only be listed in one partition at a time. |
|
The number of seats from a license that should be included in the partition. A quantity of zero or less indicates all unclaimed seats for the matched license should be included in the partition. |
Supported Types ¶
Rule conditions use basic types in a python style format.
Type |
Format |
---|---|
|
10.51. Decimals are of the standard decimal format. In fact all numbers are converted to decimals. |
|
|
|
|
|
|
Syntax ¶
Term |
Definition |
---|---|
|
Standard and operators. |
|
Standard or operators. |
|
Standard comparison operators. |
|
Check if an item is found inside another object. This is typically used to check if an object is inside of an array. |
|
This allows for comparison of two objects that don’t need to be exactly equal. This is commonly used for regex comparisons. |
|
Standard comparison operators. |
|
Standard bracket group operators. |
Reserved variables ¶
There are several reserved variable names that are used to pull in information from the object that is being compared against. In the case of licenses the version info is available through the variable version
.
Variable Name |
Definition |
---|---|
|
This is the licenses product name (i.e. Houdini-Master). The values used are the internal product names and not the product display names. Display names are subject to change and do not support backwards compatibility. For these reasons we use the internal name (i.e. Houdini-Master). |
|
This is the platform the license is tied to. |
|
The license id from the license string. |
|
The version of the license. This is represented in decimal form as |
|
The ip mask of the license. |
An easy way to think of user and partition rules is with the following example. Rules use a limited python like syntax.
""" 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 """ # If variable condition_matches is True then the license matches the partition # rule and can be included in the license set. 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