1. 13 Nov, 2002 1 commit
  2. 12 Nov, 2002 2 commits
    • Mac Newbold's avatar
      b789fe8f
    • Mac Newbold's avatar
      Add tbshutdown daemon. Started from rc.setup right after we tell the · ceac4889
      Mac Newbold authored
      testbed we've rebooted. Immediately daemonizes, then sets a signal handler
      and sleeps forever. When it gets a signal to quit (on shutdown, reboot or
      going single-user), it sends a state transition to SHUTDOWN to the
      testbed. It installs into /etc/testbed/ .
      
      Important note:
      If you're going to use this in an image that runs the NORMAL state machine
      (instead of NORMALv1, MINIMAL, etc.), the SHUTDOWN state is called
      REBOOTING in that mode. Just change the appropriate line in tbshutdown,
      but don't commit the change, since further use of the NORMAL mode in new
      images is deprecated. Alternatively, you could change the image over to
      NORMALv1 by renaming all REBOOTING tags to SHUTDOWN and changing REBOOTED
      to TBSETUP.
      ceac4889
  3. 11 Nov, 2002 1 commit
  4. 08 Nov, 2002 3 commits
  5. 06 Nov, 2002 2 commits
    • Shashi Guruprasad's avatar
      NSE related changes: · 05bc3bd4
      Shashi Guruprasad authored
        - Fixes the routing problem
        - A new type "sim" has been created but not in the DB. node_types and
          nodes remain unchanged. This will change after we figure out how
          to represent in the DB the local multiple virtnodes in one phynode case
          The frontend tb_compat.tcl adds the sim type and ptopgen associates
          a huge number of sim nodes to all local PCs.
        - All simulated nodes go into one pc untill I finish coding the distributed
          nse case. Also, sim nodes go through assign but with an explicit
          "fix-node" directive in the top file. A random free pc is chosen using
          the avail script in assign_wrapper. If we don't fix node it, assign
          maps sim nodes to multiple phy nodes even when a valid all to one
          mapping is possible.
        - Syntax for nse:
      
         $ns make-simulated {
      
             set simnode1 [$ns node]
             set simnode2 [$ns node]
      
         }
         ...
      
         The old syntax
      
         set nsenode [$ns nsenode]
         $nsenode make-simulated {
         }
      
         is deprecated
      
        - All 38 frontend tests in the testsuite pass
      
        - A new table v2pmap has been added to handle multiple virt nodes to
          one phy node mapping. This is used in "tmcc hostnames" currently.
      
        - The phy node that is picked to run nse is loaded with a custom image
          FBSD45-NSE . This can use the default FBSD kernel if there is a mechanism
          to run at 1000HZ, have options IPFIREWALL_FORWARD and PERFMON turned on.
          The image is in the 'testbed' group. Do not delete this image.
      
        - Static routes now adds routes for the case dst == nexthop. The routing
          graph would be disconnected otherwise and I need to traverse this in
          assign_wrapper for nse. On the client side, such a route is filtered out in
          libsetup.pm
      
        - sim nodes are also correctly visualized
      05bc3bd4
    • Leigh B. Stoller's avatar
      Fix up regex problem that was created when the naming scheme for · 6df13ffe
      Leigh B. Stoller authored
      unnamed links was changed.
      6df13ffe
  6. 05 Nov, 2002 1 commit
  7. 28 Oct, 2002 1 commit
  8. 22 Oct, 2002 1 commit
    • Leigh B. Stoller's avatar
      * Add jailflag to arg list for all functions, which we get via · eb3e2cac
      Leigh B. Stoller authored
        iptonodeid. Currently, the only real change for jailflag is in
        doaccounts, which returns a normal accounts list for a jailed virtual
        node (pid,gid like local nodes), a set of tbadmin accounts for a
        physical node doing jails (so we can still log into any node even if
        its doing jails), and continues to do the old thing for widearea nodes
        not doing jails (pcremote_ok slot in projects table). Nasty, I know.
      
      * Add dotarball command which returns a tarball to a widearea node via
        ssl. The filename must be in the tarballs list for the node (vnode),
        and the file must be in the gid of the experiment, or be owned by the
        experiment creator. Last bit of paranoia is that the resolved path
        must live in one of /proj, /groups, or /users. In addition, all of the
        FS commands are wrapped so that an NFS hangup to ops will not wedge
        tmcd completely.
      
      * jailconfig command, which returns the current config for a jailed
        node so that mkjail can give the proper options to the jail command
        (requires Mike's hacks to the kernel and jail). Last 3 are hardwired
        as you can see, but will eventually come from the DB.
      
      		"PORTRANGE=\"%s,%s\"\n"
      		"SYSVIPC=1\n"
      		"INETRAW=1\n"
      		"BPFRO=1\n", row[0], row[1]);
      
      * Do not return any mounts for jail nodes until we figure out the SFS
        thing.
      
      * Change format of vnodelist so that when a node boots it determine if
        the vnodes that need to be started should be jailed or not.
      
      * Add nodeid command so that widearea nodes can find out their emulab
        ID; useful for cvsup.
      
      * Clear some compiler warnings Mac left behind.
      eb3e2cac
  9. 18 Oct, 2002 1 commit
    • Mac Newbold's avatar
      Merge the newstated branch with the main tree. · 5c961517
      Mac Newbold authored
      Changes to watch out for:
      
      - db calls that change boot info in nodes table are now calls to os_select
      
      - whenever you want to change a node's pxe boot info, or def or next boot
      osids or paths, use os_select.
      
      - when you need to wait for a node to reach some point in the boot process
      (like ISUP), check the state in the database using the lib calls
      
      - Proxydhcp now sends a BOOTING state for each node that it talks to.
      
      - OSs that don't send ISUP will have one generated for them by stated
      either when they ping (if they support ping) or immediately after they get
      to BOOTING.
      
      - States now have timeouts. Actions aren't currently carried out, but they
      will be soon. If you notice problems here, let me know... we're still
      tuning it. (Before all timeouts were set to "none" in the db)
      
      One temporary change:
      
      - While I make our new free node manager daemon (freed), all nodes are
      forced into reloading when they're nfreed and the calls to reset the os
      are disabled (that will move into freed).
      5c961517
  10. 17 Oct, 2002 1 commit
  11. 09 Oct, 2002 1 commit
  12. 28 Sep, 2002 1 commit
  13. 27 Sep, 2002 5 commits
    • Leigh B. Stoller's avatar
      Add timeout for tmcc call so that if the server cannot be contacted · 01e8ef33
      Leigh B. Stoller authored
      for some reason, fall back to using the existing config file. Don't
      want to hold up the boot forever ...
      01e8ef33
    • Leigh B. Stoller's avatar
      Add regex to leave the "refclock" lines alone, which look like · 3af1d4dd
      Leigh B. Stoller authored
      "server 127.127.xxx.xxx ..."
      3af1d4dd
    • Leigh B. Stoller's avatar
      4d55ff29
    • Leigh B. Stoller's avatar
      Add new ntpstart file, intended to wrap up ntpd startup code, after · b437e338
      Leigh B. Stoller authored
      first talking to tmcd to get the ntpdrift and ntp server/peer lists.
      This is a strict wrapper so it should be invoked from /etc/rc.conf
      like this:
      
      	xntpd_program="/usr/local/etc/emulab/ntpstart"
      	xntpd_flags="/usr/sbin/ntpd -p /var/run/ntpd.pid"
      
      which is to say that this program passes it entire argument list off
      to the shell once it sets up the config file. We fire off ntp no
      matter what happens though, and allow for no actual changes to the
      config file if tmcd does not provide anything.
      
      TMCD: Add ntpinfo and ntpdrift commands, as per Mike's specification.
      ntpinfo returns lines like:
      	SERVER=nnn.nnn.nnn.nnn
      	...
      	PEER=nnn.nnn.nnn.nnn
      	...
      	DRIFT=nnn.nn
      
      and "ntpdrift nnn.nn" allows the current drift setting to be placed
      into the DB, although thats not currently happening. In the DB,
      ntpdrift is a new float slot in the nodes table, that defaults to
      NULL. The servers/peers are stored in a new table that looks like
      this:
      
      	+---------+---------+--------+
      	| node_id | IP      | type   |
      	+---------+---------+--------+
      	| wa32    | 1.1.1.1 | server |
      	| wa32    | 1.1.1.2 | server |
      	| wa32    | 1.1.1.3 | peer   |
      	| wa32    | 1.1.1.4 | peer   |
      	+---------+---------+--------+
      b437e338
    • Mike Hibler's avatar
      create some BPF devices in the jail · 060b1649
      Mike Hibler authored
      060b1649
  14. 26 Sep, 2002 4 commits
  15. 25 Sep, 2002 3 commits
  16. 24 Sep, 2002 2 commits
  17. 20 Sep, 2002 2 commits
  18. 17 Sep, 2002 1 commit
  19. 12 Sep, 2002 3 commits
  20. 11 Sep, 2002 1 commit
  21. 10 Sep, 2002 3 commits