VOV Properties

Properties can be attached to any object in the vovserver. Properties are managed from the command line via the vovprop command. This command can get, set, delete, and show properties on objects.

The name of the property must be less than 256 characters long and may contain alphanumeric characters and underscore (_), dash (-), and dot (.).

For string properties, the value must be less than 32,768 characters long and may contain any character.


vovprop: Usage Message

USAGE:
    % vovprop SET [-text] objectIdList propName propValue
    % vovprop GET [-default DEFAULT_VALUE_IF_PROP_MISSING] objectId propName
    % vovprop DELETE objectId propName
    % vovprop SHOW objectId [-namepat regexp] [-nameonly]
    % vovprop SHOW [-namepat regexp] [-nameonly] id1 [id2 ... idN]

    The action (GET, SET, DELETE, DEL, SHOW, LIST) is case-insensitive.
    LIST and SHOW are equivalent.

OPTIONS FOR GET:
    -default V        -- Specify a default value in case objectId
                         or property is missing.

OPTIONS FOR SET:
    -integer          -- Specify that property is of type integer.
    -text             -- Specify that property is of type string.
    -auto             -- Determine type automatically (default).
    -sticky           -- The property is sticky (default).
    -nosticky         -- The property is not sticky.
    -asynch           -- Do not wait for reply from server.
    -synch            -- Wait for reply from server (default).
    -elements         -- If setting a property on a set, do so for the
                         elements contained in the set instead of the
                         set itself.
    -noelements       -- If setting a property on a set, do so on the set
                         itself (default).

OPTIONS FOR SHOW,LIST:
    -namepat R        -- Show only properties where name matches regexp R
    -nameonly         -- Show only name, and omit value

OTHER OPTIONS:
    -v                -- Increase verbosity.
    -h                -- Print this help.

EXAMPLES:
    % vovprop SET -text 1 "ABC" "xyz"
    % vovprop SET -text 1 "NUM" 1234
    % vovprop GET 000123456 ABC
    % vovprop GET -default "" 000123456 ABC
    % vovprop DEL 000123456 ABC
    % vovprop SHOW 000123456

NOTES:
    A property of a job that is not 'sticky' will be forgotten
    if the job is re-run successfully.

Properties can also be managed using the Tcl API's vtk_prop_get and vtk_prop_set. Use vtk_prop_list to get a list of the names of the properties attached to an object.

Protected Properties

The properties "CAPSULE", "PRECMD" and "POSTCMD", which imply the execution of some code, are considered protected, because when they are attached to a job, they can only be modified by the owner of the job. Not even an ADMIN user can change them. This is consistent with the fact that only the owner of a job can change its main characteristics, namely the command line, the environment, or the working directory.

Common Properties

Property Name
Description
ALLPIDS
The ALLPIDS property holds a list of process IDs (PIDs) for all extant processes associated with the job. The process list includes: the subtasker process (“vovtaskerroot” or “vovtasker”), the wrapper (normally "vw"), the user specified job command and all active child/grandchild processes of these processes as determined by the processes' parent process ID (PPID) links. Then all active processes with the same process group id (PGID) or session id (SID), as any of the these process are added. Then all processes with the VOV_JOBID and VOV_PROJECT_NAME environment variables set for the current job and project are added. Known parent processes of the subtasker are excluded for each of these categories.
CAPSULE
The value is a Tcl script that is executed as a Capsule on the Fly. This is a protected property, only the job owner can modify it.
CHANGEGRAB
The value is a documentation of all changes in the grabbed resources list. The value is a list consisting of repeated "timestamp resourcename quantity" triplets for each change event. The property is not used anywhere else.
EXTLINKS
Attached to "trace" has list of HREF links to show in top part of browser interface pages.
JOB_SKIP_REASON
Set by vovjobskip when the skip flag is set.
MAILTO
Used with jobs submitted with option -m or -M
PIPELOG
Used with jobs submitted with option -wl
PRECMD
The command to be executed before a job is launched. If the command exits with a status different from 0 (zero), the job will not be launched. This is a protected property, only the job owner can modify it.
POSTCMD
The command to be executed after a job has completed, regardless of success or failure. This is a protected property, only the job owner can modify it.
PREEMPTED
Used in preemption.
PREEMPTRESUME
Used in preemption. The date of the most recent time a job was resumed.
PREEMPTTIME
Used in preemption.
PRODUCT
Attached to the "Trace" object (VovId=1) holds the internal name of the product implemented by the server. Typical values are "lm" and "lms" and "nc". The value is particularly important when starting a Monitor project while RLM is down.
PTYSERVER
Used with jobs submitted with option -Ir and -Il.
RESUMEARGS
Used in preemption, in case of manual resumption.
RESUMEDELAY
Used in preemption, used by vovjobresumer.
RESUMERJOBID
Used in preemption to hold the ID of the resumer job for a preempted job.
SOLUTION
The list of tasker-local resources for a job. These resources are criteria for tasker selection when a job is scheduled.
TRIGGER
Names a trigger to be called by vovtriggerd.
WHY
Explain why jobs have the status they have.

FlowTracer Properties

FORCE_VALIDATE
Used by the Force Validate technique to annotate jobs that have been forcefully validated.

Accelerator Properties

DONOTLMREMOVE
This is an optional property for a job. If set, this variable disables the automatic cleanup of license handles matched to a suspended job. This cleanup is performed by vovresourced.
NC_DEFAULT_JOBCLASS
This is an optional property of the trace (VovId=1). If it is set, it indicates the name of the jobclass to be used by default. You can use vovprop to set this property. Example:
% nc cmd vovprop SET -text 1 "NC_DEFAULT_JOBCLASS" "normal"
NC_VALID_DIRECTORIES
This is an optional property of the trace (VovId=1). If it is set, it indicates a list of prefixes for directories that should be accepted as valid by 'nc run'. This is in place of using the -D option in 'nc run'. The following example accepts '.' as a valid directory.
% nc cmd vovprop SET -text 1 "NC_VALID_DIRECTORIES" "."
IDLE_WARN_DELAY
This is an optional property of the set representing the job class, which is the set "Class:CLASSNAME" . This property is set with the procedure vtk_jobclass_set_idle_delays and is used by vovnotifyd.
IDLE_KILL_DELAY
This is an optional property of the set representing the job class, which is the set "Class:CLASSNAME". This property is set with the procedure vtk_jobclass_set_idle_delays and is used by vovnotifyd.
AGGRESSIVE_SCHEDULING_DELAY
This is an optional property of the set representing the job class, which is the set "Class:CLASSNAME". It represent the time after which the system automatically revokes resources that have been grabbed but are not yet used. This property is created by the script jobclass.cgi or with the procedure vtk_jobclass_set_revocation_delay. This is the old name of the property. The new variable is REVOKE_DELAY.
REVOKE_DELAY
This is an optional property of the set representing the job class, which is the set "Class:CLASSNAME". It represent the time after which the system automatically revokes resources that have been grabbed but are not yet used. This property is created by the script jobclass.cgi or with the procedure vtk_jobclass_set_revocation_delay. This is the new name for a property previously called AGGRESSIVE_SCHEDULING_DELAY. The property can also be attached to a resource map.
MAX_RESCHEDULE
This is an optional property of the set representing the job class, which is the set "Class:CLASSNAME". It represent the maximum number of times a job is to be rescheduled after a fast failure. This overrides the value of the global parameter autoRescheduleCount.
FT_LOGS
Property created by utility 'vovrun', attached to the NC job, used to store a list of logs of the FT job. This property is used by "nc info -ft XXX"
NCJOBID
Automatic property. Attached to a FlowTracer job that is being executed via NC using an indirect tasker. It contains the VovId of the corresponding job in NC.
NC_JOBID
Automatic property. Redundant with NCJOBID. Do not use. This property is set by the script vovrun and will be eliminated in future releases.
NCSETNAME
Optional property that may be attached to a FlowTracer job. If this property is set, and the job is executed on NC using an indirect tasker, the property value indicates the name of a set to be used in the NC context to contain the NC job corresponding to the FlowTracer job. This property is used in the file $VOVDIR/etc/tasker_scripts/taskerVNC.tcl.

Monitor Properties

MYVIEW
Attached to the each VovUser object, specifies the pair "owner view" of a view.
LM_LAST_LIVE_LOAD_TS
Attached to the trace (VovId=1). Used by live_load_checkouts.tcl
LM_FORECAST_ACCOUNT_TYPE
Attached to the trace (VovId=1). Used by the ftlm_forecast.
LM_FORECAST_SIMPLE_LOCK
Attached to the trace (VovId=1). Used to lock/unlock the forecast database
LM_FORECAST_NOTIFY_TS
Attached to the trace (VovId=1). Used to store the time of the last forecast notification.
LM_FORECAST_DONE_userName
Attached to the trace (VovId=1).
LM_FORECAST_START_TS, LM_FORECAST_FINISH_TS
Attached to the trace (VovId=1). Used to store the interval of forecast.