1. 20 Jan, 2016 2 commits
  2. 15 Jan, 2016 1 commit
  3. 14 Jan, 2016 6 commits
  4. 12 Jan, 2016 1 commit
  5. 11 Jan, 2016 1 commit
  6. 09 Jan, 2016 4 commits
  7. 08 Jan, 2016 2 commits
  8. 06 Jan, 2016 9 commits
    • Leigh Stoller's avatar
      Nuts, my approach for catching early linktest errors is not going to work · 1f145671
      Leigh Stoller authored
      all the time, so bail on that and fallback to reporting errors solely
      though the spew log(s).
      1f145671
    • Leigh Stoller's avatar
      0bff7406
    • Leigh Stoller's avatar
      Minor bug fix; restore the progress bar. · 6d14d4e7
      Leigh Stoller authored
      6d14d4e7
    • Leigh Stoller's avatar
      3980979d
    • Leigh Stoller's avatar
      When terminating an experiment, it is not an error if the slice is already · 5b2cf1c4
      Leigh Stoller authored
      gone at the remote cluster.
      5b2cf1c4
    • Leigh Stoller's avatar
      Add linktest support to the portal. Work in progress. · 2ed46ed2
      Leigh Stoller authored
      * A new Start Linktest button is in the bottom right of the topology tab.
      
      * When started, we create a new tab to display the linktest output
        (currently the unmodified output from Classic emulab linktest). The state
        of the experiment is change to linktest to prevent further action on the
        experiment, except of course for stop linktest.
      
      * When linktest is running, there is a Stop Linktest button in the upper
        collapse panel. This will stop linktest in its tracks, but the tabs
        remain. When you kill a linktest tab while linktest is running, linktest
        continues running, you have to use the Stop button.
      
      * I have added a small help document to the templates directory that the
        user is shown when they click on the ? mark in the linktest modal.
        Written in markdown format, it is a culling of text from the Emulab wiki
        linktest page.
      
      Caveats:
      
      * Because of polling, there is a short (5-15 seconds) delay before the
        experiment is returned to the ready state. Not much to do about this in a
        polling world. Wouldn't callbacks be nice?
      
      * Linktest can be used on a multisite topology, although cross site links
        cannot be tested at this point. Links/Lans that are contained entirely to
        one site or the other are testable though. We build a new tab for each
        site to spew the linktest output.
      2ed46ed2
    • Leigh Stoller's avatar
      Minor bug fix. · f7f97d7f
      Leigh Stoller authored
      f7f97d7f
    • Leigh Stoller's avatar
      Export linktest via the CM API. · 58640e2c
      Leigh Stoller authored
      * Three actions are exported; start, stop, and status. The last is cause we
        have to poll to determine when linktest has actually finished or stopped.
        I hate all this polling.
      
      * For start, linktest can be performed synchronously, which is fine on a
        small experiment, but in general you want to use the async option and
        check back later. When using async, we return the spewlog URL to the
        caller so that linktest can be monitored.
      
      * A couple of minor changes to linktest itself for using a spew log.
      
      * Some simple test rspecs and a linktest.py driver.
      58640e2c
    • Leigh Stoller's avatar
      Minor bug fix. · 8aeed2be
      Leigh Stoller authored
      8aeed2be
  9. 04 Jan, 2016 7 commits
  10. 01 Jan, 2016 1 commit
  11. 29 Dec, 2015 1 commit
  12. 24 Dec, 2015 1 commit
  13. 23 Dec, 2015 4 commits
    • Gary Wong's avatar
      Try sending the entire manifest to the client, even if it's really big. · f86a1ad0
      Gary Wong authored
      Will this trivial fix really fix "geni-get manifest"?  If so, I
      should have done it long ago!
      f86a1ad0
    • Keith Downie's avatar
      Fixes for a few picker issues · 7e931213
      Keith Downie authored
      7e931213
    • Leigh Stoller's avatar
      When PROTOGENI_LOCALUSER is on, we have to do an additional · e92964e7
      Leigh Stoller authored
      Image->AccessCheck() to see if the user is allowed to use the image
      via the image_permissions table.
      e92964e7
    • Leigh Stoller's avatar
      Change to traffic shaping via the link property statements (which turn on · 0d43247a
      Leigh Stoller authored
      end node shaping, this change does not affect bridge shaping).
      
      First off, duplex links are not affected. I expect that duplex links are
      the majority usage anyway. What I did change is the way we insert the
      virt_lans table entries to be exactly like what the NS file does. This will
      not affect the delays, but it makes linktest happier (see below) when
      testing duplex links.
      
      For lans (more then two nodes) we were always broken. Consider what we have
      now: 
      
       <link client_id="mylan">
         <interface_ref client_id="node1"/>
         <interface_ref client_id="node2"/>
         <interface_ref client_id="node3"/>
         <property source_id="node1" dest_id="node2"
                 capacity="50000" latency="15"/>
         <property source_id="node1" dest_id="node3"
                 capacity="50000" latency="15"/>
         <property source_id="node2" dest_id="node1"
                 capacity="50000" latency="15"/>
         <property source_id="node3" dest_id="node1"
                 capacity="50000" latency="15"/>
         <property source_id="node2" dest_id="node3"
                 capacity="50000" latency="15"/>
         <property source_id="node3" dest_id="node2"
                 capacity="50000" latency="15"/>
      </link>
      
      This cannot actually be supported by the virtual topology in the database.
      
      In Emulab the virt_lans table allows you to specify for each node, the
      bw/latency/loss going "from the lan to the node" and rbw/rlatency/rloss
      "going from the node to the lan". Think of the "lan" as a fake node in the
      center of a star.
      
                              N1
      		   bw   |  | rbw
      		delay   |  | rdelay
      		 loss   |  | rloss
      			|  |
                 N2  ------- LAN ------- N3
                     -------     -------
      
      So one of the lines is "from the LAN node to N1" and the other line is
      "from N1 to the LAN node". Ditto for N2 and N3.
      
      In other words, you cannot actually specify a different set of parameters
      from a node to each of the other nodes, as the pairwise properties above
      imply.  A translation of what we actually do is more like this:
      
         <property source_id="node1" dest_id="mylan"
                 capacity="50000" latency="15"/>
         <property source_id="mylan" dest_id="node1"
                 capacity="50000" latency="15"/>
         <property source_id="node2" dest_id="mylan"
                 capacity="50000" latency="15"/>
         <property source_id="mylan" dest_id="node2"
                 capacity="50000" latency="15"/>
         <property source_id="node3" dest_id="mylan"
                 capacity="50000" latency="15"/>
         <property source_id="mylan" dest_id="node3"
                 capacity="50000" latency="15"/>
      
      Which allows you to set the simplex parameters for each node TO/FROM THE
      LAN.  Each node can a bw/latency/loss to the LAN and a different
      bw/latency/loss from the LAN. This is supported in the classic NS file
      syntax, although this is not what a simple "make-lan" does; there is
      currently no syntax to support that in Geni; a NS file make-lan statement
      that sets the delay to 15 means that the delay is 7.5 to the LAN and 7.5
      from the LAN, so the delay between two nodes is 15. In the NS syntax, once
      you start messing with per-node shaping settings, you have to do it like
      above. So in the above example, the delay between any two nodes is 30ms.
      
      But the above is a little too confusing, so rather then doing simplex
      parameters I implemented duplex parameters:
      
         <property source_id="node1" dest_id="mylan"
                 capacity="50000" latency="15"/>
         <property source_id="node2" dest_id="mylan"
                 capacity="50000" latency="15"/>
         <property source_id="node3" dest_id="mylan"
                 capacity="50000" latency="15"/>
      
      If someday we think that people need simplex parameters for each node in a
      lan, we can add that.
      
      As for linktest ... I added the linktest agent to Geni experiments, and I
      set the sync_server default so that linktest can actually run. In another
      commit I will push up the change that export linktest from the CM
      interface, as well as portal changes to use it.
      0d43247a