
@chapter Upgrade Configuration Procedures
@label[chapter-configuration]

This chapter is intended for system managers upgrading from Lambda release 3 software to release 4.
It explains the site configuration requirements that differ in the new release.

After reviewing the release update material in this chapter,
see Chapter @ref[chapter-doc-configuration], @b(@nameref[chapter-doc-configuration]),
for documentation on the network configuration procedures.

@sp 1
@textbox
@b[IMPORTANT NOTE:] It is not possible to intermix release 3 and release 4 hosts on the
same chassis.
Also, some networking problems may occur when release 3 and release 4 hosts are
on the same network.

See Section @ref[section-compatibility] for a detailed
explanation of the restrictions on compatibility between release 3 and release 4 TCP/IP.
@end(textbox)

@section Site Configuration Changes

Some changes to your current Lambda site configuration information --
hereafter referred to as @i(site files) -- may be required for the new release.

Changes are definitely required for TCP/IP hosts.
These changes may not be downward-compatible;
in other words, site files modified for 4.0 networking software
should not be used or loaded in a 3.0 LISP world.
See below for information on modifying network addresses for release 4.

Most Chaosnet-only installations will not require updated site files.
Nevertheless, we recommend recompiling release 3 site files
before loading them into release 4.
Sites that were previously Chaosnet-only may wish to
take advantage of the TCP/IP capability that comes with release 4,
thus requiring site file changes.

The site file changes documented below are all
changes to entries in the files contained in the directory
with the logical pathname ``@l(SYS:SITE;)''.
These files are:

@itemize @bullet
@item SYS.TRANSLATIONS
@item HOSTS.TEXT
@item SITE.LISP
@item LMLOCS.LISP
@end(itemize)

If you purchased release 3 optional software systems such as @b(Vista), @b(Iris), or @b(Laser1+),
you will need a release 4 update distribution from GigaMos.
The @l(.SYSTEM) and/or @l(.TRANSLATIONS) files in @l(SYS:SITE;)
that were used for release 3 software options
need to be replaced;
so, it is not generally possible to run @l(make-system) on release 3 options
to load them into release 4 bands.
See the @i(4.0 Release Notes) for further information.

@subsection Logical Translations

There is one change you will have to make to
your working @l(SYS.TRANSLATIONS) file.

@cindex[source directories]
Release 2 sources were located in the @l(QL;) directory;
release 3 sources were located in the @l(RELEASE-3;) directory;
and release 4 sources are located in the @l(RELEASE-4;) directory.
You must modify your @l(SYS.TRANSLATIONS)
to reflect this change.

The distribution template file @l(SYS.TRANSLATIONS),
which is in the directory  @l(RELEASE-4.CUSTOMER-SITE;)
on the LISP options tape,
illustrates the required syntax.

If (as recommended) you move your release 3 site files to a new directory,
you will also have to modify the definitions of @l(SYS:SITE;) and @l(SYS:CHAOS;)
to reflect the new location of your site files.

See @ref[figure-compare-sys-translations]
for an example of a release 3 and modified release 4 @l(SYS.TRANSLATIONS) file.

@fullpagefigure
@setq figure-compare-sys-translations figure-page

@i(Release 3 example of) SYS.TRANSLATIONS:

@lisp
;;; -*- Mode:LISP; Base:10; Readtable:ZL -*-

(FS:SET-LOGICAL-PATHNAME-HOST
  "SYS"
  :PHYSICAL-HOST "MASTER-HOST"
  :TRANSLATIONS
  '(("CHAOS;" "RELEASE-3.CUSTOMER-SITE;")
    ("SITE;"  "RELEASE-3.CUSTOMER-SITE;")	
    ("*;*;*;*;*;" "<RELEASE-3.*.*.*.*.*>")
    ("*;*;*;*;" "<RELEASE-3.*.*.*.*>")
    ("*;*;*;" "<RELEASE-3.*.*.*>")
    ("*;*;" "<RELEASE-3.*.*>")
    ("*;" "<RELEASE-3.*>")))

@b[Comments:] This file points to template (example) release 3 site files

@end(lisp)
 
@i(Release 4 customer-modified) SYS.TRANSLATIONS:

@lisp
;;; -*- Mode:LISP; Base:10; Readtable:ZL -*-

(FS:SET-LOGICAL-PATHNAME-HOST
  "SYS"
  :PHYSICAL-HOST "MASTER-HOST"
  :TRANSLATIONS
  '(("CHAOS;" "OUR-SITE4;")
    ("SITE;"  "OUR-SITE4;")
    ("*;*;*;*;*;" "<RELEASE-4.*.*.*.*.*>")
    ("*;*;*;*;" "<RELEASE-4.*.*.*.*>")
    ("*;*;*;" "<RELEASE-4.*.*.*>")
    ("*;*;" "<RELEASE-4.*.*>")
    ("*;" "<RELEASE-4.*>")))

@b[Comments:] This file points to site files that were
copied to a new directory, @l[MASTER-HOST: OUR-SITE4;]

@end(lisp)
@sp 1
@caption Examples: original and modified (release 4) SYS.TRANSLATIONS file

@end(fullpagefigure)

@subsection Host Addresses

In previous releases, all hosts within one Lambda chassis
were assigned the same Internet address.
You must modify your 4.0 site files (in @l(HOSTS.TEXT))
as follows:

@itemize @bullet
@item
Each Lambda LISP host must have its @i(own) Internet address
@item
Lambda-Plus Unix hosts must have @i(no) Internet address
@end(itemize)

Chaos addresses for all Lambda hosts are still required;
they are always used for interprocessor communication
within the same chassis.

See @ref[figure-compare-hosts-text]
for an example of a modified @l(HOSTS.TEXT) file.

@fullpagefigure
@setq figure-compare-hosts-text figure-page

@i[Release 3 example of] HOSTS.TEXT:

@smalllisp
;;; -*- Mode:Fundamental -*- MASTER: RELEASE-3.CUSTOMER-SITE; HOSTS.TEXT#18

HOST LMI-AMNESIA,  CHAOS 3412,USER,LISPM,LISPM,[AMNESIA]

;; Lambda 2x2-Plus

HOST MASTER-HOST, [CHAOS 3430,INTERNET 101.0.0.101],USER,LISPM,LISPM,[MASTER]
HOST NOTHER-HOST, [CHAOS 3431,INTERNET 101.0.0.101],USER,LISPM,LISPM,[NOTHER]
HOST MYUNIX-HOST, [CHAOS 3432,INTERNET 101.0.0.101],USER,UNIX,NU,[MYUNIX]

;;; Lambda

HOST XTRA-HOST,   CHAOS 3433,USER,LISPM,LISPM,[XTRA]

;; VMS VAX

HOST VMSVAX,      INTERNET 101.0.0.110,USER,VMS,VAX,[MYVAX]
@end(smalllisp)

@i[Release 4 modified example of] HOSTS.TEXT:

@smalllisp
;;; -*- Mode:Fundamental -*- MASTER: OUR-SITE4; HOSTS.TEXT#20

HOST LMI-AMNESIA, CHAOS 3412,USER,LISPM,LISPM,[AMNESIA]

;; Lambda 2x2-Plus

HOST MASTER-HOST, [CHAOS 3430,INTERNET 101.0.0.101],USER,LISPM,LISPM,[MASTER]
HOST NOTHER-HOST, [CHAOS 3431,INTERNET 101.0.0.102],USER,LISPM,LISPM,[NOTHER]
HOST MYUNIX-HOST, CHAOS 3432,USER,UNIX,NU,[MYUNIX]

;;; Lambda

HOST XTRA-HOST,   [CHAOS 3433,INTERNET 101.0.0.103],USER,LISPM,LISPM,[XTRA]

;; VMS VAX

HOST VMSVAX,      INTERNET 101.0.0.110,USER,VMS,VAX,[MYVAX]
@end(smalllisp)

@caption Examples: original and modified (release 4) HOSTS.TEXT file

@end(fullpagefigure)

@subsection Site Options Added and Removed

Site options are specified globally, for all Lambdas using the site files,
in @l(SITE.LISP),
or locally, for specific Lambdas,
in @l(LMLOCS.LISP).

The new site options for release 4 are as follows:

@description
@item :NETWORK-NAMES @i([list-of-network-specs])

Defines the available network protocols (currently, :CHAOS and :INTERNET),
and the network number(s) pertaining to the site.
See @ref[option-network-names] for further information.

@item :BROKEN-BERKELEY-UNIX-BROADCAST-ADDRESS-P @i([T or NIL])

This site option must be specified if there are
Berkeley 4.2 Unix systems on your network.
See @ref[option-broken-berkeley] for further information.

@end(description)

The following options are obsolete, and are not supported by release 4:

@description

@item :FRONT-END-TCP-CHAOS-SERVER
@cindex[front-end TCP Chaos server]
Chaos-only Lambda hosts that formerly had to go through a
remote front-end TCP/Chaos server
can, and must, be updated to use release 4 TCP/IP software directly.

@item :TCP-ONLY-LAMBDAS
@cindex[TCP-only Lambdas]
Lambda hosts that were formerly designated as ``TCP-only''
can, when upgraded to release 4, be assigned Chaos addresses without causing confusion
since they can use both Chaosnet and TCP/IP.

@end(description)

Delete any lines in @l(SYS:SITE;SITE.LISP) or @l(LMLOCS.LISP)
that specified either of the obsolete options.
Note that this will make the new site information
incompatible with release 3;
loading the new site files in a release 3 band
would cause a Lambda without a 3COM interface to fail on Chaos attempts,
and/or eliminate the front-end TCP-Chaos serving capability
for Lambdas without an Excelan interface.

All other documented site options for TCP/IP and Chaosnet
should work as before.

@section Site File Update Check-List

@ref[figure-site-file-upgrade-checklist] provides a check-list
of the basic changes that must be made (and/or verified)
from release 3 to release 4 site files.

@fullpagefigure
@setq figure-site-file-upgrade-checklist figure-page

Make sure you make the following changes in @l(HOSTS.TEXT):

@itemize @choicebox
@item
Give each LISP processor its own Chaos and Internet addresses
@item
Remove Internet addresses for Lambda-Plus Unix hosts
@end itemize

Make sure you make the following changes in @l(SITE.LISP) and/or
@l(LMLOCS.LISP):

@itemize @choicebox
@item
Add the following line to @l(SITE.LISP) if you have Berkeley 4.2 Unix
systems on the Internet:
@lisp
(:broken-berkeley-unix-broadcast-address-p t)
@end(lisp)
@sp 1

@item
Add an entry in @l(SITE.LISP) to define @l(:NETWORK-NAMES).
This is only required if subnets are used.
If you use the Site Editor, it will prompt you to create this entry.

@item
Remove the following options wherever they appear:
@lisp
:FRONT-END-TCP-CHAOS-SERVER
:TCP-ONLY-LAMBDAS
@end(lisp)
@end(itemize)

Make sure you make the following changes in @l(SYS.TRANSLATIONS)
to the definition of the ``@l(SYS)'' logical host:

@itemize @choicebox
@item
Specify your own site directory as the translation for
@l(SYS:SITE;) and @l(SYS:CHAOS;)
@item
Specify @l(RELEASE-4;) as the translation for everything else
@end itemize
@sp 1

@caption Site File Modification Check-List
@csubindex[site files][check list]
@end(fullpagefigure)















@c end config1
