• Leigh B. Stoller's avatar
    ElabInElab Addition: New script that uses the frisbee client to · 6777d279
    Leigh B. Stoller authored
    download images from the outer emulab. This script is invoked from
    frisbeelauncher when ELABINELAB=1 and the filename does not exist
    (thus attempting to get the image file before bailing). The
    frisbeeimage script uses a new method in the RPC server to fire up a
    frisbeed (using frisbeelauncher on the outer Emulab), subject to the
    usual permission checks against creator of the elabinelab experiment
    (I assume that the creator will have access to any outer images that
    are used inside the inner emulab). If outer frisbeelauncher succeeds,
    its return value is the load_address (IP:port), which is used to fire
    up a frisbee client to get the image file and write it out (using
    Mike's new -N option that just dumps the raw data to file). Once the
    image is downloaded, control returns to inner frisbeelauncher and
    proceeds as normal.
    I whacked this together pretty quickly. Under heavy usage it might hit
    a race condition or two, but I do not expect that to happen in an
    inner elab for a while.