Skip to content
nicholas harteau edited this page Mar 2, 2011 · 1 revision

Chroot Support

Proposal

Pogo should support targets in the form of 'hostname:rootname', and take appropriate action (chroot or use utility to enter the root on the remote node) when executing commands. Targets are joot and our proprietary implementation.

Execution

  1. User submits a job including a target in the form of hostname:rootname
  2. Pogo should treat this as a distinct target on which to perform constraint operations, so hostname:root1 and hostname:root2 are unique.
  3. pogo-dispatcher, when constructing the task, should pull apart 'hostname' and 'root' and send them across as separate bits in the JSON-RPC hash. appropriate information from the dispatcher configuration should be passed along at this time.
  4. when pogo-worker-stub is invoked on the remote host, and is given the job options, it should understand root and take appropriate action.

Configuration

  1. describe the available root-types, a default root-type, and any root-magic necessary in the dispatcher configuration file, similar to 'store' and 'store_options'. revise 'store' and 'store_options' if necessary to make consistent.
  2. per-namespace, optionally configure a 'root-type' that is communicated to the worker via the task JSON-RPC.