RCS-INFO @@(#) $Id: upgrade_notes,v 1.10 1998/02/10 18:41:25 marilyn Exp $ UPGRADING FROM OCS v2_5 (or v2_2, v2_3, v2_4) TO OCS v3_1: ============================================================ 1) Build & distribute OCS v3_1 to appropriate taped and dbserv hosts. If a host does not require the source, then the executables, libraries and documentation need only to be distributed to that host, e.g.: rdist -c ./{ABSTRACT,\ ups,bin,lib,include,doc,examples,templates} \ products@cdfsga:/usr/products/ocs/v3_1 Make sure taped, devd, dbserv are owned by root.sys. Taped and devd must have setuid bit on as well, e.g. chown root.sys taped devd dbserv chmod ug+s taped devd 2) Backup OCS old database: a) Reduce the STATLOG to a reasonable number of records, e.g. ocs_reports -o delete -b 05/01 > stats.0595 b) Reduce the MOUNTLOG to a reasonable number of records, e.g. ocs_xfer -t mountlog -b 05/01 > mounts.0495 c) Do actual backup, e.g. ocs_backup > backup.old Make sure that the old ocs_backup is used and that the exit status is 0. (steps a) and b) are not necessary) 3) Render old version of OCS useless on taped and dbserv hosts: a) undeclare it in ups, e.g. setup ups ups undeclare -z $PRODUCTS ocs v2_5 b) kill dbserv, tapeds and xtapes c) move/rename the v2_5 directories and database, e.g: mv /usr/products/ocs/v2_5 /usr/products/ocs/v2_5.old mv /usr/products/ocs/DB /usr/products/ocs/DB.v2_5 mkdir /usr/products/ocs/DB 4) Declare OCS v3_1 current on taped and dbserv hosts, e.g: setup ups ups declare -c -z $PRODUCTS -r /usr/products/ocs/v3_1 ocs v3_1 5) Setup ocs v3_1 and make sure that new ocs executables are now used 6) Bring up ocs_install as root on the dbserv host. If the pathname for the dbserv and taped binary directory has the version in the pathname (e.g. v2_5): a) change dbserv and taped to use v3_1 rather than v2_5 (press OK buttons) b) press taped and dbserv install button c) press create db tables button Otherwise, exit ocs_install and either: a) modify the symbolic links to the binary directory to point to the OCS v3_1 binary directory or wherever the OCS v3_1 dbserv and taped will run. b) copy the OCS v3_1 dbserv, taped and devd executables to the dbserv and taped binary directories. 7) Convert the OCS v2_5 DB backup to the OCS v3_1 DB format and populate the OCS v3_1 database, e.g.: a) ocs_db_cnvrt < backup.old > backup.v3_0a b) sqlint < backup.v3_1 Verify that the exit status is zero. 8) Bring up ocs_install as root on each taped host. If the pathname for the taped binary directory has the version in the pathname (e.g. v2_5): a) change taped to use v3_1 rather than v2_5 (press OK) b) press install taped Otherwise, exit ocs_install and either: a) modify the symbolic links to the binary directory to point to the OCS v3_1 binary directory or wherever the OCS v3_1 taped will run. b) copy the OCS v3_1 taped and devd executables to the taped binary directory 9) As a user other than root, execute: ocs_tape on the dbserv host and all taped hosts. (Make sure that the new executable is used.) If you get an error, check that steps 1 through 8 were dones correctly. 10) Verify that an appropriate OCS initialization script is installed on each taped and dbserv host. On AIX, the script is usually called /etc/startocs and is called from rc.local. On IRIX the script is usually called /etc/init.d/ocs and has links to it from /etc/rc0.d and /etc/rc2.d. See templates/startocs and templates/ocs for examples. Typically, ocs_reboot will need to be copied to the same binary directory in which the devd, taped and dbserv were placed. 11) Fix any tape drive information using ocs_update. This utility checks and updates new drive information as well as corrects serial number and device type. a) For help, first run: "ocs_update -?" b) To see the iformation that needs updating, for each tape drive run: "ocs_update -t " c) To correct the information for a particular tape drive, run: "ocs_update -t -o update" 12) Bring up xtapes and run out a test mount. <<<<<<< upgrade_notes POSSIBLE V2_* TO v3_* USER CODE INCOMPATIBILITIES ================================================= Users upgrading from v2_* to v3_* should check their code for the following possible incompatibilities: 1. ocs_logical_dev() and ocs_device_file() no longer exists. 2. OCS error message string may now be up to 256 characters long. 3. ocs_log_dev() and ocs_log_dev no longer will resolve the symbolic link to a character special file if one is passed in. 4. ocs_device_type() now returns the device type string that matches the standard product id, namely "EXB-8200", not "exabyte_8200". 5. ocs_devfile_set() no longer supports attributes of "swap", "rewind" and "retension" because these attribute are not recommended to be used through FTT. 6. Either ocs_setdev (from the command line) or ocs_setdev() (from a C or Fortran program) should be called prior to doing I/O to the device regardless of the O/S platform. (In previous releases, this was only necessary on AIX.) 7. ocs_check_tape() and ocs_check_tape are superseded by ocs_check_label() and ocs_check_label() with label type as a additional parameter (e.g. "ansi", "cpio", "tar"). The old function and interactive command still exists but may be removed in future releases. UPGRADING FROM OCS v3_0 or v3_0a TO OCS v3_1: ===================================== if you are upgrading from v3_0a, substitute v3_0a for v3_0 below. 1) Build & distribute OCS v3_1 to appropriate taped and dbserv hosts. If a host does not require the source, then the executables, libraries and documentation need only to be distributed to that host, e.g.: rdist -c ./{ABSTRACT,LICENSE,README,ORIGIN,SUPPORT,\ ups,bin,lib,include,doc,examples,templates} \ products@cdfsga:/usr/products/ocs/v3_1 Make sure taped, devd, dbserv are owned by root.sys. Taped and devd must have setuid bit on as well, e.g. chown root.sys taped devd dbserv chmod ug+s taped devd 2) Render old version of OCS useless on taped and dbserv hosts: a) optionally, undeclare it in ups, e.g. setup ups ups undeclare -z $PRODUCTS ocs v3_0* b) kill dbserv, tapeds and xtapes c) optionally, remove the v3_0 or v3_0a directories, e.g: rm -rf /usr/products/ocs/v3_0* 3) Declare OCS v3_1 current on taped and dbserv hosts, e.g: setup ups ups declare -c -z $PRODUCTS -r /usr/products/ocs/v3_1 ocs v3_1 4) Setup ocs v3_1 and make sure that new ocs executables are now used 5) Bring up ocs_install as root on the dbserv host. If the pathname for the dbserv and taped binary directory has the version in the pathname (e.g. v3_0*): a) change dbserv and taped to use v3_1 rather than v3_0* (press OK buttons) b) press taped and dbserv install button Otherwise, exit ocs_install and either: a) modify the symbolic links to the binary directory to point to the OCS v3_1 binary directory or wherever the OCS v3_1 dbserv and taped will run. b) copy the OCS v3_1 dbserv, taped and devd executables to the dbserv and taped binary directories. 6) Bring up ocs_install as root on each taped host. If the pathname for the taped binary directory has the version in the pathname a) change taped to use v3_1 rather than v3_0* (press OK) b) press install taped Otherwise, exit ocs_install and either: a) modify the symbolic links to the binary directory to point to the OCS v3_1 binary directory or wherever the OCS v3_1 taped will run. b) copy the OCS v3_1 taped and devd executables to the taped binary directory 7) As a user other than root, execute: ocs_tape on the dbserv host and all taped hosts. (Make sure that the new executable is used.) If you get an error, check that steps 1 through 6 were dones correctly. 8) Fix any tape drive information using ocs_update. This utility checks and updates new drive information as well as corrects serial number and device type. a) For help, first run: "ocs_update -?" b) To see the iformation that needs updating, for each tape drive run: "ocs_update -t " c) To correct the information for a particular tape drive, run: "ocs_update -t -o update" 9) Bring up xtapes and run out a test mount.