1. 17 Aug, 2018 1 commit
  2. 30 Jul, 2018 3 commits
  3. 18 May, 2018 1 commit
  4. 05 Dec, 2017 1 commit
  5. 06 Jul, 2017 1 commit
  6. 03 Jul, 2017 1 commit
  7. 19 Jun, 2017 1 commit
  8. 13 Apr, 2017 1 commit
  9. 10 Feb, 2017 1 commit
    • Mike Hibler's avatar
      It is Cleanup Friday! · f624f158
      Mike Hibler authored
      Get rid of ELVIN_COMPAT and CONFIG_OPSVM from elabinelab land.
      These options still exist throughout the install code, didn't touch that.
      f624f158
  10. 01 Feb, 2017 1 commit
  11. 29 Dec, 2016 1 commit
    • Mike Hibler's avatar
      Modernize elabinelab and Emulab install support a bit. · f7e53243
      Mike Hibler authored
      Support FreeBSD 10.3. We will need to be moving to this before long
      as 10.2 EOLs in two days.
      
      Support setup of "Emulab-aware" ZFS use in install scripts. Note that
      the core support code was already done (WITHZFS, WITHAMD). Mostly this
      involves changes to setup either amd (WITHAMD==1) or autofs (WITHAMD==0)
      on the boss node and to NOT add mounts of /{users,groups,proj} to
      /etc/fstab. We still need to add a section to the install documentation
      about setting up a zpool for Emulab to use. There was also a fix to the
      firstuser script which did not do the account setup correctly.
      
      Support setup of ZFS in elabinelab. The elabinelab attributes CONFIG_ZFS
      and CONFIG_AUTOFS are used to convey intent here. Currently they can only
      be used in an "ops+fs" config (e.g., the standard boss and ops config,
      NOT the seperate fs node config). It should work with either the physical
      or virtual node setups:
      
      * For the physical node setup, we actually use local blockstores in the
        ops node config: a SYSVOL blockstore for /usr/testbed and a tiny 1Mib
        NONSYSVOL blockstore. The latter blockstore is not actually used, we
        just make it to force setup of a ZFS zpool which we then use for the
        inner elab.
      
      * For the virtual node setup, we just identify the virtual EXTRADISK
        intended for "/q" and create a zpool on that device.
      
      I would like to change all physical elabinelab setups to use blockstors
      rather than the current hacky mkextrafs usage. But that is a task for
      another day.
      
      Finally, a couple of random changes in elabinelab code: change the
      CentOS image downloaded to CENTOS7-64-STD, increased the default sizes
      of the EXTRADISKS used in the VM config.
      f7e53243
  12. 23 Jun, 2016 1 commit
  13. 17 Aug, 2015 1 commit
  14. 30 Jun, 2015 1 commit
  15. 25 Jun, 2015 1 commit
    • Mike Hibler's avatar
      Don't do the named_wait thing on 10.1. · 1fb1cf20
      Mike Hibler authored
      I had added use of this feature to make startup pause until the name
      server was responding to avoid transient failures in elabinelab with
      an "inner control net". But this feature does not work with a firewall
      as it tries to do the named wait before any firewall rules have been loaded.
      1fb1cf20
  16. 24 Jun, 2015 1 commit
    • Mike Hibler's avatar
      Updates for new FreeBSD 10.1 based servers. · 480fdc70
      Mike Hibler authored
      Big changes a comin' to try to get us back on the supported path.
      
       * perl 5.14 -> 5.20
       * mysql 5.1 -> 5.5
       * php 5.4   -> 5.6
       * tcl 8.4   -> 8.6
       * number of vim patches up to 683.
      
      Not everything tested yet, but getting there.
      
      Specific changes:
      
       * New install/ports directory. New packages for FreeBSD 10.1 are version
         6.1. Cleaned up the ports' Makefiles getting rid of conditionals for
         all older versions. Also got rid of ports we don't use. Old ports tree
         is now install/oports.
      
       * Install script changes. Make sure /usr/bin/perl and /usr/local/bin/python
         links exist. Ports no longer make these but we use them in '#!'. Changes
         to mysql install and startup script--mysql has changed a LOT since we did
         the support in 4.x. Create syslog entry for named.log. Make sure php.conf
         loads the legacy "mysql" module rather than using "mysqli".
      
       * Elabinelab support. reflect new packages, remove all old packages
         (except perl) before installing new versions, install "extras" package,
         make sure sendmail cert get regenerated, make sure /usr/bin/perl link
         exists, make sure /usr/local/bin/python link exists.
      
       * Custom ports. otcl and xerces-c2 have both been removed from the ports
         tree as of Q2 2015. ipmitool-devel is a port for the latest version of
         ipmitool. The FreeBSD port is still a rev behind here. We need the
         newer version as it appears to make our SOL consoles more stable.
      
       * Random. Fixed prerender as neato output has changed again. Tweak to
         sslxmlrpc_server to reflect change in an underlying library. Tweak to
         db/libdb.py.in to turn on autocommit which matters now as mysql 5.5 will
         hang on a metadata lock otherwise. Remade eventsys perl/python stubs
         with SWIG 2.0. SWIG 1.3 did not produce working stubs for perl 5.20.
      
      Specific un-changes:
      
       * Apache is still at 2.2. I lack the guts and skilz to upgrade to 2.4.
      
       * Xerces library is still at (now unsupported) 2.8. Assign will need
         changes before we can move to 3.x.
      
       * Python is still 2.7.
      
      Thanks to Keith Sklower for all the work he did converting ports!
      480fdc70
  17. 08 Oct, 2014 1 commit
  18. 12 Jul, 2014 1 commit
    • Mike Hibler's avatar
      Make sure we use -i for sendmail when we pipe into it. · 355f5aa8
      Mike Hibler authored
      This prevents a line with a single "." from meaning EOF to sendmail.
      How arcane!
      
      I discovered this when I ran a create_image and I didn't get the complete
      log mailed to me. This is because create_image did a frisbee download of an
      image with a single chunk, which of course printed out:
      
        Using Multicast 235.252.1.187
        Joined the team after 0 sec. ID is 1586355915. File is 1 chunks (963200 bytes)
        .
      
      Fortunately, "arcane" is my middle name, so it didn't take me long to find
      this...
      355f5aa8
  19. 15 May, 2014 1 commit
  20. 06 May, 2014 1 commit
  21. 25 Apr, 2014 1 commit
  22. 24 Apr, 2014 1 commit
  23. 03 Apr, 2014 1 commit
    • Mike Hibler's avatar
      Support for FreeBSD 10.x boss/ops. · e81136ad
      Mike Hibler authored
      The biggest changes were related to 10.0's replacing gcc with clang
      and the switch to a new package system. The former required various
      fixes to Makefiles that hardwired "gcc" and also missing prototypes
      in source files that clang is particularly obnoxious about.
      
      There was also accomodating the normal evolution of the ports tree.
      New variables were needed in many of the Makefiles for this. Hopefully,
      all the changes I made are backward compatible, but I don't actually
      care that much since I hope to never, ever have to remake those older
      packages! A new emulab version of the m2crypto port was needed to
      reflect that m2crypto is no longer installed as an .egg file.
      
      Casualties:
      
        * Emulab assign. As of this commit, assign does not build with
          clang. It will build, but immediately core dumps if built with
          a gcc port (gcc46 below). THIS NEEDS TO BE FIXED!
      
        * Emulab nsverify. This requires building a pure ns-2.34, which
          is old and does not compile with clang. You will need to set
          NSVERIFY=0 in your defs file. I did this in defs-elabinelab
          (iff FBSD==10) but no where else right now.
      
        * Bind in the base distro. Bind is no longer part of FreeBSD
          (it has been replaced with something called "unbound"). So we
          install bind99 from a port and we make the /etc/namedb symlink
          to /usr/local/etc/namedb which is where it now lives.
      
        * Perl 5.12. It has been totally removed from the ports tree.
          We now install 5.14, the next-most obsolete version of Perl!
      
        * pkg_{add,delete,info}. As mentioned, the packages tools have
          changed. For the most part "pkg <cmd>" is the same as "pkg_<cmd>"
          but not always. This required considerable violence in the
          install/phases code. But it is actually cleaner now.
      
        * GCC in the base distro. I added installation of the gcc46 port
          to the boss and ops meta packages, just for old-times sake
          (we might wind up needing it, if still more stuff doesn't work
          with clang).
      e81136ad
  24. 04 Mar, 2014 1 commit
  25. 17 Jan, 2014 1 commit
  26. 02 Jan, 2014 1 commit
    • Mike Hibler's avatar
      Attempt to auto-configure NTP for server machines at install time. · cd4a03a5
      Mike Hibler authored
      The template configurations in the new ntpd subdir also address the
      recent NTP amplification attacks that have been going on recently.
      
      NTP configuration is controlled by a few defs-* variables:
      
      NTPSERVER: boss|ops|fs|<external-server-name-or-IP>
        Default: "ops"
        Normally, one of boss, ops, or fs is designated as a local NTP server
        but this can be set to a fully qualified name of some other machine.
        If NTPSERVER is set to an external server, then boss/ops/fs are made
        clients of that server just as any testbed node is.
      
      EXTERNAL_NTPSERVER[1-4]: <external-server-name-or-IP>
        Default: "[0-3].pool.ntp.org"
        If NTPSERVER is one of boss/ops/fs, then these values are used as the
        upstream servers for the local server. These can be changed to four of
        your favorite NTP servers.
      
      NTPDRIFTFILE: <path>
        Default: "/var/db/ntp.drift"
        If NTPSERVER is one of boss/ops/fs, then this is the name of the drift
        file for the local server.
      cd4a03a5
  27. 16 Dec, 2013 1 commit
    • Mike Hibler's avatar
      Changes to support non-racy NFS exports. · 4ddc74c2
      Mike Hibler authored
      As of FreeBSD 9, the race condition in mountd has been addressed.
      We automatically (based on the OS running) add the option to mountd (-S)
      as part of ops-install. There is also a configuration variable, NFSRACY,
      that we auto-detect and set in elabinelab setup. For regular installs,
      you need to set this manually in the defs-* file. Note that the setting
      in the defs file does not affect very much. It is passed to the client-side
      which uses it in one copy function (used as a fall back for getting the
      topology file).
      
      There are still a couple of places in the Emulab code where handling
      the race condition is hardwired into the code (most notably, imagezip).
      These remain.
      4ddc74c2
  28. 06 Nov, 2013 1 commit
  29. 12 Oct, 2013 1 commit
  30. 04 Jun, 2013 1 commit
    • Mike Hibler's avatar
      Add named variables to rc.conf to force wait til "boss.emulab.net" resolves. · adc7c1ef
      Mike Hibler authored
      An inner control net for which we fix the speed, apparently takes longer
      to come ready, causing early rc.d scripts like ntpd and mfrisbeed to fail
      because they cannot reach boss.emulab.net to resolve names. These standard
      variables tell the rc.d/named script to not return until it can resolve
      boss.emulab.net, thus preventing the other scripts from running til then.
      adc7c1ef
  31. 10 Apr, 2013 2 commits
  32. 19 Mar, 2013 1 commit
  33. 21 Dec, 2012 1 commit
  34. 11 Dec, 2012 1 commit
  35. 10 Dec, 2012 1 commit
  36. 07 Dec, 2012 1 commit
  37. 06 Dec, 2012 1 commit
    • Mike Hibler's avatar
      Support FreeBSD 8.3 for boss/ops install. · d6196ab5
      Mike Hibler authored
      Uses the "5.0" package set (like FBSD 9.0, but unlike FBSD 8.2) which
      includes perl 5.12, python 2.7 and apache 2.22. This is what will be
      installed on our boss and ops later this month.
      
      Some additional updates to the meta ports as well to make them "work better".
      d6196ab5