1. 04 Oct, 2011 1 commit
    • Mike Hibler's avatar
      Add node/node_type attribute "no_clflush". · fdfce71d
      Mike Hibler authored
      This is for FreeBSD to turn off use of the CLFLUSH instruction via the
      hw.clflush_disable loader var. We have encountered some opteron machines
      on which this causes problems.
      
      The attribute can be set for the node_type (via the web page for editing
      node types) or the node (via brute-force SQL hackary) to override whatever
      FreeBSD would do by default. This attribute is passed via tmcd to the
      diskloader MFS which will fixup the loader.conf file post-frisbee.
      fdfce71d
  2. 17 Aug, 2011 1 commit
  3. 11 Aug, 2011 1 commit
    • Mike Hibler's avatar
      Initial support for loading Windows7 .wim images via WinPE/ImageX. · ac711ea5
      Mike Hibler authored
      1. Support for "one-shot" PXE booting ala the one-shot osid. Switches to
         pxelinux to boot WinPE and then switch back after done. Painful now
         because we have to HUP dhcpd everytime we change the PXE path, but we
         may be able to fix this in the future by going all-pxelinux-all-the-time.
      
      2. Added pxe_select, analogous to os_select, for changing the pxe_boot_path
         including the one time path.
      
      3. Added the WIMRELOAD state machine to shepherd a node through the process.
         Still has some rough edges and may need refining.
      ac711ea5
  4. 10 Aug, 2011 1 commit
  5. 27 Jul, 2011 1 commit
  6. 26 Jul, 2011 1 commit
  7. 21 Jul, 2011 1 commit
  8. 20 Jul, 2011 1 commit
  9. 19 Jul, 2011 4 commits
  10. 08 Jul, 2011 2 commits
  11. 29 Jun, 2011 1 commit
    • Mike Hibler's avatar
      Allow for more flexible setup of pxe_boot_path. · 2abf13da
      Mike Hibler authored
      If nodes.pxe_boot_path is set to '/tftpboot/pxelinux/<something>', then
      dhcpd_makeconf will set the (pxeboot) filename to /tftpboot/pxelinux.0
      and symlink the node's config file (/tftpboot/pxelinux.cfg/<mac>) to
      /tftpboot/pxelinux.cfg/<something>.
      
      In other words, we can customize pxelinux to some small degree, using one
      of some small number of pre-existing configurations. We were using pxelinux
      before for plab-in-elab and we will also need it for loading WinPE for
      configuring Windows7 images. For the latter we will set the pxe_boot_path
      to /tftpboot/pxelinux/winpe.
      
      Anyway, ideally we would allow the user to specify a pxelinux config file
      through the NS file, but need to think about the implications of that some
      more. Small steps...
      2abf13da
  12. 20 Jun, 2011 1 commit
  13. 10 Jun, 2011 1 commit
  14. 09 Jun, 2011 1 commit
  15. 03 Jun, 2011 1 commit
    • Mike Hibler's avatar
      Make secure diskload path handle multiple images. · a14d74c8
      Mike Hibler authored
      Make sure "tmcd imagekey" returns info for all images.
      Make Linux rc.frisbee handle it.
      
      Also: change to elabinelab setup to not load secure image info
      into the elabinelab DB (i.e., so we don't propogate the secret keys).
      a14d74c8
  16. 02 Jun, 2011 2 commits
  17. 27 May, 2011 1 commit
  18. 25 May, 2011 2 commits
  19. 23 May, 2011 1 commit
  20. 17 May, 2011 1 commit
    • Mike Hibler's avatar
      Add machinery to automatically setup mrouted on the control network. · 3ba294d9
      Mike Hibler authored
      This is specifically intended for elabinelab right now where configurations
      with an "inner control network" need a multicast router for inner frisbee
      to work. There is (an undocumented) NEEDMROUTED defs variable that controls
      whether the machinery is triggered or not. It is not documented because, though
      in theory this would work for a real boss setup, it has not been tested and
      each install would probably need a custom mrouted.conf file.
      
      For an inner elab, this variable is automatically set in defs-elabinelab
      if there is an inner control network. The result is that the mrouted port
      will be installed, it will be enabled in rc.conf, and a stub mrouted.conf
      file is created (to force mrouted to ignore the real control network).
      3ba294d9
  21. 02 May, 2011 2 commits
  22. 27 Apr, 2011 1 commit
    • David Johnson's avatar
      Better handling of media and speeds with ethtool for linux. · edc59d42
      David Johnson authored
      Allow tmcd to specify speeds of 0 with a warning, and then use
      autonegotiation to select media and speed.  Also, if the speed was Gb,
      turn on autonegotiation first, then force speed/duplex settings.  This
      has to be done because you cannot run at Gb without enabling
      autonegotiation -- it's part of the protocol.
      edc59d42
  23. 26 Apr, 2011 2 commits
    • Mike Hibler's avatar
      Rearranging deck chairs. · a493292c
      Mike Hibler authored
      Get rid of a noxious warning from the boot config when rc.healthd fails
      because it is not supported on...well, just about anything.
      
      Also noticed that the long dead nodetype script was about 10 years out of
      date with respect to what nodes it recognized, so for some strange reason
      I was compelled to fix it.
      
      Leigh is about to get rid of these anyway, but I thought I would at least
      screw up his merge!
      a493292c
    • David Johnson's avatar
  24. 25 Apr, 2011 2 commits
    • Mike Hibler's avatar
      Hopefully short-term fix to allow more general mixing of pnodes and vnodes. · bf0c2929
      Mike Hibler authored
      The current state of affairs is that you can only set the "link emulation"
      style at the experiment level, and that forces link emulation on physical
      nodes as well as virtual nodes. Thus you are forced into using either 802.11
      tagged vlan emulation or an OS that supports something called "veths" on
      physical nodes.
      
      From the comment:
      
         This is a very, very, very special case. If a non-encapsulating veth
         interface (veth-ne) maps 1-to-1 with an underlying physical interface,
         we want to just use the physical interface instead. This allows OSes
         (on physical nodes) which don't support a veth device (i.e., most of
         them) to talk to vnodes which are using veth-ne style.
      
         This can go away once we have separated the notion of multiplexing
         links from encapsulating links (a historical conflation) so that we
         don't have to force virtual devices onto physical nodes just because
         some virtual nodes in the same experiment require multiplexed links.
      bf0c2929
    • Mike Hibler's avatar
      Remove the hardwired configuration of physical interfaces used for linkdelays. · 5fdc31a3
      Mike Hibler authored
      I believe this is left over from a bygone era and should not be needed
      (in addition to being wrong, since it always sets the link to 100Mb).
      rc.ifconfig (via the generated rc.ifc) will properly configure physical
      interfaces that underly multiplexed links.
      
      Note also that the Linux version of the delaysetup script never did this.
      5fdc31a3
  25. 21 Apr, 2011 1 commit
  26. 20 Apr, 2011 1 commit
    • Leigh Stoller's avatar
      Changes our ssh key/account handling in RedeemTicket() and · 03c2107c
      Leigh Stoller authored
      CreateSliver(), to handle multiple accounts.  This somewhat reflects
      the Geni AM API for keys, which allows the client to specify multiple
      users, each with a set of ssh keys.
      
      The keys argument to the CM now looks like the following (note that
      the old format is still accepted and will be for a while).
      
      [{'urn'   => 'urn:blabla'
        'login' => 'dopey',
        'keys'  => [ list of keys like before ]},
       {'login' => "leebee",
        'keys'  => [ list of keys ... ]}];
      
      Key Points:
      
      1. You can supply a urn or a login or both. Typically, it is going to
         be the result of getkeys() at the PG SA, and so it will include
         both.
      
      2. If a login is provided, use that. Otherwise use the id from the urn.
      
      3. No matter what, verify that the token is valid for Emulab an uid
         (standard 8 char unix login that is good on just about any unix
         variant), and transform it if not.
      
      4. For now, getkeys() at the SA will continue to return the old format
         (unless you supply version=2 argument) since we do not want to
         default to a keylist that most CMs will barf on.
      
      5. I have modified the AM code to transform the Geni AM version of the
         "users" argument into the above structure. Bottom line here, is
         that users of the AM interface will not actually need to do
         anything, although now multiple users are actually supported
         instead of ignored.
      
      Still to be done are the changes to the login services structure in
      the manifest. We have yet to settle on what these changes will look
      like, but since people generally supply valid login ids, you probably
      will not need this, since no transformation will take place.
      03c2107c
  27. 15 Apr, 2011 2 commits
  28. 11 Apr, 2011 1 commit
  29. 03 Apr, 2011 2 commits