1. 26 Oct, 2018 2 commits
    • Leigh B Stoller's avatar
      Changes to repo based profiles: · c40bf355
      Leigh B Stoller authored
      * Respect default branch at the origin; gitlab/guthub allows you to set
        the default branch on repo, which we ignoring, always using master.
        Now, we ask the remote for the default branch when we clone/update the
        repo and set that locally.
      
        Like gitlab/guthub, mark the default branch in the branchlist with a
        "default" badge so the user knows.
      
      * Changes to the timer that is asking if the repohash has changed (via a
        push hook), this has a race in it, and I have solved part of it. It is
        not a serious problem, just a UI annoyance I am working on
        fixing. Added a cheesy mechanism to make sure the timer is not running
        at the same time the user clicks on Update().
      c40bf355
    • Leigh B Stoller's avatar
      Add OPSVM_ENABLE changes; we do not need to do arplockdown on ops when · a6f79ed2
      Leigh B Stoller authored
      it is a jail, and it's mac is the same as boss.
      a6f79ed2
  2. 25 Oct, 2018 10 commits
    • Aleksander Maricq's avatar
      Add defs file for amaricq · 2f41610c
      Aleksander Maricq authored
      2f41610c
    • Leigh B Stoller's avatar
    • David Johnson's avatar
      Replace the Docker entrypoint/cmd/env implementation for augmented images. · a986a085
      David Johnson authored
      (Also, add support for user to change container entrypoint at runtime.
      Note also that the server side now stores the entrypoint/cmd/env
      attributes as base64url-encoded virt_node_attributes, so that we can
      just use the existing table_regex for those values.)
      
      We add a new runit service (/etc/service/dockerentrypoint) to
      clientside/tmcc/linux/docker/dockerfiles/common to handle the
      entrypoint/cmd/env/workingdir/user emulation.  From the comments:
      
        Docker's semantics for ENTRYPOINT/CMD vary depending on if those
        values are specified as arrays of string, or simple as single strings
        (which must be interpreted by /bin/sh -c).
      
        Handling all the quoting possibilities in the shell is a major pain.
        So, this script handles the basic stuff (in particular, sourcing env
        vars, because we want the shell to interpret them!) -- then execs our
        perl companion script (run.pl) to deal with the entrypoint/command
        files that libvnode_docker::emulabizeImage and
        libvnode_docker::vnodeCreate populated.
      
        libvnode_docker creates these single-line files in /etc/emulab/docker
        as either string:hexstr(<entrypoint-or-cmd-string>), or
        array:hexstr(a[0]),hexstr(a[1])... .  This allows us to preserve the
        original type of the image's entrypoint/cmd as well as the runtime
        entrypoint/cmd, and to preserve the exact bytes for the eventual final
        call to exec.
      
        The static files builtin to an emulabized image are
        /etc/emulab/docker/{entrypoint.image,cmd.image}, and those created
        dynamically at runtime if user changes the entrypoint or cmd are
        bind-mounted to /etc/emulab/docker{entrypoint.runtime,cmd.runtime}.
      
        Given the presence (or absence!) of those files, this script
        implements the emulation, based upon the content in those files.
      a986a085
    • David Johnson's avatar
      993e9f8c
    • David Johnson's avatar
      e48155a7
    • Mike Hibler's avatar
      Tweaks for 2018Q4 port set. · f3dc1bfe
      Mike Hibler authored
      f3dc1bfe
    • Leigh B Stoller's avatar
      Minor fix to repo based profile update. · 671c9a48
      Leigh B Stoller authored
      671c9a48
    • Leigh B Stoller's avatar
      Turn on image tracking. · d43e6a81
      Leigh B Stoller authored
      d43e6a81
    • Mike Hibler's avatar
    • Mike Hibler's avatar
      Introduce a full port of m2crypto rather than a wrapper. · 7257198b
      Mike Hibler authored
      The full port is fixed at version 0.29.1. The latest version that was
      wraped, version 0.30.1 has problems with unicode to "string" conversions.
      This explicitly caused an exception from the m2crypto SWIG stubs for libssl.
      Even after fixing that, we still could not verify a certificate due to apparent
      missing chars in strings.
      7257198b
  3. 24 Oct, 2018 3 commits
    • Leigh B Stoller's avatar
      Fixes for DeleteNodes(): · c14472f9
      Leigh B Stoller authored
      * When deleting a lan can there is only one interface left, need to go
        back and delete the interface from the last node. Else its a malformed
        rpsec (which we have been ignoring), but it was passing through to the
        manifest, which made it a malformed manifest.
      
      * But a later bug was causing that now removed interface to sneak back
        in via the old copy of the manifest in the database.
      
      * Also fix a bug that was causing multiple versions of the site_info
        element to get inserted during an update.
      
      * Remove code that updates the manifest in the DB, use the existing
        Aggregate->UpdateManifest() method instead.
      c14472f9
    • Mike Hibler's avatar
      Changes for Arduino I did a while back. · c2387c9b
      Mike Hibler authored
      Avoid gratuituous serial line signal changes when opening up the USB
      device for the Arduino. Otherwise, the Arduino will reset its state.
      c2387c9b
    • Leigh B Stoller's avatar
      Minor fix; we let users delete profiles (or versions) while there is an · e234b170
      Leigh B Stoller authored
      experiment running that uses that profile. A small bug here prevented
      the Terminate button from getting enabled. In general though, I wonder
      if we should not allow a profile to be deleted while its instantiated. :-)
      e234b170
  4. 23 Oct, 2018 10 commits
  5. 22 Oct, 2018 1 commit
  6. 16 Oct, 2018 1 commit
  7. 15 Oct, 2018 1 commit
  8. 11 Oct, 2018 5 commits
  9. 10 Oct, 2018 5 commits
  10. 09 Oct, 2018 1 commit
  11. 08 Oct, 2018 1 commit