Commit dfed66cd authored by Robert Ricci's avatar Robert Ricci

Added a 'UNIFIED_BOSS_AND_OPS' configure variable, which will be used

when there is only a single control node, that acts as both boss and
ops.
parent 1e5f14f9
......@@ -834,6 +834,7 @@ fi
#
# Defaults for for above variables.
......@@ -1122,7 +1123,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
echo "configure:1126: checking for a BSD compatible install" >&5
echo "configure:1127: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
......@@ -1421,6 +1422,7 @@ s%@FSDIR_GROUPS@%$FSDIR_GROUPS%g
s%@FSDIR_USERS@%$FSDIR_USERS%g
s%@TRACK_INTERSWITCH_BANDWIDTH@%$TRACK_INTERSWITCH_BANDWIDTH%g
s%@TIMESTAMPS@%$TIMESTAMPS%g
s%@UNIFIED_BOSS_AND_OPS@%$UNIFIED_BOSS_AND_OPS%g
s%@LEDA@%$LEDA%g
s%@ASSIGN@%$ASSIGN%g
s%@SSH_ARGS@%$SSH_ARGS%g
......
......@@ -39,6 +39,7 @@ AC_SUBST(FSDIR_GROUPS)
AC_SUBST(FSDIR_USERS)
AC_SUBST(TRACK_INTERSWITCH_BANDWIDTH)
AC_SUBST(TIMESTAMPS)
AC_SUBST(UNIFIED_BOSS_AND_OPS)
#
# Defaults for for above variables.
......
......@@ -7,7 +7,10 @@ with local nodes - they can be skipped in a widearea-only testbed.
##### Step 0 - Create the database
Before beginning this process, you should have mysql installed and running on
your boss node.
your boss node. If it isn't already running, you can simply reboot the node,
or run '/usr/local/etc/rc.d/2.mysql-server.sh start'. It's also a good idea
to run the mysql-client.sh script, so that you'll be able to use the mysql
client scripts.
Create the database. You can do this with the database-create.sql file in the
sql subdirectory of the testbed tree, like so:
......
......@@ -2,6 +2,9 @@
##### Last updated February 27, 2002
##### Tested on FreeBSD 4.3
Note: steps labeled "Local Only" are only required when setting up a testbed
with local nodes - they can be skipped in a widearea-only testbed.
##### Step 0
First of all, the machine should be configured correctly for the network it is
......@@ -11,32 +14,33 @@ on, have the root password set, etc.
Install the necessary packages. The following are necessary, and are
the default versions in the FreeBSD 4.3 "ports" collection:
apache+mod_ssl-1.3.19+2.8.2 The Apache 1.3 webserver with SSL/TLS functionality
cvsupd-bin-16.1 A general network file distribution system optimized for CV
fping-2.2b1 Quickly ping N hosts w/o flooding the network
gd-1.8.4_1 A graphics library for fast PNG creation
gmake-3.79.1 GNU version of 'make' utility
graphviz-1.7c Graph Visualization Software from AT&T and Bell Labs
isc-dhcp-2.0.5 ISC Dynamic Host Configuration Protocol client and server c
linuxthreads-2.1.3_2 POSIX pthreads implementation using rfork to generate kern
mhash-0.8.9 Library provides an easy way to access strong hashes such a
mod_auth_mysql-2.20 Allows users to use MySQL databases for user authentication
mod_php3-3.0.18 PHP3 module for Apache
mysql-client-3.23.36 Multithreaded SQL database (client)
mysql-server-3.23.36 Multithreaded SQL database (server)
otcl-1.0a6 MIT Object Tcl
p5-DBI-1.15 The perl5 Database Interface. Required for DBD::* modules
p5-GD-1.32_2 A perl5 interface to Gd Graphics Library
p5-Mysql-modules-1.2215 Perl5 modules for accessing MySQL databases
p5-SNMP-4.2.0 A perl5 module for interfacing with the CMU SNMP library
p5-SNMP_Session-0.83 A perl5 module for providing rudimentary access to SNMPv1 a
p5-BSD-Resource BSD resource goo
rpm-3.0.6_5 The Red Hat Package Manager
swig-1.1p5_5 Simplified Wrapper and Interface Generator
tcl-8.2.3 Tool Command Language
tcl-sql-20000114_1 TCL module for accessing MySQL databases
ucd-snmp-4.2 An extendable SNMP implimentation
(Ports marked with an 'L' are only needed if you have local nodes.)
apache+mod_ssl-1.3.19+2.8.2 The Apache 1.3 webserver with SSL/TLS functionalit
cvsupd-bin-16.1 A general network file distribution system optimized for C
fping-2.2b1 Quickly ping N hosts w/o flooding the network
gd-1.8.4_1 A graphics library for fast PNG creation
gmake-3.79.1 GNU version of 'make' utility
graphviz-1.7c Graph Visualization Software from AT&T and Bell Labs
L isc-dhcp-2.0.5 ISC Dynamic Host Configuration Protocol client and server
linuxthreads-2.1.3_2 POSIX pthreads implementation using rfork to generate ker
mhash-0.8.9 Library provides an easy way to access strong hashes such
mod_auth_mysql-2.20 Allows users to use MySQL databases for user authenticatio
mod_php3-3.0.18 PHP3 module for Apache
mysql-client-3.23.36 Multithreaded SQL database (client)
mysql-server-3.23.36 Multithreaded SQL database (server)
otcl-1.0a6 MIT Object Tcl
p5-DBI-1.15 The perl5 Database Interface. Required for DBD::* modules
p5-GD-1.32_2 A perl5 interface to Gd Graphics Library
p5-Mysql-modules-1.2215 Perl5 modules for accessing MySQL databases
L p5-SNMP-4.2.0 A perl5 module for interfacing with the CMU SNMP library
L p5-SNMP_Session-0.83 A perl5 module for providing rudimentary access to SNMPv1
p5-BSD-Resource BSD resource goo
rpm-3.0.6_5 The Red Hat Package Manager
swig-1.1p5_5 Simplified Wrapper and Interface Generator
tcl-8.2.3 Tool Command Language
tcl-sql-20000114_1 TCL module for accessing MySQL databases
L ucd-snmp-4.2 An extendable SNMP implimentation
IMPORTANT: php3 has some security vulernabilities, detailed at:
http://www.cert.org/advisories/CA-2002-05.html
......@@ -55,13 +59,42 @@ Note on TCL: Do NOT install tcl83; otcl, which is used by some testbed
scripts, requires tcl82. When you install the tcl-sql package, it will be put
in the library directory for the latest version of tcl you have installed, so
if you have tcl83 installed at the time, you will have tcl-sql support under
8.3.X, but not under 8.2.X (which testbed scripts use)
8.3.X, but not under 8.2.X (which testbed scripts use) Newer versions of
the FreeBSD port have a TCL_VERSION variable you can use to get around
this problem - Stick the line:
TCL_VERSION=tcl8.2 in /etc/make.conf
before building, and you should be fine.
For the most part, subsitituting newer versions of the packages should be OK,
but know that we haven't tested them... The one exception is version 3.23.47
of the mysql packages. In fact, we recommend 3.23.47, as it fixes some
boot-time problems that we've had with 3.23.36.
Finally, you will need to download and install elvin, which is the core of our
event system. You can download it from: http://elvin.dstc.edu.au/ . You'll
need to grab both the C 'libelvin' distribution and elvind . So far, we have
only tried releases in the 4.0 branch. Compile these two (libelvin first)
with the standard untar/configure/make procedure. When configuring libelvin,
be sure to give the '--enable-threads' option.
Many of these packages need to be started by RC scripts. First, the
mysql-client rc script needs to run before ANY testbed services are started!
You can ensure this by changing directories to /usr/local/etc/rc.d and renaming
'mysql-client.sh' to '1.mysql-client.sh'. Also, we use some different options
when staring mysqld, so remove the 'mysql-server.sh'. (We'll replace it in a
second.) Furthermore, dhcpd needs to start before proxydhcp, so rename
'dhcpd.sh' to '2.dhcpd.sh'. You will also need to install the '3.testbed.sh',
'cvsupd.sh', '2.elvind.sh', and '2.mysql-server.sh' scripts, which are in the
rc.d directory of the testbed tree - you can install them by doing a 'gmake
install' in that directory. Finally, remove the 'snmpd.sh' script, because
we don't need to be running it, and it may have security vulernabilities.
Notes for newer versions of FreeBSD: Newer versions of the mysql port install
the starup script as '00mysql-client.sh' - you're fine either leaving it with
that name, or renaming it as suggested above. Also, newer versions of the
dhcpd port install their startup script as 'isc-dhcpd.sh.sample' - just
rename this as suggestbed above.
##### Step 2 - LEDA
We rely on a software package call LEDA which we are not allowed to
......@@ -143,11 +176,15 @@ sudo gmake post-install
The 'post-install' target needs to be done as root, because certain scripts
need to be setuid root.
Also, you'll need to create the 'tbdb' database (described in the next step)
before you can do the install, because we check to make sure that the software
you're installing matches the running database. Obviously, this can't be done
until the database is running.
##### Step 4 - Database Creation
See the file setup-db.txt in this directory
##### Step 5 - Directories to create, and other misc. filesystem changes
NFS - Make the machine an NFS server and client with the following in
......@@ -267,17 +304,7 @@ to /etc/ssh/sshd_config (and HUP sshd) so that you can log in as root remotely
All of these logs should be created before you HUP syslogd or reboot - All of
them can be world-readable
RC scripts - The mysql-client rc script needs to run before ANY testbed
services are started! The mysql server should also be started early in the
process. boot process. You can ensure this by changing directories to
/usr/local/etc/rc.d and renaming 'mysql-client.sh' to '1.mysql-client.sh' and
'mysql-server.sh' to '2.mysql-server.sh'. Furthermore, dhcpd needs to start
before proxydhcp, so rename 'dhcpd.sh' to '2.dhcpd.sh'. You will also need to
install the '3.testbed.sh' and 'cvsupd.sh' scripts (in the rc.d directory of
the testbed tree.) Make sure that these scripts are executable (chmod +x),
so that they'll get executed at system startup time.
cRON JOBS: We currently have two cron jobs running for the testbed. Both can be
cron JOBS: We currently have two cron jobs running for the testbed. Both can be
run out of /etc/crontab
45 1 * * * root /usr/testbed/sbin/backup
*/5 * * * * root /usr/testbed/sbin/node_status
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment