PTL framework has this inconsistency on how it reverts the server and scheduler attributes.
In case of server it has a dictionary of default attributes and their respective values. While reverting server, PTL makes sure that these attributes get their default values.
On the other hand, while reverting scheduler object, PTL does not have any dictionary of default attributes, It reverts all the relevant attributes and PBS scheduler then sets the default values to them (if needed) when they are unset (like in case of sched_cycle_length, sched_priv etc.).
It seems to me, by not having a dictionary of default sever attributes in PTL we would be better off because then PBS server to function properly will have the necessary attributes set to their default values. If we do this then we will also have to change pbs_habitat because habitat sets server attributes to some default values. Additionally, it will require code changes in PBS server as well to set default values to necessary attributes when they are unset.
At present, pbs_habitat apart from creating a default queue, sets the following server attributes:
set server default_queue = workq set server log_events = 511 set server mail_from = adm set server query_other_jobs = True set server scheduler_iteration = 600 set server resources_default.ncpus = 1 set server scheduling = True
Now, I want to know if there is anyone who thinks that removing this list from habitat and PTL and making PBS server set them internally is a bad idea. Having a discussion would help in decision making.
Link to document proposing the external changes.