Call execjob_end event hooks when releasing unneeded vnodes from a job

Follow the PBS Pro Design Document Guidelines.

Overview

Today when pbs_release_nodes (command), pbs_relnodesjob() (IFL), or release_nodes() (Python function) is used to release unneeded nodes from a job only the execjob_epilogue hook scripts will be executed on the early released nodes.  The execjob_end hooks will not be executed on the early released nodes.

This enhancement will add a call to the hooks registered for an execjob_end event in case of early release of unneeded nodes from a job.  The execjob_epilogue hook event will still execute as before.  The execjob_end hook event will happen after the execjob_epilogue hook event.


Why doesn't PBS just tell people to also register their execjob_end hooks for the execjob_epilogue event too?

Because the execjob_epilogue hook runs before files are staged out and before the job is cleaned up, which makes it too early for some end of job tasks (e.g. memory cleanup).
For example, on Shasta we know that memory cleanup can happen after PBS says to DELETE the job via the ATOM interface.  It would be bad for that memory cleanup to occur at execjob_epilogue time before files are staged out.








OSS Site Map

Project Documentation Main Page

Developer Guide Pages