Workload Manager rules File

Purpose

Defines the automatic class assignment rules for the superclasses or subclasses of a given Workload Manager (WLM) configuration.

Description

The /etc/wlm/Config/rules file describes the assignment rules for the superclasses of the WLM configuration Config. If the superclass Super of this configuration has subclasses defined, the assignment rules for the subclasses are defined in the file /etc/wlm/Config/Super/rules.

The assignment rules for the superclasses and subclasses are formatted the same.

The rules file is a standard text file. Each line represents an assignment rule for a specified class. Several assignment rules can exist at the same time for the same class. Each rule lists the name of a class and a list of values for some attributes of a process; these values are used as classification criteria. The various fields of a rule are separated by white spaces. For attributes that you do not define, represent them with a hyphen (-).
Note: Implicit rules exist for the default superclass and the default subclass of every superclass. These rules catch all processes that did not match any rules explicitly stated in the rules file. They apply to a WLM configuration regardless of whether they are explicitly stated.

Assignment Rules

Assignment rules are made of the fields described below. When present, the following fields must appear in the order shown below. Order is important because the values are given to the field identified by its position in the string. Only the first three fields (class, reserved, and user) are mandatory. The remaining fields can be omitted if their values are hyphens.

For instance, the assignment rule

class1 - user1
is the same as the following:
class1 - user1 - - - -
The rule
class - - group1 - 32bit+fixed
is a valid rule equivalent to the following rule:
class - - group1 - 32bit+fixed -
But in the case of the rule class1 - group1, group1 is interpreted as a user name because of its position in the string.
Item Description
class Contains the name of a class that is defined in the class file corresponding to the level of the rules file (superclass or subclass). Class names can contain only upper- and lowercase letters, numbers, and underscores and are limited to 16 characters in length.

No assignment rule can be specified for the system-defined classes "Unclassified," "Unmanaged," and "Shared."

reserved This field must be set to a hyphen (-)
user Contains either a hyphen or a list of valid user names (as defined in the /etc/passwd file). The list is composed of one or more names, separated by a comma (,). To exclude a user from the class, place an exclamation mark (!) before the name of that user. Use full Korn shell pattern-matching syntax to specify a wildcard pattern to match a set of user names.
group Contains either a hyphen or a list of valid group names (as defined in the /etc/group file). The list is composed of one or more names, separated by a comma. To exclude a group from the class, place an exclamation mark before the name of that group. Use full Korn shell pattern-matching syntax to specify a wildcard pattern to match a set of group names.
application Contains either a hyphen or a list of application path names. This is the path name of the file executed by the processes to be included in the class. The value can be either a full path name or a wildcard pattern that matches a set of path names. The list is composed of one or more path names, separated by a comma. To exclude an application from the class, place an exclamation mark before the name of that application.
type Contains either a hyphen or a list of attributes for the process. The following are possible values:
32bit
Indicates that the process is 32-bit
64bit
Indicates that the process is 64-bit
plock
Indicates that the process has called the plock subroutine to pin memory
fixed
Indicates that the process is fixed priority (SCHED_FIFO or SCHED_RR)

The value of the type field can be a comma-separated list of combinations of one or more of the values above. Within the combination, each item must be separated by a plus (+) sign. For example, the value fixed,64bit+plock indicates that any fixed priority process (whether 32- or 64-bit) matches. In addition, 64-bit processes calling the plock subroutine matches. But the value fixed+64bit+plock indicates a different rule criteria: only processes that are 64-bit, fixed, and that are calling the plock subroutine match the criteria.

The 32bit value and 64bit value mutually exclude each other.

tag May contain either a hyphen or a list of application tags. The list is composed of one or more application tag values separated by commas.

When classifying a process, WLM attempts to match the values of the process attributes (user, group, application, type, and tag) with the values provided in the rules file. To match values, WLM uses the following criteria:

When classifying a process, WLM first scans the rules file for the superclasses of the current configuration to determine which superclass the process is assigned to. Then, WLM scans the rules file for this superclass to determine which subclass it assigns the process to.

Threads may also be assigned to a class if they have an application tag. They will be assigned using the same rules as the process. However, threads that do not have an application tag will remain assigned to their process' class.

Groupings

As an improvement for AIX® 5.2, you can now use attribute value groupings in the rules file. Attribute groupings can be used as element of a selection criteria in the rules file for superclasses or subclasses. For more information, syntax and examples, see the groupings file.

Security

The file containing the assignment rules for the superclasses must have write permission for the root user only. The The file containing the assignment rules for the subclasses of a superclass must have write permission for the adminuser and admingroup for the superclass. If no adminuser exists for the superclass, the file should be owned by root. If no admingroup exists for a superclass, the rules file for the superclass should be owned by the system group and have no write permission for group.

Examples

  1. The following is an example of a /etc/wlm/Config/rules file:
    * This file contains the rules used by WLM to
    * assign a process to a superclass
    *
    * class resvd user  group   application     type  tag
    db1      -      -     -    /usr/bin/oracle*  -    _DB1
    db2      -      -     -    /usr/bin/oracle*  -    _DB2
    devlt    -      -    dev        -            -     -
    
    
    VPs      -   bob,ted   -        -            -     -
    acctg    -      -    acct*      -            -     -
    System   -    root     -        -            -     -
    Default  -      -      -        -            -     -
  2. The following is an example of the rules file for the superclass devlt in the /etc/wlm/Config/devlt/ directory:
    * This file contains the rules used by WLM to
    * assign a process to a subclass of the 
    * superclass devlt
    *
    * class resvd  user    group   application         type         tag
    hackers   -  jim,liz     -         -                -            -
    hogs      -     -        -         -             64bit+plock     -
    editors   -   !sue       -     /bin/vi,/bin/emacs   -            -
    build     -     -        -     /bin/make,/bin/cc    -            -
    Default   -     -        -         -                -            -
Note: The asterisk (*) is a comment character.

Files

Item Description
rules Defines the class assignment rules for the superclasses or subclasses of a WLM configuration