GLOBUSRUN(1)

πŸ‘‘ GLOBUSRUN(1) πŸ‘‘

okay bestie, sit down, hydrate, because today we're learning globusrun β€” straight out of the Grid Community Toolkit Manual. she submits jobs, she manages jobs, she does it all via GRAM, and honestly? main character energy fr fr. πŸ’…


✨ NAME ✨

globusrun β€” Execute and manage jobs via GRAM πŸš€


πŸ¦‹ SYNOPSIS πŸ¦‹

globusrun [-help | -usage | -version -versions ]

globusrun [-p | -parse] { -f FILENAME | -file FILENAME | RSL }

globusrun [OPTIONS] {-r RESOURCE| -resource RESOURCE} { -a |
-authenticate-only }

globusrun [OPTIONS] {-r RESOURCE| -resource RESOURCE} { -j |
-jobmanager-version }

globusrun [OPTIONS] {-k | -kill } JOBID

globusrun [OPTIONS] [ -full-proxy | -D ] { -y | -refresh-proxy } JOBID

globusrun [OPTIONS] -status JOBID

globusrun [OPTIONS] { -r RESOURCE | -resource RESOURCE } { -f FILENAME |
-file FILENAME | RSL}

no cap, that's a LOT of modes. she contains multitudes. 🌈


🌸 DESCRIPTION 🌸

okay so, globusrun is the program that submits and manages jobs running on a local or remote job host. the jobs themselves are controlled by the globus-job-manager program, which talks to a local resource manager that schedules and actually executes the job. it's giving delegation. it's giving teamwork. 🫢

and the way that globusrun can be run in a number of different modes, chosen by command-line options? iconic behaviour. let's break it down one by one, no skipping, we're being thorough today. ⭐

when the -help, -usage, -version, or -versions command-line options are used, globusrun will print out diagnostic information and then exit. simple. clean. she says her piece and leaves. πŸ’…

when the -p or -parse command-line option is present, globusrun will verify the syntax of the RSL specification and then terminate. if the syntax is valid, globusrun will print out the string RSL Parsed Successfully... and exit with a zero exit code; otherwise, it will print an error message and terminate with a non-zero exit code. vibe check on your RSL, basically. πŸŽ€

when the -a or -authenticate-only command-line option is present, globusrun will verify that the service named by RESOURCE exists and that the client's credentials are granted permission to access that service. if authentication is successful, globusrun will display the string GRAM Authentication test successful and exit with a zero exit code; otherwise it will print an explanation of the problem and will with a non-zero exit code. (yes, bestie, the original says "will with a non-zero exit code" β€” we keep it, we don't fix it, that's the rule 😭)

when the -j or -jobmanager-version command-line option is present, globusrun will attempt to determine the software version that the service named by RESOURCE is running. if successful, it will display both the Toolkit version and the Job Manager package version and exit with a zero exit code; otherwise, it will print an explanation of the problem and exit with a non-zero exit code. she's nosy, but politely. πŸ‘‘

when the -k or -kill command-line option is present, globusrun will attempt to terminate the job named by JOB_ID. if successful, globusrun will exit with zero; otherwise it will display an explanation of the problem and exit with a non-zero exit code. bye bitch energy, respectfully. πŸ’€

when the -y or -refresh-proxy command-line option is present, globusrun will attempt to delegate a new X.509 proxy to the job manager which is managing the job named by JOBID. if successful, globusrun will exit with zero; otherwise it will display an explanation of the problem and exit with a non-zero exit code. this behavior can be modified by the -full-proxy or -D command-line options to enable full proxy delegation. the default is limited proxy delegation. glow-up for your credentials ✨

when the -status command-line option is present, globusrun will attempt to determine the current state of the job. if successful, the state will be printed to standard output and globusrun will exit with a zero exit code; otherwise, a description of the error will be displayed and it will exit with a non-zero exit code. she will simply tell you how the job is doing. 🩺

otherwise β€” like, if you're not doing any of that β€” globusrun will submit the job to a GRAM service. by default, globusrun waits until the job has terminated or failed before exiting, displaying information about job state changes and, at exit time, the job exit code if it is provided by the GRAM service. she's a ride-or-die, she waits for you. πŸ«‚

the globusrun program can also function as a GASS file server to allow the globus-job-manager program to stage files to and from the machine on which globusrun is executed, over to the GRAM service node. this behavior is controlled by the -s, -o, and -w command-line options. multitasking queen. 🌈

jobs submitted by globusrun can be monitored interactively or detached. to have globusrun detach from the GRAM service after submitting the job, use the -b or -F command-line options. ✌️


πŸ’– OPTIONS πŸ’–

  • -help β€” Display a help message to standard error and exit. πŸ†˜
  • -usage β€” Display a one-line usage summary to standard error and exit. short and sweet, one line only bestie.
  • -version β€” Display the software version of globusrun to standard error and exit. 🏷️
  • -versions β€” Display the software version of all modules used by globusrun (including DiRT information) to standard error and then exit. the full roster, the whole cast list. ⭐
  • -p, -parse β€” Do a parse check on the job specification and print diagnostics. If a parse error occurs, globusrun exits with a non-zero exit code. 🧐
  • -f FILENAME, -file FILENAME β€” Read job specification from the file named by FILENAME. πŸ“„
  • -n, -no-interrupt β€” Disable handling of the SIGINT signal, so that the interrupt character (typically Control-C) causes globusrun to terminate without canceling the job. important!! she leaves, the job stays. πŸ™ˆ
  • -r RESOURCE β€” Submit the request to the resource specified by RESOURCE. A resource may be specified in the following ways:
    • HOST
    • HOST:PORT
    • HOST:PORT/SERVICE
    • HOST/SERVICE
    • HOST:/SERVICE
    • HOST::SUBJECT
    • HOST:PORT:SUBJECT
    • HOST/SERVICE:SUBJECT
    • HOST:/SERVICE:SUBJECT
    • HOST:PORT/SERVICE:SUBJECT

If any of PORT, SERVICE, or SUBJECT is omitted, the defaults of 2811, jobmanager, and host@HOST are used respectively. memorise the defaults, they will come up. πŸŽ€

  • -j, -jobmanager-version β€” Print the software version being run by the service running at RESOURCE. πŸ‘€
  • -k JOBID, -kill JOBID β€” Kill the job named by JOBID. πŸ’€
  • -D, -full-proxy β€” Delegate a full impersonation proxy to the service. By default, a limited proxy is delegated when needed. she's going all in. πŸ”₯
  • -y, -refresh-proxy β€” Delegate a new proxy to the service processing JOBID. πŸ”„
  • -status β€” Display the current status of the job named by JOBID. πŸ“Š
  • -q, -quiet β€” Do not display job state change or exit code information. she's mysterious now. 🀫
  • -o, -output-enable β€” Start a GASS server within the globusrun application that allows access to its standard output and standard error streams only. Also, augment the RSL with a definition of the GLOBUSRUN_GASS_URL RSL substitution and add stdout and stderr clauses which redirect the output and error streams of the job to the output and error streams of the interactive globusrun command. If this is specified, then globusrun acts as though the -q were also specified. πŸŒ€
  • -s, -server β€” Start a GASS server within the globusrun application that allows access to its standard output and standard error streams for writing and any file local the the globusrun invocation for reading. Also, augment the RSL with a definition of the GLOBUSRUN_GASS_URL RSL substitution and add stdout and stderr clauses which redirect the output and error streams of the job to the output and error streams of the interactive globusrun command. If this is specified, then globusrun acts as though the -q were also specified. πŸ“₯
  • -w, -write-allow β€” Start a GASS server within the globusrun application that allows access to its standard output and standard error streams for writing and any file local the the globusrun invocation for reading or writing. Also, augment the RSL with a definition of the GLOBUSRUN_GASS_URL RSL substitution and add stdout and stderr clauses which redirect the output and error streams of the job to the output and error streams of the interactive globusrun command. If this is specified, then globusrun acts as though the -q were also specified. πŸ“€
  • -b, -batch β€” Terminate after submitting the job to the GRAM service. The GASS-related options can be used to stage input files, but standard output, standard error, and file staging after the job completes will not be processed. The globusrun program will exit after the job hits any of the following states:
    • PENDING
    • ACTIVE
    • FAILED
    • DONE
  • -F, -fast-batch β€” Terminate after submitting the job to the GRAM service. The globusrun program will exit after it receives a reply from the service. The JOBID will be displayed to standard output before terminating so that the job can be checked with the -status command-line option or modified by the -refresh-proxy or -kill command-line options. fastest girl in the group chat ⚑
  • -d, -dryrun β€” Submit the job with the dryrun attribute set to true. When this is done, the job manager will prepare to start the job but start short of submitting it to the service. This can be used to detect problems with the RSL. a rehearsal, a dress rehearsal, a lil preview 🎭

🌈 ENVIRONMENT 🌈

The following variables affect the execution of globusrun

  • X509_USER_PROXY β€” Path to proxy credential. πŸͺͺ
  • X509_CERT_DIR β€” Path to trusted certificate directory. πŸ“

πŸ’€ BUGS πŸ’€

The globusrun program assumes any failure to contact the job means the job has terminated. In fact, this may be due to the globus-job-manager program exiting after all jobs it is managing have reached the DONE or FAILED states. In order to reliably detect job termination, the two_phase RSL attribute should be used.

bestie this is a real one β€” do NOT trust a silent job, use two_phase. iykyk. 😭

🫢 SEE ALSO 🫢

globus-job-submit(1), globus-job-run(1), globus-job-clean(1), globus-job-get-output(1), globus-job-cancel(1)

the whole friend group, go say hi πŸ‘‹


πŸŽ€ AUTHOR πŸŽ€

Copyright Β© 1999-2014 University of Chicago


and that's the page!! Grid Community Toolkit 6, dated 03/31/2018 β€” thank you for coming to my ted talk, now go parse an RSL and slay πŸ’…βœ¨πŸ¦‹