Skip to content
  • Leigh B. Stoller's avatar
    The template "datastore" ... · fe9aa6a4
    Leigh B. Stoller authored
    Each template has a datastore, which is really just a subdirectory that can
    be populated with files, and committed to the subversion archive.  Note,
    the datastore os specific to the template itself. The Template Archive link
    on the Show Template page takes you to the subdirectory, which by
    convention I am calling "datastore".
    The directory actually lives in /proj/pid/exp/eid/TGUID-VERS ... but that
    path is printed out for you on the archive page.
    Anyway, put stuff in the datastore directory, and then commit the template
    archive so there is a tag associated with it.
    When an instance is created, a checkout of the datastore is placed in the
    experiment directory (/proj/pid/eid/exp/template_datastore). The current
    tag (from above) is stored with the instance so that we can later recreate
    the enviroment for the instance, say for rerun.
    Tarfiles and rpms in the datastore can be referenced as xxx://foo.rpm (in
    your NS file).  tarfiles_setup transforms those when the instance is
    swapped in, sorta like it does other URLs, only it does not actually fetch
    them, just need to rewrite the paths so they reference datastore.
    The program agent gets another environment variable so you can refer to the
    datastore without hardwiring paths ($DATASTORE). Eventually I want to move
    the checkout someplace else, but it was easy to drop it into the experiment
    directory for now.