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.
- Default attributes server has when it starts for the first time
Attribute name | Attribute value | Attribute behavior when unset |
---|---|---|
Scheduling | False | Treated as False |
default_chunk.ncpus | 1 | default_chunk.ncpus is not applied to schedselect |
resv_enable | True | Treated as True |
node_fail_requeue | 310 | This 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_size | 10000 | Treated as 10000 |
pbs_license_min | 0 | No effect |
pbs_license_max | 2147483647 | No effect |
pbs_license_linger_time | 31536000 | No effect |
eligible_time_enable | False | Treated as False |
max_concurrent_provision | 5 | Treated as 5 |
max_job_sequence_id | 9999999 | Treated as 9999999 |
- Attributes that habitat sets on the server when it comes up for the first time
Attribute name | Attribute value | Attribute behavior when unset |
---|---|---|
default_queue | workq | not set |
log_events | 511 | Treated as 0 (nothing logged) |
mail_from | adm | Treated as adm |
query_other_jobs | True | Treated as False |
scheduler_iteration | 600 | Teated as 0 |
resources_default.ncpus | 1 | not set |
scheduling | True | Treated 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 name | Attribute value | Attribute value visible when Unset |
---|---|---|
Scheduling | True | True |
resv_enable | True | True |
node_fail_requeue# | 310 | <Unset> |
max_array_size | 10000 | 10000 |
pbs_license_min | 0 | 0 |
pbs_license_max | 2147483647 | 2147483647 |
pbs_license_linger_time | 31536000 | 31536000 |
eligible_time_enable | False | False |
max_concurrent_provision | 5 | 5 |
max_job_sequence_id | 9999999 | 9999999 |
default_queue | <Set by pbs_habitat> | <Unset> |
log_events | 511 | 511 |
mail_from | adm | adm |
query_other_jobs | True | True |
scheduler_iteration | 600 | 600 |
resources_default.ncpus | 1 | 1 |
The table below shows which attribute will have a different default value when unset
Attribute name | Current unset value | Proposed unset value |
---|---|---|
Scheduling | Treated as False | True |
log_events | Treated as 0 | 511 |
default_chunk.ncpus | default_chunk.ncpus is not applied to schedselect | 1 |
resources_default.ncpus | not set and thus not applied | 1 |
# 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.