You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 88 Next »

Basic Steps
  1. down load the files from the java download site  to /tmp. You will use gtar -C <path> or execute *.bin to put the files to the directory.
  2. check space availablity for each target directory by running checkQuota
  3. make sure you are in the shadow directory, e.g. /afs/.slac...  and not /afs/slac (no dot)
  4. IF you get an executable (*.bin) then use the installJava script and you create the jdk-* subdirectory under each OS directory first, e.g. linux, solaris, etc.
  5. IF you get zipped tarballs (*.gz) use the installJava7 script which uses gtar -C to unpack and create/install the directories.
  6. change the patch variable in the install script (installJava or installJava7) to the latest patch number
  7. cd to the place where you downloaded all the files, e.g. /tmp on glastlnx07
  8. Make sure to change the patch number before running the script.
  9. Edit the install script and check that the new version names will unpack properly. Run the installJava* script.
  10. run the release script to deploy the new versions to the read-only disk.
  11. restart the test server and check that everything still works
  12. restart all the other servers. Use the server monitoring page to do this. If that doesn't work, logon to the machine and run the stop/start scripts.
  13. update the web page (see url address below)
  14. announce to mailing lists (see list names below)

Download sites:

Main site http://www.oracle.com/technetwork/index.html

The download url for Java version 6 (may change but currently)  is

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html

download url for Java version 7

http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

Download to /tmp, the set of files that match the pattern:

Pattern

Example

AFS Directory

jdk-*-linux-i586.bin

jdk-6u26-linux-i586.bin

i386_linux

jdk-*-linux-i586.tar.gz

jdk-7u1-linux-i586.tar.gz

i386_linux

jdk-*-solaris-sparc.sh

jdk-6u26-solaris-sparc.sh

sun4x_55

jdk-*-solaris-sparc.tar.gz

jdk-7u1-solaris-sparc.tar.gz

sun4x_55

jdk-*-linux-x64.bin

jdk-6u26-linux-x64.bin

amd64_linux

jdk-*-linux-x64.tar.gz

jdk-7u1-linux-x64.tar.gz

amd64_linux

jdk-*-solaris-sparcv9.sh

jdk-6u26-solaris-sparcv9.sh

sun4x_55/lib/sparc

jdk-*-solaris-sparc.tar.gz

jdk-7u1-solaris-sparc.tar.gz

sun4x_55

Make sure there is sufficient space in the target directories by running

/afs/.slac.stanford.edu/package/java/common/install/checkQuota

if not, clean up by deleting old releases in:

  • /afs/.slac.stanford.edu/package/java/i386_linux2
  • /afs/.slac.stanford.edu/package/java/amd64_linux
  • /afs/.slac.stanford.edu/package/java/sun4x_55

Old releases should not have links to them and their release number should be several levels lower than a current release.

If you still need more space put in an  afs request

Use the mkdir command to create the new directory, if needed; for example for patch 26:

        cd /afs/.slac.stanford.edu/package/java/i386_linux2

        mkdir jdk1.6.0_26

Target Directories - Readonly and Shadow Version

visible path = /afs/slac/package/java/directory_name

shadow path = /afs/.slac/package/java/directory_name (note the dot in the path;  the ls command will not show this dir)

directory_name

afs volume of visible path

afs volume of shadow path

i386_linux

pkg.java.i386_linux2.read

pkg.java.i386_linux2

amd64_linux

pkg.java.amd64_linux.read

pkg.java.amd64_linux

*sun4x_55

pkg.java.sun4x_55.readonl

pkg.java.sun4x_55

*If a download release contains two files one ends up in the target directory under bin

Install the new versions

Change the patch number by editing the script installJava located in

/afs/.slac.stanford.edu/package/java/common/install/installJava

cd to /tmp where you should have downloaded all the files and execute installJava(7) from there. If using tarballs then cd to /tmp on glastlnx07.

Deploy the new versions

The script /afs/slac.stanford.edu/package/java/build/release is a bourne shell script that assembles the names of the volumes in the java directory that will be updated and then makes calls to the vos_release command which in turn calls vos commands to update a release.  The same script is in the shadow directory but it refers to the visible path when building the package list.

The tomcat script (usually in the ~glast/tomcat/scripts directory) is where the "current" version of java is specified. Tony or Max updates this script.

Once you deploy the new version you must restart the servers so they can pick up the changes. The best way is to restart the test server and see if everything is ok there. If nothing breaks then restart the other servers. The Fermi experiment has an application called Server Monitoring which gives a list of all servers and a way to start or stop the server. Use the show details link to see what version of java is on the server. Glastlnx08 is the test server so restart it first.

For other experiments that do not have this application, you must log on to each server and restart it manually.

Updating the Web Page

Update the web page in the shadow directory (the visible directory is read-only).The path is /afs/.slac.stanford.edu/package/java/common/doc. Use the path plus index.html in the browser location window to view your changes. Once the code is released the web page will also be updated with the copy in the shadow directory.

If you need to make changes to the web page only then rerun the release script using common as the argument:

     /afs/slac.stanford.edu/package/java/build/release common

The common directory, containing the web page index.html will be updated. View the changes on line using the url

http://www.slac.stanford.edu/comp/java/index.html

Announce via Mailing Lists

Email Address

Type

Authorization Needed

Comment

slac-java@slac.stanford.edu

majordomo

no

 

lcd-l@slac.stanford.edu

majordomo

need membership

ask Norm Graf to post

comp-change

majordomo

yes

unix-admin can post so email your message to them and ask them to post it.

Fermi datalist

campus list

yes

need to be Fermi collaborator. Post via the web url:
   https://www-glast.stanford.edu/protected/mail/data/

Policy File

For new java versions you may also need to install a new policy file. These files

should go into a jce directory.

Policy File

Location

Download

jce-1-5

/afs/.slac.stanford.edu/package/java/common/jce-1.5

?

jce-1-6

/afs/.slac.stanford.edu/package/java/common/jce-1.6

http://www.oracle.com/technetwork/java/javase/downloads/index.html

jce-1-7

/afs/.slac.stanford.edu/package/java/common/jce-1.7

http://www.oracle.com/technetwork/java/javase/downloads/index.html

The package.links file contain the list of values for @sys. Links go to a wrapper in common directory, which
magically re-direct to the appropriate binary. So, if you've created a softlink, say i386_rhel60 -> i386_linux2, then you might need to update the PACKAGE.LINKS file so that @sys will know about i386_rhel60. Every few hours a cronjob runs to pick up any new @sys names.

  1. cd /afs.slac.stanford.edu/package/java (the shadow directory)
  2. edit PACKAGE.LINKS (add the softlink to the @sys list, e.g. i386_rhel60)
  3. cd /afs/.slac.stanford.edu/package/build
  4. invoke /usr/local/bin/vos_release pkg.java
  • No labels