Vidcap Multimedia Experimentation Platform:

System Configuration

Mark R. Lindsey
Last modified Tuesday, 13-Nov-2001 14:48:49 EST

Machine Setup

For details the setup of the machine hardware and FreeBSD OS installation, see the machine setup description.

Configuration Architecture Overview

The Main Server: vidcap1

vidcap1 is designated as The Main Server. It is an NFS and NIS server for all of the other vidcap systems, i.e., vidcap2, vidcap3, and vidcap4.

The NIS domain is vidcap.cs.unc.edu -- which is not a valid DNS domain. vidcap1 is the only NIS server for this domain.

vidcap1 exports exactly one filesystem, /usr/local. All of the other vidcap systems mount vidcap1:/usr/local as /usr/local.

rc.vidcap

Most of the configuration of these systems is done using a set of scripts, the interface to which is /usr/local/etc/rc.vidcap, called simply rc.vidcap herein. This script can be run repeatedly, and detects what changes need to be made to the system, and installs changes as necessary.

A set of procedures is provided in this document to ensure that the architecture remains consistent.

Difference between vidcap and DiRT

The vidcap user population is not the same as the DiRT user population, in general. The vidcap systems do not currently mount any DiRT-exported NFS filesystems.

Important Services

These are comments on some of the notable elements of the system configuration. The authoritative configuration is in /usr/local/etc/rc.vidcap*.

Users

All of the systems share the same user and group databases, served via NIS from vidcap1. The home directories are universally available under /usr/local/home/username, where username is the login of the user.

A user can change his password on any system, and it will be updated via yppasswdd on the NIS server.

Groups and users are created in rc.vidcap_main_server. Examples are in that file.

Brooktree Video-Grabber Support

Each system loads the bktr kernel modules to support the Brooktree video grabber device, which is installed in each system.

This is necessary to make use of the video-grabber interfaces.

Wall-Clock Time

Each system uses ntpdate at boot and ntpd to synchronize the system clocks. (The BIOS clocks may be all wrong.) The primary time source is clock.cs.unc.edu.

This is useful for comparison of log data, but critical for the correct operation of NFS. (NFS clients compare the file modification times to detect changes.)

No Email Service

No email service is intended to be provided for the vidcap system. This can be added later, but running email among the vidcap systems would be time-consuming and possibly confusing with the regular cs.unc.edu email system.

The result of sending mail from or to these systems is undefined.

Configuration Procedures

Add a vidcap server

  1. Determine the vidcap system number N, and call the system vidcapN.

  2. Allocate from the networking folks an IP address for the new system; call it ip.

  3. Get the networking folks to add a DNS A-type Resource Record for the name vidcapN.cs.unc.edu and the ip address ip.

  4. Install FreeBSD according to the Machine Setup Instructions.

  5. Update the following sections of code in the rc.vidcap* scripts:
    Script name Function name Do this
    rc.vidcap_common create_hosts Add an entry for /etc/hosts for the new machine. Follow the example.
    rc.vidcap_main_server create_netgroup Add an entry for the new system to the vidcap netgroup.
    rc.vidcap_main_server create_securenets Add a new entry for /var/yp/securenets for the new system.

  6. Run rc.vidcap on The Main Server (vidcap1) first, then on all of the other existing systems. Follow any instructions that it gives.

  7. On the new system, vidcapN, mount /usr/local:
    mount -t nfs 152.2.142.211:/usr/local /usr/local

  8. Run rc.vidcap on the new system:
    /usr/local/etc/rc.vidcap
    Follow any instructions that it gives.

Remove the vidcap server

Informally: Remove entries that would have been added in the procedure to Add a vidcap server. Run rc.vidcap on all of the systems, and follow any instructions it gives.

Add a vidcap user or group

  1. Edit the function setup_groups or setup_users as necessary in the script rc.vidcap_main_server.

  2. Run rc.vidcap on The Main Server (vidcap1).

Remove a vidcap user or group

  1. Edit the function setup_groups or setup_users as necessary in the script rc.vidcap_main_server.

    • To remove a user, run:
      pw userdel -r login
      where login is the login name of the user to delete. This will attempt to remove the user's files in its home directory.

      This may not remove all of the user's resources. Use find. Note that users may have queued email, at and cron jobs, and other files on all of the systems -- not just vidcap1.

    • To remove a group, run:
      pw groupdel groupname
      where groupname is the name of the group to delete.

  2. Run rc.vidcap on The Main Server (vidcap1).