1. 12 Oct, 2009 1 commit
    • David Johnson's avatar
      Add the ability to load images on virtnodes. For now, we just overload · c6c57bc9
      David Johnson authored
      the tb-set-node-os command with a second optional argument; if that is
      present, the first arg is the child OS and the second is the parent OS.
      We add some new features in ptopgen (OS-parentOSname-childOSname) based
      off a new table that maps which child OSes can run on which parents, and
      the right desires get added to match.  We setup the reloads in os_setup
      along with the parents.  Also needed a new opmode, RELOAD-PCVM, to handle
      all this.
      
      For now, users only have to specify that their images can run on pcvms, a
      special hack for which type the images can run on.  This makes sense in
      general since there is no point conditionalizing childOS loading on
      hardware type at the moment, but rather on parentOS.  Hopefully this stuff
      wiill mostly work on shared nodes too, although we'll have to be more
      aggressive on the client side garbage collecting old frisbee'd images for
      long-lived shared hosts.
      
      I only made these changes in libvtop, so assign_wrapper folks are left in
      the dark.
      
      Currently, the client side supports frisbee.  Only in openvz for now, and
      this probably breaks libvnode_xen.pm.  Also in here are some openvz
      improvements, like ability to sniff out which network is the public
      control net, and which is the fake virtual control net.
      c6c57bc9
  2. 04 Aug, 2009 1 commit
    • Kevin Atkinson's avatar
      Implement frontend and middleend support for loading multiple images · e7871305
      Kevin Atkinson authored
      at once with Frisbee (excludes the actual MFS changes).
      
      Os_load now takes take a list of comma serrated image names for the
      "-i" and "-m" options.  The default OS is the OS for the last image
      specified in the list.  I also changed the "-p" option of osload to
      search both the project specified and emulab-ops for the image rather
      than just the project specified in order to simplify specifying
      multiple images (and because I personally found that behavior annoying
      when using osload).
      
      I modified the current_reloads table to be able to specify more than one
      image for a node by adding an "idx" column which controls the order of
      the reloads.  I also added a "prepare" column to the table (explained
      below)
      
      I modified tmcd to basically loop over the entries in the table and
      create a multiline LOADINFO responsive, and modified rc.frisbee to
      handle the multiline response and load each image in turn.
      
      I modified os_load to take a new option "-P" which will tell rc.frisbee
      to zap the superblocks even if a whole disk image is not specified.
      To do this I set the prepare entry for the first image in the
      current_reloads table to true.  Tmcd than passes this into to
      rc.frisbee in the LOADINFO line.  When rc.frisbee sees this it will
      make sure to zap the superblock before loading that image.
      
      To support having multiple images as the default, "default_imageid"
      can now be a comma separated list.  I implemented a hack to be able to
      set multiple imageids via editnodetype.php3.  Basically the form
      splits default_imageid into default_imageid_0, default_imageid_1, etc
      and than adds an empty default_imageid_# slot to allow adding an
      imageid.  Multiple images can be added by adding one image, than
      submitting the form, and than adding another into the empty slot.  Not
      the best, but I don't thing this will be a very common operation.
      When the form is submitted it will than combine all default_imageid_#
      into a comma separated list ignoring any that are deleted or set to
      "No ImageID" (ie 0).
      
      Everything will work fine with old MFSs as long as only one image is
      loaded.  If multiple images are loaded with an old MFS, an email will
      be sent to testbed-ops.  This works by having tmcd detect old MFS's by
      using the version number and setting the state to RELOADOLDMFS.  Stated
      will pick up on the and send the email to testbed-ops via a trigger.
      e7871305
  3. 07 Jan, 2009 1 commit
  4. 24 Oct, 2008 1 commit
  5. 10 Sep, 2008 1 commit
    • Mike Hibler's avatar
      Slight beefing up of support for alternate MBRs: · 31009d09
      Mike Hibler authored
       * when creating an image from a node, make sure the new image
         gets the MBR version used by the existing image
       * when loading a single-partition image that requires a different
         MBR, invalidate all other existing partition ("invalidate" in the
         sense that we remove any partitions table entries, we don't do anything
         to the disk)
      31009d09
  6. 02 Sep, 2008 1 commit
  7. 08 Aug, 2008 1 commit
    • Kevin Atkinson's avatar
      · 3a64e4d0
      Kevin Atkinson authored
      Fix Ticket #211 by reporting all the unacceptable node types at once.
      3a64e4d0
  8. 10 Jul, 2008 1 commit
  9. 13 May, 2008 1 commit
  10. 08 May, 2008 1 commit
  11. 20 Feb, 2008 1 commit
  12. 04 Feb, 2008 1 commit
  13. 08 Jan, 2008 2 commits
  14. 02 Jan, 2008 2 commits
  15. 19 Dec, 2007 1 commit
  16. 03 Dec, 2007 2 commits
  17. 27 Nov, 2007 1 commit
  18. 19 Nov, 2007 2 commits
  19. 13 Nov, 2007 2 commits
  20. 12 Nov, 2007 1 commit
  21. 09 Nov, 2007 1 commit
  22. 08 Nov, 2007 3 commits
  23. 07 Nov, 2007 1 commit
  24. 01 Nov, 2007 1 commit
  25. 24 Oct, 2007 2 commits
  26. 23 Oct, 2007 1 commit
  27. 19 Oct, 2007 1 commit
    • Russ Fish's avatar
      Move newimageid_ez page form logic to a backend Perl script. · 9a586d0b
      Russ Fish authored
           www/newimageid_ez.php3 - The reworked PHP page.  Calls Image::NewImageId with ez=1.
           www/newimageid.php3 - Call Image::NewImageId with ez=0.
           www/imageid_defs.php - Re-use the Image::NewImageId class method, adding an 'ez' arg.
           backend/{newimageid_ez,GNUmakefile}.in configure configure.in - New backend script.
               After checks, calls OSinfo->Create and Image->Create with the same XML args array.
           db/Image.pm.in - Re-use the Image->Create method, adding an imageid over-ride arg.
           db/OSinfo.pm.in - Filter out extraneous db slot args from XML in the Create method.
           db/libdb.pm.in - Add TB_{OS,IMAGE}ID_* constants from dbdefs.php3 .
           sql/database-fill.sql - Add OS entries to the table_regex 'images' pattern set.
      9a586d0b
  28. 16 Oct, 2007 1 commit
    • Russ Fish's avatar
      Move editgroup page form logic to a backend Perl script. · 8fffc2f3
      Russ Fish authored
           www/editgroup.php3 - The reworked PHP page.
           www/editgroup_form.php3 - Removed, form merged into editgroup.php3 .
           www/showgroup.php3 - Link to editgroup.php3, rather than editgroup_form.php3 .
           www/group_defs.php - Add an Image::EditGroup class method
                                  bridging to the script via XML.
           backend/{editgroup,GNUmakefile}.in configure configure.in - New backend script.
           db/Group.pm.in - Add an EditGroup worker class method for script arg checking.
                            Also the missing NonMemberList and CheckTrustConsistency methods,
                            and a GETTRUST flag to MemberList, as in the PHP version.
           db/User.pm.in - Add the missing but tiny {Set,Get}TempData methods.
           sql/database-fill.sql - Add gid_idx to the table_regex 'groups' checking patterns.
      8fffc2f3
  29. 12 Oct, 2007 1 commit
    • Russ Fish's avatar
      Move newimageid page form logic to a backend Perl script. · 3f5e4ef8
      Russ Fish authored
           www/newimageid.php3 - The reworked PHP page.
           www/imageid_defs.php - Add an Image::NewImageId class method
                                  bridging to the script via XML.
           backend/{newimageid,GNUmakefile}.in configure configure.in - New backend script.
           db/Image.pm.in - Add a Create class method for script arg checking.
           sql/database-fill.sql - Add to the table_regex 'images' checking patterns.
      3f5e4ef8
  30. 10 Oct, 2007 2 commits
  31. 09 Oct, 2007 1 commit