New scripts: tarfiles_setup, fetchtar.proxy, and webtarfiles_setup .
The idea is to give us hooks for grabbing experimenters' tarballs (and RPMs) from locations other than files on ops. Mainly, to remove another dependance on users having shells on ops. tarfiles_setup supports fetching files from http and ftp URLs right now, through wget. It places them into the experiment directory, so that they'll go away when the experiment is terminated, and the rest of the chain (ie. downloading to clients and os_setup's checks) remains unchaged. It is now tarfiles_setup's job to copy tarballs and RPMs from the virt_nodes table to the nodes table for allocated nodes. This way, it can translate URLs into the local filenames it constructs. It get invoked from tbswap. Does the actual fetching over on ops, running as the user, with fetchtar.proxy. Should be idempotent, so we should be able to give the user a button to run webtarfiles_setup (none exists yet) yet to 'freshen' their tarballs. (We'd also have to somehow let the experiment's nodes know they need to re-fetch their tarballs.) One funny side effect of this is that the separator in virt_nodes.tarfiles is now ';' instead of ':' like nodes.tarballs, since we can now put URLs in the former. Making these consistent is a project for another day.
Showing with 478 additions and 6 deletions