• Leigh B. Stoller's avatar
    Convert install-rpm/install-tarfile to use the web server instead of · 0a259517
    Leigh B. Stoller authored
    tmcd (which is bad, since tying up the tmcd threads blocks all nodes
    in the testbed). The old functionality is left in tmcd for now.
    On the server side, a new web page (www/spewrpmtar.php3) receives a
    request for a file, along with the nodeid (pcXXX) making the request,
    and the secret key that is generated for each new experiment and
    transfered to the node via tmcd. If the key matches, the operation is
    handed off to tbsetup/spewrpmtar.in which verifies that the file is in
    the list of rpm/tar files for that node, and then spits it out to
    stdout. The web page uses fpassthru() to send the file out to the
    client. The client is using wget, and is required to use https (the
    web page checks).
    At present, the external script is run as the creator of the
    experiment, and gid of the experiment. Perhaps this is not a good
    idea. In any event, the file must be in the list of rpm/tarfiles,
    either owned by the experiment creator or with a group of the
    experiment, and the file must reside in either /proj or /groups.
    I use the realpath() function to make sure there are no symlink tricks
    pointing to outside those filesystems. I use the standard NFS read goo to
    prevent transient mount problems that we all know and love.