Changes to how default attributes are set on PBS server

For PBS server to function properly it seems some of the attributes to be set by default. Currently, some of the default set of server attribute values comes from PBS server itself and some are set by pbs_habitat script which runs when PBS_HOME is created for the first time.

This proposal is to move the default setting that pbs_habitat does to PBS server itself so that it remains in one and only one place. This change will also make server reset the attributes back to their default values and make them visible when admin issues an 'unset' action on them.

Forum discussion

  • Default attributes server has when it starts for the first time
Attribute nameAttribute valueAttribute behavior when unset
SchedulingFalseTreated as False
default_chunk.ncpus

1

default_chunk.ncpus is not applied to schedselect
resv_enable

True

Treated as True
node_fail_requeue310This one is special! When unset server waits for mom to request requeue of a job. Also, when unset, it is set back to 310 when server restart
max_array_size10000Treated as 10000
pbs_license_min0No effect
pbs_license_max2147483647No effect
pbs_license_linger_time31536000No effect
eligible_time_enableFalseTreated as False
max_concurrent_provision

5

Treated as 5
max_job_sequence_id9999999Treated as 9999999
  • Attributes that habitat sets on the server when it comes up for the first time
Attribute nameAttribute valueAttribute behavior when unset
default_queue

workq

not set
log_events511Treated as 0 (nothing logged)
mail_fromadmTreated as adm
query_other_jobsTrueTreated as False
scheduler_iteration600Teated as 0
resources_default.ncpus1not set
schedulingTrueTreated as False
  • Default_queue is an exception, Since pbs_habitat is responsible for creating the queue, setting the default_queue on the server object will also be with pbs_habitat.
  • This is how it will look like If the server sets the default value to attributes.
Attribute nameAttribute valueAttribute value visible when Unset
SchedulingTrueTrue
resv_enableTrueTrue
node_fail_requeue#310<Unset>
max_array_size1000010000
pbs_license_min00
pbs_license_max21474836472147483647
pbs_license_linger_time3153600031536000
eligible_time_enableFalseFalse
max_concurrent_provision55
max_job_sequence_id99999999999999
default_queue<Set by pbs_habitat><Unset>
log_events511511
mail_fromadmadm
query_other_jobsTrueTrue
scheduler_iteration600600
resources_default.ncpus11

The table below shows which attribute will have a different default value when unset

Attribute nameCurrent unset valueProposed unset value
SchedulingTreated as FalseTrue
log_eventsTreated as 0511
default_chunk.ncpusdefault_chunk.ncpus is not applied to schedselect1
resources_default.ncpusnot set and thus not applied1



The unset behavior of node_fail_requeue is well defined in PBS guides.

  • Attributes marked in RED are the attributes that will be set by server by default.
  • The server will also set these attributes (except node_fail_requeue, in the table above) to their default values when they are unset. These attributes will be visible even after unsetting.
  • Attribute values marked in BLUE are the values that are changing (resources_default.ncpus, log events, scheduling) when an attribute is unset.