1. 26 Mar, 2018 1 commit
  2. 24 Apr, 2017 1 commit
  3. 14 Dec, 2015 1 commit
    • David Johnson's avatar
      Systemd units for testbed and tbprepare; consistent systemd install. · fcd7f0d6
      David Johnson authored
      Currently ubuntu15 and centos7 are our only systemd-based OSes; they
      both call into the clientside/tmcc/linux generic Makefile with the
      right magic bits to get the systemd sysetc-install/remove targets.
      For now, systemd is effectively the same on centos7 or ubuntu15, so
      we use the same scripts and install strategy from tmcc/linux for
      both (except for ntpd on centos7, which stays as it was).
      
      I used the same testbed/tbprepare sysv init scripts in tmcc/linux,
      but I installed them in BINDIR/initscripts in a lame attempt to
      avoid confusion ;).  I modified the testbed script slightly so
      it looks for a magic file in /etc/emulab/(uses-systemd) to know
      that systemd will start the testbed service, and that it should
      not get started from rc.local .  So those lines are now back in
      the generic linux testbed script -- just unused if the init is
      not systemd (in which case rc.local starts it).
      
      These units do print out to both the systemd journal and to the
      console.
      fcd7f0d6
  4. 01 Dec, 2015 1 commit
    • David Johnson's avatar
      Make systemd swap hack run on Ubuntu 15. · 6053a89b
      David Johnson authored
      So, the scripts are now in clientside/tmcc/linux since they're the same
      for any systemd-based Linux, and the centos7 and ubuntu15 makefiles
      install those files.
      
      Also had to improve fixup-fstab-swaps to handle the case where the / is
      something like /dev/disk/by-uuid/<UUID> which is a symlink to the real
      dev.  So try readlink -f to handle that.
      6053a89b
  5. 14 May, 2015 1 commit
    • David Johnson's avatar
      Ubuntu 15 support. · 2baf7655
      David Johnson authored
      Similar to Ubuntu 14, but new and different UIDs, and...
      
      systemd!  systemd has made it into Ubuntu.  This affects our control net
      discovery.  Our /etc/network/interfaces hack marks eth[0-9] as "auto".
      New Ubuntu versions have systemd (or upstart, if your Ubuntu 15 uses
      that -- our images will not) job that waits for any interfaces marked
      auto to come up, and doesn't timeout for 2 mins.  This doesn't work for
      us, because our use of auto is abuse :).
      
      So, we enter a new level of abuse.  We change the systemd unit
      dependencies, making the network-online.target service want (depend on)
      our special ifup-wait-emulab-cnet.service (which looks for /run/cnet to
      get written), instead of on ifup-wait-all-auto.service.  This means
      network-online.target happens as soon as the control net is up, which is
      the primary thing we're concerned about.
      
      Now, if experimenters would ever add their own special "auto" interfaces
      to /etc/network/interfaces, the rest of the startup scripts that depend
      on network-online.target could possibly race (although you would think
      that our control net discovery will be slower than any static
      configuration...).
      
      But for now, this solution appealed more that "faking" that eth[0-9] are
      all up by writing the right files --- or by finding a better mechanism
      instead of abusing "auto".
      2baf7655