Skip to content
  • 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