1. 28 Jun, 2013 1 commit
  2. 04 Jun, 2013 1 commit
  3. 31 May, 2013 1 commit
  4. 28 May, 2013 1 commit
  5. 23 May, 2013 2 commits
  6. 15 May, 2013 1 commit
  7. 14 May, 2013 1 commit
    • Leigh B Stoller's avatar
      Changes to support high vlans on individual wires. · 5a2e0415
      Leigh B Stoller authored
      Utah has rewired some of the its pc3000s to a procurve, which supports
      vlans > 1024. Since we do not have link features and desires, we need
      to trick assign by using a different link type on the wire, in both
      the ptop and vtop. The vtop looks for a vlan reserved tag greater then
      1024, and changes the linktype to ethernet-highvlan. In ptopgen we
      look for an attribute on the switch that says it can do highvlans, and
      add that linktype for any wire attached it.
      5a2e0415
  8. 02 May, 2013 1 commit
  9. 30 Apr, 2013 4 commits
    • Kirk Webb's avatar
    • Kirk Webb's avatar
      Add complete local node storage support from parser down to tcmd. · dab52801
      Kirk Webb authored
      Doing this required adding columns to the virt and physical blockstores
      tables to mark the attributes that will be considered for mapping.
      Unmarked entries just flow through to the client-side.
      
      This commit also introduces filesystem support in the form of passing
      through a mount point to the client-side.  It is left to the client to
      decide what filesystem and fs options to use to setup the space, including
      any logical volume aggregation required to support the request.
      dab52801
    • Kirk Webb's avatar
      Parser hacks for blockstores · bb2563cf
      Kirk Webb authored
      * Translate bandwidth spec "~" to 10Kbps, and complain if any other value
        is used on a lan with blockstores.
      
      * Allow blockstores to be fixed to nodes.  Shunt through cases where the
        node a blockstore is fixed to isn't a blockstore pseudo-VM via a
        features / desires hack.  We do this to avoid having a more heavyweight
        blockstore pseudo-VM representation show up when users just want more
        local disk space setup on their nodes.
      bb2563cf
    • Leigh B Stoller's avatar
      Add physical memory accounting for openvz/xen nodes. The total · 11752432
      Leigh B Stoller authored
      amount a physical has is stored in the node types table, and the
      per-vm memory requirement is stored in the nodes table. ptopgen
      adds up usage, and subtracts from the total for the ptop file.
      The vtop number comes from a virt_node_attribute table, and we
      pass this through to the client side. Note that this is less
      important for openvz, more so for XEN.
      
      In the NS file:
      
      	tb-set-node-memory-size $node 1024
      
      Number is in MBs. The mapper defaults this to 128 for openvz and 256
      for xen. Maximum is hardwired to 256 and 512 respectively. Need to
      think about a good way to configure this in.
      11752432
  10. 07 Apr, 2013 1 commit
  11. 05 Apr, 2013 1 commit
  12. 18 Mar, 2013 9 commits
  13. 08 Mar, 2013 2 commits
  14. 01 Mar, 2013 2 commits
    • Leigh B Stoller's avatar
      Add a check to prevent a link or lan between a VM and a physical node, · 05cebed1
      Leigh B Stoller authored
      if the OS on the physical node does not support linkdelays.  Most OS
      do not, and it is wrong to allow this to happen since traffic at the
      physical host will not be subject to shaping. I doubt this happens
      very often, but it was on a Geni acceptance test, wich was showing
      asymetric behavour when testing bw.
      
      Giant Caveat: This will do the right thing on the Geni racks, but on
      Emulab and perhaps other clusters it might not. That is because Utah
      has some node types with both 100Mb and 1Gb interfaces, and as far are
      the mapper is concerned, these links do not need to be shaped if you
      ask for a 100Mb link. So we do not do the check and the BW will not be
      correct. I think there is a way to deal with this, but I am not sure
      yet, and I need to get this fix in so it can go to the racks.
      05cebed1
    • Kirk Webb's avatar
  15. 10 Jan, 2013 2 commits
  16. 04 Oct, 2012 1 commit
  17. 03 Oct, 2012 1 commit
  18. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* state...
      6df609a9
  19. 14 Sep, 2012 1 commit
  20. 04 Sep, 2012 1 commit
  21. 29 Aug, 2012 2 commits
  22. 27 Aug, 2012 2 commits
    • Leigh B Stoller's avatar
      Add support for experimental networks on the control network. · df048b11
      Leigh B Stoller authored
      So what if your testbed has a control network but no experimental
      network? In the past you were SOL, but with this commit you can now
      create links and lans on the control network that look just like
      an experimental network link/lan.
      
      To make this work, ptopgen sports a new option (-C) that will put the
      control network links and wires and switches into the ptop file.
      
      libvtop generally operates as normal, but need to arrange for the
      physical ports to be put into dual tag/trunk mode, where the native
      vlan is the Control network. This is done with by setting attributes
      on the lan table entry that indicate dual and what to use for the
      native vlan. snmpit looks for these attributes.
      
      There are a couple of places that use the stack name (Control or
      Experiment) to determine if a vlan is control or experimental. This is
      not longer truu, and so need to use an attribute in the lan table
      entry. 
      
      The last bit of the puzzle is that snmpit has to be careful when
      disabling trunking on these ports. When this happens, all vlans are
      cleard from the ports (by the device layer), including the Control
      network itself, which would make the node unreachable. I had to add
      some special cases to watch for that, and return the ports to the
      control network.
      
      To turn this on, create a ControlNetVlans and enable it. The mapper
      looks for this and passes the -C argument to ptopgen.
      
      Nothing special in the NS file, except you have to turn on vlan
      encapsulation; tb-set-vlan-emulation vlan
      
      No delay nodes, but linkdelays work okay. Works for openvz containers
      as well.
      df048b11
    • Leigh B Stoller's avatar
      Do not rely on nextosid when what we really need to use is · 083db958
      Leigh B Stoller authored
      def_parentosid, since that is how ptopgen operates.
      083db958
  23. 01 Aug, 2012 1 commit
    • Leigh B Stoller's avatar
      This commit adds some simple support for using the Infiniband on the · 997b21b5
      Leigh B Stoller authored
      Probe Cluster. The problem is that the IFB is a shared network that
      every node attaches to, which can looks like an ethernet device that
      can ifconfig'ed. In other words, one big lan.
      
      But we still want the user to be able to create a lan so that they can
      interact with it in thei NS file like any other network.
      
      The NS syntax is:
      
      	set lan2 [$ns make-lan "node1 node2 node3" * 0ms]
      	tb-set-switch-fabric $lan2 "infiniband"
      
      The switch fabric tells the backend to do IP assignment for the
      specific global network. Yes, I tried to be a little but general
      purpose. Lets see how this actually turns out.
      
      This first commit treats the fabric as a single big lan on the same
      subnet.
      
      NOTE 1: Since the unroutable IP space is kinda small, but the Probe
      Cluster is really big, we can easily run out of bits if we tried to do
      assignment on virtual topos. Instead, fabrics get their IP allocation
      at swapin time, and the allocations are deleted when the experim...
      997b21b5