5.7 The User Object

A User object represents an individual account that is allowed to connect to the PlateSpin Orchestrate Server. Administrator users are also allowed to connect by using the zosadmin command line and the PlateSpin Orchestrate Development Client user interfaces.

You can use the Orchestrate Development Client user interface to manually create a User object, or you can create them automatically if authentication through LDAP or Active Directory is enabled, or optionally if “autoregistration” is configured.

The user object icon and the red square user object icon.

5.7.1 User Groups

Any group object displayed in the Explorer panel represents a collection of similar object types. Groups can also be created automatically, as in the case when a provisioning adapter (PA) discovers a local repository on a VM host. For example, the xen30 PA, upon discovery of a VM host, automatically creates a local repository for that VM host and places the created repository in a xen30 repository group. You can also create groups manually in the Development Client, either by clicking the Actions menu and choosing Create User Group or by right clicking a User Group object (anywhere in the User hierarchy) and selecting New User Group.

5.7.2 The User Info/Groups Tab

The page that opens under the Info/Configuration tab of the User admin view includes several collapsible sections on the page where you can configure the general information and attributes of the user.

NOTE:Whenever you make changes to any Grid object, that object’s icon is overlaid with the write icon , signifying that the object has been altered. If you want to save the changes you have made, you need to click the Save icon on the Development Client toolbar.

Info

The following fields on the Information panel provide facts for the User object:

Show Inherited Fact Values Check Box

Select this check box to show facts with overridden values supplied through attached and/or inherited polices. Such fact values are read only (non-editable).

User Information

The User Information panel on the Info/Groups page includes the following fields:

NOTE:Tool tip text is available when you mouse over any of these fields.

Account Enabled: This check box is selected by default.When the check box is selected, the user is allowed to log in and run jobs (that is, “enabled”).

In the Fact Editor, this fact is listed as user.enabled:

<fact name="user.enabled" value="true" type="Boolean" />

Online: When this check box is selected (that is, its value is “true”), the user is currently logged in to the server.

In the Fact Editor, this fact is listed as user.online:

<fact name="user.online" value="false" type="Boolean" />

Healthy: This check box is selected by default. When it is selected (that is, its value is “true”), the user is designated as being in good health. You can set the health of the object by selecting or deselecting the health check box. Changing the value in this way has an immediate effect unless the value is overriden by an attached policy (this follows the normal rules of policy inheritance). For more information, see Section A.0, Grid Object Health Monitoring

In the Fact Editor, this is fact is listed as user.health:

<fact name="user.health" value="true" type="Boolean" />

External Groups: This field displays a list of external groups (for example, LDAP) that this user belongs to.

In the Fact Editor, this fact is listed as an array:

<fact name="user.external.groups">
  <array type="String">
  </array>
</fact>

You can edit this array by clicking the button to open the Attribute element values dialog box. In this dialog box you can add, remove, or edit the name and value for every user environment you want to use.

Personal Information

First Name: This value specifies the user’s first name.

In the Fact Editor, this fact is listed as user.name.first:

<fact name="user.name.first" value="" type="String" />

Last Name: This value specifies the user’s last name.

In the Fact Editor, this fact is listed as user.name.last:

<fact name="user.name.last" value="" type="String" />

Password: This value specifies the user’s hashed login password.

In the Fact Editor, this fact is listed as user.password:

<fact name="user.password" value="kNLj1_Fc96C3ajVXcqQEGZBRrbivgxhhzK3TKLpP" type="String" />

EMail: This value specifies the user’s e-mail address.

In the Fact Editor, this fact is listed as user.name.email:

<fact name="user.name.email" value="" type="String" />

City: This value specifies the name of the city where the user is located.

In the Fact Editor, this fact is listed as user.location.city:

<<fact name="user.location.city" value="" type="String" />

State: This value specifies the name of the state or province where the user is located.

In the Fact Editor, this fact is listed as user.location.state:

<fact name="user.location.state" value="" type="String" />

Country: This value specifies the name of the country where the user is located.

In the Fact Editor, this fact is listed as user.location.country:

<fact name="user.location.country" value="" type="String" />

Site: This value specifies the name of the site (for example, a campus or building) where the user works.

In the Fact Editor, this fact is listed as user.location.site:

<fact name="user.location.site" value="" type="String" />

Environment: This field displays a list of default user environment variable names and values that the Orchestrate Server sets when executing joblets remotely.

In the Fact Editor, this fact is listed as a dictionary:

<fact name="user.env">
  <dictionary>
    <dictelement key="dfadsafd">
      <string>safdaf</string>
    </dictelement>
  </dictionary>
</fact>
Job Information

Total Job Count: This value specifies the total number of jobs that this user has historically initiated on this Orchestrate server.

In the Fact Editor, this fact is listed as user.history.jobcount:

<fact name="user.history.jobcount" value="0" type="Integer" />

Active Jobs: This value specifies the number top level jobs run with this user account that are in an active state.

In the Fact Editor, this fact is listed as user.jobs.active:

<fact name="user.jobs.active" value="0" type="Integer" />

Queued Jobs: This value specifies the number top level jobs run with this user account that are currently in a queued state.

In the Fact Editor, this fact is listed as user.jobs.queued:

<fact name="user.jobs.queued" value="0" type="Integer" />

Total Jobs: This value specifies the total number of top level jobs run by this user account.

In the Fact Editor, this fact is listed as user.jobs.total:

<fact name="user.jobs.total" value="0" type="Integer" />

Active Sessions: This value specifies the number of currently active sessions (that is, connections) that the user has established with the Orchestrate Server.

In the Fact Editor, this fact is listed as user.sessions:

<fact name="user.sessions" value="1" type="Integer" />
Accounting Information

Total Spending: This field displays the total cost of computing resources by this user.

In the Fact Editor, this fact is listed as user.history.cost.total:

<fact name="user.history.cost.total" value="0.0088" type="Real" />

Average Spending Rate: This field displays the computed moving average spending (in dollars per hour) over the last hour of activity for this user.

In the Fact Editor, this fact is listed as user.account.spendrate:

<fact name="user.account.spendrate" value="-0.0006" type="Real" />

Maximum Spending Rate: This value specifies an amount (in dollars per hour) to be used by the Resource Scheduler to throttle the rate at which computing cycles are consumed by the user. A value of less than or equal to zero (<=0) turns the feature off.

In the Fact Editor, this fact is listed as user.account.maxspendrate:

<fact name="user.account.maxspendrate" value="0.0000" type="Real" />

Default Accounting Group: This drop-down list lets you select the default User Group to be billed for work conducted by this user.

In the Fact Editor, this fact is listed as user.accounting.group:

<fact name="user.accountinggroup" value="all" type="String" />

Total Wall Time: This field displays the total amount of wall time (in seconds) consumed by this user.

In the Fact Editor, this fact is listed as user.history.time.total:

<fact name="user.history.time.total" value="31" type="Integer" />

Total Grid Time: This field displays the total amount of grid time (in gcycles, which is a normalized average of compute cycles) consumed by this user.

In the Fact Editor, this fact is listed as user.history.gcycles.total:

<fact name="user.history.gcycles.total" value="31" type="Integer" />
Job Control

Default Priority Value: This value specifies a numerical representation of the default priority at which this user’s job runs, with “1” being the lowest priority and “9” being the highest priority.

In the Fact Editor, this fact is listed as user.priority.default:

<fact name="user.priority.default" value="7" type="Integer" />

Default Priority: This field displays the string representation of the default priority at which this user can run a job. The value is matched to the integer value in user.priority.default.

In the Fact Editor, this fact is listed as user.priority.default.string:

<fact name="user.priority.default.string" value="high" type="String" />

Maximum Priority Value: This value specifies a numerical representation of the maximum priority at which this user’s job can run, with “1” being the lowest priority and “9” being the highest priority. Only the system user can run jobs at priority 10.

In the Fact Editor, this fact is listed as user.priority.max:

<fact name="user.priority.max" value="5" type="Integer" />

Datagrid Maximum History: This value specifies the maximum number of job instance directories that should be kept in the datagrid for this user.

In the Fact Editor, this fact is listed as user.datagrid.maxhistory:

<fact name="user.datagrid.maxhistory" value="25" type="Integer" />

Job Preemption Enabled: Select this check box if you want to allow the user to preempt willing jobs that have a priority less than the priority of the running job instance.

In the Fact Editor, this fact is listed as user.preemption.enabled:

<fact name="user.preemption.enabled" value="false" type="Boolean" />

Max Preemption Priority: This value specifies the highest job priority band from which this user is allowed to preempt resources. The value acts as a delta from the current job instance priority. The maximum preemptible priority is always less than or equal to user.priority.max.

In the Fact Editor, this fact is listed as user.preemption.priority.delta:

<fact name="user.preemption.priority.delta" value="0" type="Integer" />

Resources Stealing Enabled: Select this check box to allow the user to steal resources that are running jobs that have a priority less than the priority of the running job instance.

In the Fact Editor, this fact is listed as user.stealing.enabled:

<fact name="user.stealing.enabled" value="false" type="Boolean" />

Max Stealing Priority: This value specifies the highest job priority band from which this user is allowed to steal resources. The value acts as a delta from the current job instance priority, and must be less than zero (<0).

In the Fact Editor, this fact is listed as user.stealing.priority.delta:

<fact name="user.stealing.priority.delta" value="-1" type="Integer" />

Privileged Job Groups: This field displays a list of Job Groups with jobs and joblets that this user is allowed to run on resources that have reached their slot maximum or that are provisioned resources that are reserved for another user or job.

In the Fact Editor, this fact is listed as an array:

<fact name="user.privilegedjobgroups">
  <array type="String">
  </array>
</fact>

You can edit this array by clicking the button to open the Choose Grid Objects dialog box. In this dialog box you can add or remove Job Groups in an array of choices. The Job Groups can be added to or removed from a list of Source Grid Objects to a list of Target Grid Objects (or vice versa).

Quota Information

Account Balance Remaining: This field specifies the balance (measured in dollars) that remains available for this user since the last reset. You can use this value to implement quotas on your server.

In the Fact Editor, this fact is listed as user.account.balance:

<fact name="user.account.balance" value="0.0000" type="Real" />

Job Counter: This field specifies the number of jobs this user has initiated since the last reset.You can use this value to implement quotas on your server.

In the Fact Editor, this fact is listed as user.jobcount:

<fact name="job.history.jobcount.complete" value="0" type="Integer" />

Time Remaining: This field specifies the amount of wall time (measured in seconds) remaining for use by this user since last the reset. You can use this value to implement quotas on your server.

In the Fact Editor, this fact is listed as user.account.time:

<fact name="user.account.time" value="0" type="Integer" />

Grid Time Remaining: This field specifies the amount of grid time (measured in gcycles) remaining for use by this user since last the reset. You can use this value to implement quotas in your grid.

In the Fact Editor, this fact is listed as job.history.jobcount.complete:

<fact name="user.account.gcycles" value="0" type="Integer" />

Groups

This section of the Info/Groups page lists the groups of User objects in the grid. Click Choose to open the User Group Selection dialog box. In this dialog box, you can choose which User Groups to display in the Explorer Panel by selecting a group and then clicking Add or Remove to move it to or from the Source Job Groups list.

5.7.3 The User Policies Tab

The Polices tab of the User admin view opens a page that contains a policy viewer for each of the policies associated with a User Grid object.

You can modify policies using the Policy Grid object. For more information, see Section 5.8.1, The Policy Object.

If you click Choose on the Policy tab, a Policy Selection dialog box is launched where you can add or remove individual policies to be applied to the selected User Grid object.

Figure 5-7 The Policy Selection Dialog Box

5.7.4 The User Health Debugger Tab

The Health Debugger is a common Admin view in the Development Client for most Grid objects. For information about this tool, see Section 6.0, The Health Debugger.

5.7.5 The User Constraints/Facts Tab

The Constraints/Facts tab opens a page that shows all of the effective constraints and facts for a Grid object. Each Grid object has an associated set of facts and constraints that define its properties. In essence, by building, deploying, and running jobs on the PlateSpin Orchestrate Server, you can individually change the functionality of any and all system resources by managing an object’s facts and constraints. The Orchestrate Server assigns default values to each of the component facts, although they can be changed at any time by the administrator, unless they are read-only. Facts with mode r/o have read-only values, which can be viewed (that is, using the edit “pencil” icon) but changes cannot be made.

5.7.6 The User Action History Tab

The Action History tab is displayed in the administrative view of the User object. When you select the Action History tab, a table displays a list of the history for provisioning actions performed on this Grid object (assuming that it is provisionable, for example, a VM or VM template)..

The Orchestrate Server must be connected to an audit database for the Include Audit Database check box to be available. If the Include Audit Database check box is selected in this view, the action status is not polled. Click the refresh icon in the toolbar to fetch and display fresh data.

For more details about the information listed on the Action History page, see Section D.2.2, Action History in Admin Views of the Development Client.