materialsproject / fireworks

The Fireworks Workflow Management Repo.
https://materialsproject.github.io/fireworks
Other
351 stars 184 forks source link

Re-added functionality back to lpad.get_fw_id_from_reservation_id(reservation_id) #534

Open wuz75 opened 2 months ago

wuz75 commented 2 months ago

Summary

Major changes:

two revamped functionalities of launchpad lpad.get_fw_id_from_reservation_id is now working (previously did not work due to the lack of a reservation_id tag) lpad.get_reservation_id_from_fw_id is now working (previously did not work due to the lack of a reservation_id tag)

They currently only work on slurm. This addition to fireworks used code chunks from Sustodian (https://github.com/wuz75/sustodian.git)

detailed changes

Added a file called fw_id_from_reservation_id.py and another called reservation_id_from_fw_id.py in fireworks.utilities which does the bulk of the parsing. reservation_finder.py uses the scontrol show jobid command to parse launch directories and find the FW.json file of the running job. When running lpad.get_fw_id_from_reservation_id(slurm job id) locally, it will prompt a username@hostname and password+OTP via paramiko ssh. Otherwise it will just run the functions in reservation_finder.py lpad.get_reservation_id_from_fw_id(fw_id) works very similarly and parses through all running jobs to match jobids with fwids.