1. 06 Nov, 2002 1 commit
    • 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
  2. 05 Nov, 2002 1 commit
  3. 28 Oct, 2002 1 commit
  4. 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
  5. 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
  6. 09 Oct, 2002 1 commit
  7. 27 Sep, 2002 1 commit
    • 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
  8. 25 Sep, 2002 1 commit
  9. 10 Sep, 2002 1 commit
  10. 05 Sep, 2002 2 commits
  11. 03 Sep, 2002 1 commit
  12. 28 Aug, 2002 1 commit
  13. 27 Aug, 2002 2 commits
  14. 20 Aug, 2002 1 commit
  15. 19 Aug, 2002 2 commits
  16. 18 Aug, 2002 1 commit
  17. 15 Aug, 2002 1 commit
  18. 14 Aug, 2002 1 commit
  19. 13 Aug, 2002 2 commits
  20. 29 Jul, 2002 1 commit
  21. 26 Jul, 2002 1 commit
    • Leigh B. Stoller's avatar
      Hack in temporary permission stuff for remote nodes. Accounts are now · 5b297f80
      Leigh B. Stoller authored
      driven by new field in the project table called pcremote_ok, which is
      the set of remote node types that a project is allowed to have
      accounts on. When a node of that type checks in, match its type
      against the project table, and return accounts for everyone in all of
      the projects with that type listed in pcremote_ok.
      
      Kill the NOSHAREDEXPTS ifdefs in doaccounts since that stuff is dead
      for now.
      5b297f80
  22. 16 Jul, 2002 1 commit
  23. 12 Jul, 2002 1 commit
    • Leigh B. Stoller's avatar
      Fix for the problem Eric reported for this topology: · d04e2b59
      Leigh B. Stoller authored
      	uav <---> distrib <---> display
               ^           ^             ^
               +-----------+-------------+---> namer
      
      where tmcd was returning multiple aliases since there were multiple links
      between nodes. Thats been a bug for long time, but its very rare to have
      two links between the same two nodes, and so I never bothered to deal with
      it. I have "fixed" it, but the fix is very unsatisfying since the choice it
      makes is not consistent. For example, on distrib the ideal choice is to
      create aliases for the lan links, but instead I get a mix; one alias is for
      the duplex link to uav, another to the lan link to display. To make it
      select a consistent set, it will take even more hackery in tmcd, and I am
      not in the mood for it right now, given how rarely this happens. At least
      the host file is now "correct."
      d04e2b59
  24. 07 Jul, 2002 1 commit
  25. 05 Jul, 2002 1 commit
    • Robert Ricci's avatar
      Bug fix. exports_setup specifically excludes home directories of · f9530c20
      Robert Ricci authored
      users that aren't approved into the project (actually, the group.)
      But, tmcdd was looking at whether or not the user was active. Thus,
      in the unlikely case that you have a user who is active (probably
      from being in another project,) but has not yet been approved into
      this group, tmcd decided that their home directory should be
      mounted, but exports_setup hadn't exported it.
      f9530c20
  26. 21 Jun, 2002 1 commit
  27. 19 Jun, 2002 1 commit
    • Leigh B. Stoller's avatar
      Make isalive a real command (usable from tcp as well as UDP). · efaa3cda
      Leigh B. Stoller authored
      Return the update_accounts flag so that the client knows to
      update accounts. This flag is set in node_update for remote nodes.
      Once the client picks up accounts, decrement the update_accounts flag.
      This functions a simple barrier (up/down counter so that clients
      do not miss).
      efaa3cda
  28. 13 Jun, 2002 1 commit
  29. 12 Jun, 2002 1 commit
    • Leigh B. Stoller's avatar
      A minor ("30" minute) hack to support widearea keepalive. If a remote · 1bfee4eb
      Leigh B. Stoller authored
      node connects with UDP, update the nodes table status with 'up' and the
      current time. This is the only thing that can happen when a remote
      node connects with UDP (since there is no ssl). The idea is that a
      daemon on the remote nodes will wake up periodically and send in a UDP
      packet that says its alive. Since the idea is to be low overhead, I'm
      using a UDP packet for now, which means I can run it fairly often on
      all the clients, without it being too much of a drain. By its nature,
      if the remote node can start up tmcc and get a udp packet out, its
      probably in good shape. Maybe we will find out this does not work, but
      if so I will have lost only "30 minutes". See related changes in
      db/node_status.in.
      
      Also, add the code that kicks out remote nodes that connect with tcp
      but no ssl (it was commented out while I originally updated the ron
      nodes with the new tmcc stuff).
      1bfee4eb
  30. 06 Jun, 2002 1 commit
  31. 30 May, 2002 1 commit
  32. 28 May, 2002 1 commit
  33. 23 May, 2002 1 commit
  34. 14 May, 2002 1 commit
  35. 07 May, 2002 2 commits