LGAGENT(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

πŸ’– LGAGENT β€” the ION Load/Go remote agent program πŸ’–

okay bestie, welcome to the lgagent page from the BP executables manual set. this one's a whole vibe: it's the little agent that sits on a node and does stuff when someone yells at it from far away. let's get into it 🫢


✨ NAME ✨

lgagent β€” the ION Load/Go remote agent program. no cap, that's literally what it is πŸ’…


🌸 SYNOPSIS 🌸

lgagent own_endpoint_ID

πŸ¦‹ DESCRIPTION πŸ¦‹

so. ION Load/Go is a system for managing an ION-based network, and what it does is let you run ION administrative programs on remote nodes. it's giving "remote control but make it bundle protocol." the whole system is just two programs, bestie:

  • lgsend
  • lgagent

the lgagent task running on a given node does a little sequence of main character moves:

  1. it opens the indicated ION endpoint for bundle reception
  2. it receives the extracted payloads of Load/Go bundles that lgsend sent over β€” and yes, lgsend can be running on one or more remote nodes, it's a whole group chat
  3. it processes those payloads, which are literally just the text of Load/Go source files πŸ“„

now, the Load/Go source file content is limited to newline-terminated lines of ASCII characters. specifically, the text of any Load/Go source file is a sequence of line sets, and there are exactly two types:

  • file capsules
  • directives

any Load/Go source file can hold any number of file capsules and any number of directives, freely intermingled, in literally any order. but the typical structure is just the simplest thing ever: a single file capsule followed by a single directive. iconic, honestly.

here's the tea on what lgagent does with each type:

  • when lgagent identifies a file capsule, it copies all of the capsule's text lines into a new file that it creates in the current working directory πŸŽ€
  • when lgagent identifies a directive, it executes that directive by passing the text of the directive to the pseudoshell() function (peep platform(3) for the details)

and the order matters, bestie: lgagent processes the line sets of a Load/Go source file in the order in which they appear in the file. so yes, a directive's text can totally reference a file that got created by processing an earlier file capsule in the same source file. it's a pipeline, it's a storyline, it's a glow-up arc ✨


πŸ’… EXIT STATUS πŸ’…

  • "0" β€” Load/Go remote agent processing has terminated. that's it, that's the only one, periodt.

πŸŽ€ FILES πŸŽ€

  • lgfile β€” contains the Load/Go file capsules and directives that are to be processed.

🌈 ENVIRONMENT 🌈

No environment variables apply. nope, none, zero, the environment is not involved in this relationship πŸ™ˆ


πŸ”₯ DIAGNOSTICS πŸ”₯

the following diagnostics may be issued to the ion.log log file. buckle up, there's a bunch:

  • lgagent: can't attach to BP.
    • Bundle Protocol is not running on this computer. run bpadmin(1) to start BP.
  • lgagent: can't open own endpoint.
    • own_endpoint_ID is not a declared endpoint on the local ION node. run bpadmin(1) to add it.
  • lgagent: bundle reception failed.
    • ION system problem. investigate and correct before restarting.
  • lgagent cannot continue.
    • lgagent processing problem. see earlier diagnostic messages for details. investigate and correct before restarting.
  • lgagent: no space for bundle content.
    • ION system problem: have exhausted available SDR data store reserves.
  • lgagent: can't receive bundle content.
    • ION system problem: have exhausted available SDR data store reserves.
  • lgagent: can't handle bundle delivery.
    • ION system problem. investigate and correct before restarting.
  • lgagent: pseudoshell failed.
    • Error in directive line, usually an attempt to execute a non-existent administration program (e.g., a misspelled program name). Terminates processing of source file content.
🫠 heads up: a variety of other diagnostics noting source file parsing problems may also be reported. these errors are non-fatal, but they terminate the processing of the source file content from the most recently received bundle. so like, the vibe is: not fatal, but also not fine.

πŸ’€ BUGS πŸ’€

found a bug? report it to <ion-bugs@korgano.eecs.ohiou.edu> β€” they wanna hear about it fr fr.


πŸ‘‘ SEE ALSO πŸ‘‘


okay that's the whole page, bestie, you're officially fluent in Load/Go 🧚

this lil artifact was brought to you by perl v5.24.1, dated 2016-07-07 β€” yeah she's vintage, she's still serving, and she ate πŸ’–βœ¨

πŸ“¦ where this page comes from