Follow the PBS Pro Design Document Guidelines.
In order for PTL to work on Cray's new Shasta systems, some things have to change.
Userhosts - hosts that users can log into and submit jobs from. Root does not have ssh access to these hosts. Each user gets their own userhost.
PTL will run where the server is running.
PTL needs to know if we're running on Shasta.
The Shasta hook should be loaded and enabled before running any test on Shasta.
Non-root commands must be run from userhosts. In order to do this, PTL must support running user commands from multiple hosts.
The users do not exist where the server is running on Shasta, so the user-exists check should be changed to check if the PbsUser instance has a userhost set: if it does, check that userhost instead.
Since remote copy doesn't work, we need to set $usecp to tell the moms to do a local copy to the shared directory.
Changes:
New as of 9/4
is_localhost should check the hostnames reported, and if they're the server hostname, return `True`
Since we know pbs-host and pbs-service-nmn are the two hostnames for the server on shasta, if they're used in is_localhost, we should return TrueSet PBS_PUBLIC_HOST_NAME on the server conf.
Since commands need this on the server pod to successfully authenticate, this needs to be set to pbs-hostAdd user-host specific code to run_copy, create_temp_file, and Job.create_script
This is to allow submitting jobs with scripts on Shasta, since otherwise they won't run.Allow the shasta platform to use proc_utils
There's a check for the platform, just add 'shasta' to the list
Implement @skipOnShasta
If self.mom.is_shasta() is true, then skip the test.
Change hard-coded usernames to str(TEST_USER)
There are many hard-coded usernames in PTL, when it should be using the name of the PbsUser.
Project Documentation Main Page