Difference between revisions of "Migrating a VistA/GT.M installation from one platform to another"

From VistApedia
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
== Notes ==
 
== Notes ==
 
# Existing SemiVivA scripts use the bash shell, and assume that it is located at /bin/bash.  Modify the location if bash is located elsewhere.  Edit the scripts as needed to use other shells.
 
# Existing SemiVivA scripts use the bash shell, and assume that it is located at /bin/bash.  Modify the location if bash is located elsewhere.  Edit the scripts as needed to use other shells.
# [http://xinetd.org xinetd] is assumed to control th
+
# The GT.M version in these examples is V5.2-001.
# It is assumed that the GT.M versions use the same database format.
+
# The steps to change the endian-ness of database files, and to create new global directories is not needed if the source and target platforms have the same endian-ness.
# The VistA environments to be copied must be identified, along with the hierarchical structure (see [[Software Development (WG1) Version Control (T3)]]), e.g.
+
# The VistA environments to be copied must be identified, along with the hierarchical structure (see [[Software Development (WG1) Version Control (T3)]]).  In this example, the structure is assumed to be:
 
#* /usr/local/WorldVistAEHRvTEST20070616
 
#* /usr/local/WorldVistAEHRvTEST20070616
 
#** /var/WorldVistAEHR
 
#** /var/WorldVistAEHR
Line 16: Line 16:
 
* Copy the identified directories, including subdirectories from the originating machine to the target machine.  Object files (.o) should not be copied, and if they are, they should be deleted e.g., for the top level directory of each working environment (as root for the top level :
 
* Copy the identified directories, including subdirectories from the originating machine to the target machine.  Object files (.o) should not be copied, and if they are, they should be deleted e.g., for the top level directory of each working environment (as root for the top level :
 
         cd <directory>
 
         cd <directory>
         find . -type d -name o -exec chmod -v {} \;
+
         find . -type d -name o -exec chmod u+w {} \;
         find . -name \*.o -exec rm -rv {} \;
+
         find . -name \*.o -exec rm -f {} \;
 
* Change the endian-ness of the database (see [http://www.fidelityinfoservices.com/user_documentation/targets/GTM_Database_Endian_Conversion.html Technical Bulletin: GT.M Database Endian Conversion - UNIX] for more information) in the top level release environment, from which other environments are derived (in this example, /usr/local/WorldVistAEHRvTEST20070616).  As root:
 
* Change the endian-ness of the database (see [http://www.fidelityinfoservices.com/user_documentation/targets/GTM_Database_Endian_Conversion.html Technical Bulletin: GT.M Database Endian Conversion - UNIX] for more information) in the top level release environment, from which other environments are derived (in this example, /usr/local/WorldVistAEHRvTEST20070616).  As root:
 
         cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001
 
         cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001
Line 36: Line 36:
 
         cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/g
 
         cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/g
 
         mupip endiacvt mumps.dat
 
         mupip endiacvt mumps.dat
 +
* Replace the global directory in the top level release environment.  As root:
 +
        source /usr/local/gtm_V5.2-001/gtmprofile
 +
        cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001
 +
        chmod u+w g
 +
        cd g
 +
        rm mumps.gld
 +
        mumps -run ^GDE
 +
        change -segment DEFAULT -block=4096 -alloc=75000 -ext=2000 -glob=2048 -file=$vista_home/$gtmver/g/mumps.dat
 +
        change -region DEFAULT -rec=4080 -key=255 -std
 +
        exit
 +
        cd ..
 +
        chmod -R a-w g
 +
* Copy this global directory file to each working environment.  As the normal user for each environment:
 +
        rm -f /var/WorldVistAEHR/gtm_V5.2-001/g/mumps.gld
 +
        cp /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001/g/mumps.gld /var/WorldVistAEHR/gtm_V5.2-001/g/
 +
:and
 +
        rm -f /home/vista/myWorldVistAEHR/gtm_V5.2-001/g/mumps.gld
 +
        cp /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001/g/mumps.gld /home/vista/myWorldVistAEHR/gtm_V5.2-001/g/
 
* Recompile the object files in the top level release environment (ignore compilation errors; remember that some directories may not be empty  this script takes care of the general case where there may be files in the different source directories).  As root:
 
* Recompile the object files in the top level release environment (ignore compilation errors; remember that some directories may not be empty  this script takes care of the general case where there may be files in the different source directories).  As root:
 
         source /usr/local/gtm_V5.2-001/gtmprofile
 
         source /usr/local/gtm_V5.2-001/gtmprofile
Line 46: Line 64:
 
         find ../p -type f -name \*.m -print -exec mumps {} \;
 
         find ../p -type f -name \*.m -print -exec mumps {} \;
 
         cd ..
 
         cd ..
         chmod a-w o
+
         chmod -R a-w o
 
         cd add-ons
 
         cd add-ons
 
         chmod u+w o
 
         chmod u+w o
 +
        cd o
 
         mumps ../../../add-ons/*/{r,p}/*.m
 
         mumps ../../../add-ons/*/{r,p}/*.m
 
         mumps ../*/{r,p}/*.m
 
         mumps ../*/{r,p}/*.m
 
         cd ..
 
         cd ..
         chmod a-w o
+
         chmod -R a-w o
 
* Object files in the working environments will be automatically recompiled as needed.  In the event you wish to recompile them, e.g., to not see compilation errors when using VistA, do the following as the normal user in each environment (ignore compilation errors and complaints about files not found):
 
* Object files in the working environments will be automatically recompiled as needed.  In the event you wish to recompile them, e.g., to not see compilation errors when using VistA, do the following as the normal user in each environment (ignore compilation errors and complaints about files not found):
 
         source /usr/local/gtm/gtm_V5.2-001/gtmprofile
 
         source /usr/local/gtm/gtm_V5.2-001/gtmprofile
Line 73: Line 92:
 
         cd /var/WorldVistAEHR/gtm_V5.2-001/g
 
         cd /var/WorldVistAEHR/gtm_V5.2-001/g
 
         mupip set -journal="enable,on,before" -file mumps.dat
 
         mupip set -journal="enable,on,before" -file mumps.dat
 +
        rm mumps.mjl_*
 
:and
 
:and
 
         source /usr/local/gtm/gtm_V5.2-001/gtmprofile
 
         source /usr/local/gtm/gtm_V5.2-001/gtmprofile
 
         cd /home/vista//myWorldVistAEHR/gtm_V5.2-001/g
 
         cd /home/vista//myWorldVistAEHR/gtm_V5.2-001/g
 
         mupip set -journal="enable,on,before" -file mumps.dat
 
         mupip set -journal="enable,on,before" -file mumps.dat
 +
        rm mumps.mjl_*
 
* Verify each environment.  As the normal user for each environment:
 
* Verify each environment.  As the normal user for each environment:
 
         /var/WorldVistAEHR/gtm_V5.2-001/run
 
         /var/WorldVistAEHR/gtm_V5.2-001/run
 
:and
 
:and
 
         /home/myvista/myWorldVistAEHR/gtm_V5.2-001/run
 
         /home/myvista/myWorldVistAEHR/gtm_V5.2-001/run

Latest revision as of 19:29, 30 July 2007

These are instructions for copying a GT.M SemiVivA installation from one platform to another. For this discussion, the platforms are assumed to be of different endian-ness, e.g., x86 GNU/Linux and Sun SPARC Solaris).

Notes

  1. Existing SemiVivA scripts use the bash shell, and assume that it is located at /bin/bash. Modify the location if bash is located elsewhere. Edit the scripts as needed to use other shells.
  2. The GT.M version in these examples is V5.2-001.
  3. The steps to change the endian-ness of database files, and to create new global directories is not needed if the source and target platforms have the same endian-ness.
  4. The VistA environments to be copied must be identified, along with the hierarchical structure (see Software Development (WG1) Version Control (T3)). In this example, the structure is assumed to be:
    • /usr/local/WorldVistAEHRvTEST20070616
      • /var/WorldVistAEHR
      • /home/vista/myWorldVistAEHR

Steps

  • Obtain and install GT.M for the new platform in a sub-directory of /usr/local, e.g., in /usr/local/gtm_V5.2-001.
  • Copy the identified directories, including subdirectories from the originating machine to the target machine. Object files (.o) should not be copied, and if they are, they should be deleted e.g., for the top level directory of each working environment (as root for the top level :
        cd <directory>
        find . -type d -name o -exec chmod u+w {} \;
        find . -name \*.o -exec rm -f {} \;
        cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001
        chmod u+w g
        cd g
        gzip -d mumps.dat.gz
        source /usr/local/gtm_V5.2-001/gtmprofile
        mupip endiancvt mumps.dat
        gzip mumps.dat
        cd ..
        chmod a-w g
  • Change the endian-ness of the database in each working environment (/var/WorldVistAEHR and /home/vista/myWorldVistAEHR in this example). As the normal user for each working environment:
        source /usr/local/gtm/gtm_V5.2-001/gtmprofile
        cd /var/WorldVistAEHR/gtm_V5.2-001/g
        mupip endiacvt mumps.dat
and
        source /usr/local/gtm/gtm_V5.2-001/gtmprofile
        cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/g
        mupip endiacvt mumps.dat
  • Replace the global directory in the top level release environment. As root:
        source /usr/local/gtm_V5.2-001/gtmprofile
        cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001
        chmod u+w g
        cd g
        rm mumps.gld
        mumps -run ^GDE
        change -segment DEFAULT -block=4096 -alloc=75000 -ext=2000 -glob=2048 -file=$vista_home/$gtmver/g/mumps.dat
        change -region DEFAULT -rec=4080 -key=255 -std
        exit
        cd ..
        chmod -R a-w g
  • Copy this global directory file to each working environment. As the normal user for each environment:
        rm -f /var/WorldVistAEHR/gtm_V5.2-001/g/mumps.gld
        cp /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001/g/mumps.gld /var/WorldVistAEHR/gtm_V5.2-001/g/
and
        rm -f /home/vista/myWorldVistAEHR/gtm_V5.2-001/g/mumps.gld
        cp /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001/g/mumps.gld /home/vista/myWorldVistAEHR/gtm_V5.2-001/g/
  • Recompile the object files in the top level release environment (ignore compilation errors; remember that some directories may not be empty this script takes care of the general case where there may be files in the different source directories). As root:
        source /usr/local/gtm_V5.2-001/gtmprofile
        cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001
        chmod u+w o
        cd o
        find ../../r -type f -name \*.m -print -exec mumps {} \;
        find ../../p -type f -name \*.m -print -exec mumps {} \;
        find ../r -type f -name \*.m -print -exec mumps {} \;
        find ../p -type f -name \*.m -print -exec mumps {} \;
        cd ..
        chmod -R a-w o
        cd add-ons
        chmod u+w o
        cd o
        mumps ../../../add-ons/*/{r,p}/*.m
        mumps ../*/{r,p}/*.m
        cd ..
        chmod -R a-w o
  • Object files in the working environments will be automatically recompiled as needed. In the event you wish to recompile them, e.g., to not see compilation errors when using VistA, do the following as the normal user in each environment (ignore compilation errors and complaints about files not found):
        source /usr/local/gtm/gtm_V5.2-001/gtmprofile
        cd /var/WorldVistAEHR/gtm_V5.2-001/o
        mumps ../../{r,p}/*.m
        mumps ../{r,p}/*.m
        cd ../add-ons/o
        mumps ../../../add-ons/{r,p}/*.m
        mumps ../*/{r,p}/*.m
and
        source /usr/local/gtm/gtm_V5.2-001/gtmprofile
        cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/o
        mumps ../../{r,p}/*.m
        mumps ../{r,p}/*.m
        cd ../add-ons/o
        mumps ../../../add-ons/{r,p}/*.m
        mumps ../*/{r,p}/*.m
  • Create new journal files in each working environment. As the normal user for each environment:
        source /usr/local/gtm/gtm_V5.2-001/gtmprofile
        cd /var/WorldVistAEHR/gtm_V5.2-001/g
        mupip set -journal="enable,on,before" -file mumps.dat
        rm mumps.mjl_*
and
        source /usr/local/gtm/gtm_V5.2-001/gtmprofile
        cd /home/vista//myWorldVistAEHR/gtm_V5.2-001/g
        mupip set -journal="enable,on,before" -file mumps.dat
        rm mumps.mjl_*
  • Verify each environment. As the normal user for each environment:
        /var/WorldVistAEHR/gtm_V5.2-001/run
and
        /home/myvista/myWorldVistAEHR/gtm_V5.2-001/run