1. 05 Jun, 2018 2 commits
    • Elijah Grubb's avatar
      Add quote escaping regex · 43817132
      Elijah Grubb authored
      43817132
    • Elijah Grubb's avatar
      Added default USER, HOME, and PATH environment var · d6075931
      Elijah Grubb authored
      USER is picked as the user specified by the Docker config
      or if that is empty is defaulted to root. If the USER is root
      then HOME is defaulted to /root otherwise it is set to the
      HOME found when running `env` in a sample of the container.
      
      PATH is set to a normal sane default.
      
      Any of these environment variables can be overridden in the
      Dockerfile or using profile parameters at any time. This is
      just to help users who rely on Docker providing defaults.
      d6075931
  2. 01 Jun, 2018 1 commit
    • David Johnson's avatar
      Add more docker clientside tools. · b0f17e8e
      David Johnson authored
      Especially libvnode_docker::analyzeImageWithBusyboxCommand, which runs
      the busybox-static binary from the root context in the container with
      the given command (and extra container run API configuration).
      b0f17e8e
  3. 31 May, 2018 1 commit
  4. 18 May, 2018 6 commits
  5. 09 May, 2018 3 commits
    • Elijah Grubb's avatar
      Fixing errors in emulabizing Docker images · b6e0952e
      Elijah Grubb authored
      Fixed issue with cmd and entrypoint values being set
      incorrectly
      
      Fixed issue with rcS init.d process negatively hurting
      our networking settings.
      
      Better handling of whitespace in Environment variable
      values.
      
      Squashed commit of the following:
      
      commit 9aff9b12aa6a60ebb66f10f0a044bf2288b492be
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Wed May 9 19:15:40 2018 -0600
      
          Handling environment variable values with whitespace
      
      commit c9a16bbd53c183d7f8259d878efb0be07bc8703c
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Wed May 9 17:07:43 2018 -0600
      
          Fixing racing issue and rcs issue
      
      commit 10bf4517c419fc82f89d084c4f45d60c05a67834
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Wed May 9 16:00:45 2018 -0600
      
          Setting cmd to be empty and entrypoint to be runit
      b6e0952e
    • Elijah Grubb's avatar
      Fixing bugs to support entrypoint/cmd from Docker · ff25cdf8
      Elijah Grubb authored
      Fixed issue involving alternate users being set in
      the image's Dockerfile.
      
      Fixed issue with accurate permissions to run runit service.
      
      Fixed issue with quotes to properly handle sh commands.
      
      Fixed issue where Docker images based on scratch are not in
      an array like other Docker images, so config attributes are
      preserved.
      ff25cdf8
    • David Johnson's avatar
  6. 08 May, 2018 5 commits
  7. 07 May, 2018 4 commits
    • David Johnson's avatar
      Do not run ddjikstra while holding the global lock in docker clientside. · ee3694f4
      David Johnson authored
      (All we need to do while holding the global lock is allocated IFBs; the
      generation of routing scripts and traffic shaping scripts is both
      unlikely to fail and potentially slow due to running djikstra.  So, also
      let the vnode early release prior to those things, immediately after IFB
      allocation.)
      ee3694f4
    • David Johnson's avatar
    • David Johnson's avatar
      Fix docker vnode rebuilds; return supporting image path info from tmcd. · 186c6b7b
      David Johnson authored
      Docker vnodes require the full image path anytime the vnode is created,
      even if the image in question already exists on the vhost.  This is
      because emulab custom docker images are fully-qualified with their
      hosting private registry, so we need that detail even if we're not
      re-pulling the image; i.e., if the vnode gets destroyed and recreated
      after its initial reload.
      186c6b7b
    • David Johnson's avatar
      Improve docker clientside net setup: hold global lock less. · 1f5ff983
      David Johnson authored
      Prior to this commit, I had reused all the libvnode:: network functions,
      but that requires these system-wide indexes to be built (i.e. bridges,
      ifaces) before using the helpers -- and on any network state change.
      Those indexing functions take a long time on heavily-loaded systems
      (i.e., 5k processes, hundreds of ifaces).  The helpers become very fast;
      but for the case of large numbers of vnodes on one vhost, it is better
      to hold the global lock for less time, and pay a higher per-helper cost,
      instead of making use of a nicely-indexed cache.
      
      So now we cache nothing and (hopefully) use /sys intelligently to avoid
      forking unnecessarily.
      1f5ff983
  8. 06 May, 2018 2 commits
  9. 05 May, 2018 3 commits
  10. 04 May, 2018 3 commits
  11. 03 May, 2018 3 commits
  12. 18 Apr, 2018 2 commits
    • David Johnson's avatar
      7b8f84c0
    • Elijah Grubb's avatar
      Emulab Docker CMD and Entrypoint to runit services · eebbe96f
      Elijah Grubb authored
      This adds to the preparation of Docker images running
      on the Emulab system by creating a new runit service
      handling the details of their CMD and Entrypoint capabilities.
      This scripting also sets the scaffolding for custom
      CMDs and environment variables to be set by the user
      as a part of their profile parameters.
      
      Squashed commit of the following:
      
      commit 50ad95137f138f663ff826a16857911296686cf6
      Merge: 24f72ab8 38f254fd
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Wed Apr 18 03:35:09 2018 -0600
      
          Merge branch 'master' into docker-entrypoint
      
      commit 24f72ab8
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Wed Apr 4 02:30:10 2018 -0600
      
          Implemented piping of docker profile parameters
      
      commit 52ad871b
      Merge: ce34a36c b4679058
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Wed Mar 28 10:01:45 2018 -0600
      
          Merge remote-tracking branch 'origin/master' into docker-entrypoint
      
      commit ce34a36c
      Author: Elijah Grubb <u0894728@utah.edu>
      Date:   Mon Mar 26 08:49:15 2018 -0600
      
          Implemented runit service for docker entrypoint
      eebbe96f
  13. 20 Feb, 2018 1 commit
  14. 07 Feb, 2018 1 commit
  15. 06 Feb, 2018 1 commit
  16. 19 Jan, 2018 2 commits