1. 19 Sep, 2003 1 commit
  2. 16 Apr, 2003 1 commit
    • Leigh Stoller's avatar
      Add support for idleswapping an experiment as the creator of the · ff5a57de
      Leigh Stoller authored
      experiment, rather than as an administrator, which presents group
      permission problems when the experiment is in a subgroup (requires two
      additional group, whereas suexec adds only one group). That aside, the
      correct approach is to run the swap as the creator. To do that, must
      flip to the user (from the admin person) in the backend using the new
      idleswap script, and then run the normal swapexp. Add new option to
      swapexp (-i) which changes the email slightly to make it clear that
      the experiment was idleswapped, and so that the From: is tbops not the
      user (again, to make it more clear).
      ff5a57de
  3. 10 Feb, 2003 1 commit
  4. 09 Feb, 2003 1 commit
    • Leigh Stoller's avatar
      Checkpoint (still neads testing and tweaking) vastly rewritten mkacct · b9ef7da1
      Leigh Stoller authored
      script, which is now called tbacct, and lives in the account directory
      instead of tbsetup (all account scripts are moving into this
      directory). The command line is different:
      
      	Usage: tbacct <add|del|mod|freeze|thaw|sfskey> <name>
      
      However, it is not really intended to be called from the command line,
      but if it is, it always does the right thing based on the DB. All of
      the ssh commands are localized here as well (mkproj and others will
      invoke this script instead of doing pw commands themselves on ops).
      
      My experience with this indicates a couple of things.
      
      * We should probably not invoke these backend scripts (which are
        setuid) as the user driving them from the web. This complicates
        things, especially in light of having to deal with users with no
        accounts (say, a new user, unapproved, who wants to change their
        password). Not sure what the right model is, but since the script
        always does the right thing, it really makes no difference who
        invokes it.
      
      * The actual pw commands should be driven from a script on the other
        side. This would make it easy to retarget to linux or whatever. I
        thought about doing that, but the shell quoting is a pain in the
        butt, and its not like I'm supposed to be doing this stuff.
      b9ef7da1
  5. 04 Jul, 2002 1 commit
  6. 28 May, 2002 1 commit
  7. 08 Feb, 2002 1 commit
    • Leigh Stoller's avatar
      Big round of image/osid changes. This is the first cut (final cut?) at · a73e627e
      Leigh Stoller authored
      supporting autocreating and autoloading images. The imageid form now
      sports a field to specify a nodeid to create the image from; If set,
      the backend create_image script is invoked. Thats the easy part.
      Slightly harder is autoloading images based on the osid specified in
      the NS file. To support this, I have added a new DB table called
      osidtoimageid, which holds the mapping from osid/pctype to imageid.
      When users create images, they must specify what node types that image
      is good for. Obviously, the mappings have to be unique or it would be
      impossible to figure it out! Anyway, once that image mapping is
      in place and the image created, the user can specify that ID in the NS
      file. I've changed os_setup to to look for IDs that are not loaded,
      and to try and find one in the osidtoimageid. If found, it invokes
      os_load. To keep things running in parallel as much as possible,
      os_setup issues all the loads/reboots (could be more than a single set
      of loads is multiple IDs are in the NS file) at once, and waits for
      all the children to exit. I've hacked up os_load a bit to try and be
      more robust in the face of PXE failures, which still happen and are
      rather troublsesome. Need an event system!
      
      Contained in this revision are unrelated changed to make the OS and
      Image IDs per-project unique instead of globally unique, since thats a
      pain for the users. This turns out to be very messy, since underneath
      we do not want to pass around pid/ID in all the various places its
      used. Rather, I create a globally unique name and extened the OS and
      Image tables to include pid/name/ID. The user selects pid/name, and I
      create the globally unique ID. For the most part this is invisible
      throughout the system, except where we interface with the user, say in
      the web pages; the user should see his chosen name where possible, and
      the should invoke scripts (os_load, create_image, etc) using his/her
      name not the internal ID. Also, in the front end the NS file should
      use the user name not the ID. All in all, this accounted for a number
      of annoying changes and some special cases that are unavoidable.
      a73e627e
  8. 12 Apr, 2001 1 commit