Questions on Accounts and Projects

Dear Wizards,

Probably, the following questions are documented in the Admin and Ref Guides(?), but I cannot find the appropriate info. If somebody can nudge me in the right direction, it will be much appreciated.

I would like to use job “account” (-A) and/or “project” (-P) to estimate how the resources are used on our cluster. I am (presently) not trying to do QoS or limit jobs on a per-account or per-project basis. For now I am only aiming to get initial config and logging going.

A. It seems like (with default config) and user can set account and project to any kind of value (string). For instance, if a user submits a job like:

qsub -lselect=... -lplace=... -l walltime=... -A my_fake_account -P my_fake_project

Then the scheduler will look for limits set by the project, excerpt from sched log:

<DATETIME>;0800;pbs_sched;Sched;lim_get;entlim_get(p:my_fake_project) returned NULL

and it is also evident in the account logging (sched_priv/accounting/<DATE>) file, as eg

<DATETIME>;S;<JOBID>; ... account="my_fake_account" project=my_fake_project ...

I am aware that ít is possible to limit the amount of resources (per queue or on server basis) based on users, groups and projects. However, I fail to find (probably my bad) central info on:

A. Is it possible to configure a default account and/or project to be used if none is specified? (Either per queue or server-wide.)

B. Is it possible to list a number of acceptable (eg in a string_array) possibilities for “account” and/or “group”, so that not everything is accepted?

C. How do I limit certain accounts and/or projects to only be allowed for specific users and/or groups?

I guess that some of the above can be achieved by writing hooks (python), which is run eg. at submission time, but there may be easier/better ways to do it, as this seems a very basic issue - needed at many/most sites?

All help/nudges are much appreciated.



Currently, the only way to check for valid accounts or projects is with a queuejob hook.



As Jon says, the core PBS product doesn’t impose any restrictions or do any validation on either the account or project attributes (just as we don’t for the built-in “software” resource). These attributes are intended to be site-defined and we wanted to preserve maximum flexibility for sites to define them as they wish, so you’ll have to do any validation in a hook.

It’s a feature :wink:


That is noted. Thanks.
And now on to hook coding…

Maybe a small FOSS “library” of often-used hooks would be something to consider. Something more complicated than the simple examples from the docs, which could be downloaded and modified. (I do not necessarily propose that Altair open-source all configs, but admins - like me - could share and learn from each others).

Just a thought.