EPP Grid - Open Source Cluster Application Resources (OSCAR)


Start of topic | Skip to actions

Open Source Cluster Application Resources (OSCAR)

Setting up OSCAR on Scientific Linux 3.0.4

OSCAR is fully supported on Redhat Enterprise Linux AS 3, Updates 1 and 2. Although Scientific Linux is binary compatible with RH3, the installation and configuration of OSCAR requires some 'tweaking'.

1. download OSCAR

http://oscar.openclustergroup.org/download

at the time of writing (16/9/2005), the current version is oscar-4.1.

2. unpack it

tar -zxvf  oscar-4.1.tar.gz

3. configure and install it

cd oscar-4.1

./configure --prefix=OSCAR_HOME

where (in my case) OSCAR_HOME=/usr/local/oscar-4.1

or wherever you want to put it.

make install

4. copy all of the Scientific Linux rpm packages to /tftpboot/rpm

5. OSCAR will try to determine the release name and version of the server OS. It does this by querying the installed package list for (in the case of redhat) redhat-release-x.y.z.rpm. We don't want this as on Scientific Linux the package has been renamed to sl-release-x.y.z.rpm. So:

Save the following diff output to Distro.pm.p1 and then apply it to $OSCAR_HOME/lib/OSCAR/Distro.pm.

--- Distro.pm   2005-10-11 08:00:56.000000000 +1000
+++ Distro.pm.new       2005-10-11 08:00:12.000000000 +1000
@@ -39,6 +39,7 @@
                   'fedora-release'   => 'fedora',
                    'mandrake-release' => 'mandrake',
                    'redhat-release'   => 'redhat',
+                   'sl-release'        => 'redhat',
                   'aaa_version'      => 'suse',
                   'aaa_base'         => 'suse',
                    'debian_version'   => 'debian',
@@ -73,6 +74,8 @@
     if ($name eq "redhat" && $version =~ m/^3(ES|AS|WS)/) {
         $version = "3as";
     }
+    $name = "redhat";
+    $version = "3as";
     return (lc $name, lc $version);
 }

@@ -106,6 +109,8 @@
     if ($name eq "redhat" && $version =~ m/^3(ES|AS|WS)/) {
         $version = "3as";
     }
+    $name = "redhat";
+    $version = "3as";
     return (lc $name, lc $version);
 }

and then apply the patch with the following command:

patch -b -Np0 Distro.pm Distro.pm.p1

Edit /etc/issue, /etc/issue.net and /etc/redhat-release to contain:

Red Hat Enterprise Linux AS release 3 (Taroon)

6. from the OSCAR directory

cd /usr/local/oscar-4.1

./install_cluster eth0

when the installation fails, patch the following files:

/usr/lib/perl5/site_perl/OSCAR/DepMan/UpdateRPMs.pm

--- UpdateRPMs.pm       2005-10-11 08:16:21.000000000 +1000
+++ UpdateRPMs.pm.new   2005-10-11 08:06:38.000000000 +1000
@@ -68,7 +68,7 @@
 # are the root directory being passed to the PackMan constructor.
 sub usable {
   my @DISTROFILES = ( 'fedora-release', 'mandrake-release', 'redhat-release',
-                       'redhat-release-as', 'aaa_version', 'aaa_base' );
+                       'sl-release', 'redhat-release-as', 'aaa_version', 'aaa_base' );

   ref (shift) and croak ("usable is a class method");
   my $chroot = shift;

and

/usr/lib/perl5/site_perl/OSCAR/PackMan/RPM.pm

--- RPM.pm      2005-10-11 08:09:06.000000000 +1000
+++ RPM.pm.new  2005-10-11 08:08:56.000000000 +1000
@@ -35,7 +35,7 @@
 sub usable {

   my @DISTROFILES = ( 'fedora-release', 'mandrake-release', 'redhat-release',
-    'redhat-release-as', 'aaa_version', 'aaa_base' );
+    'sl-release', 'redhat-release-as', 'aaa_version', 'aaa_base' );

   ref (shift) and croak ("usable is a class method");
   my $chroot = shift;

the installer should work now.

7. Once you reach the point of building a client image, you will also need to patch:

/usr/lib/systeminstaller/SystemInstaller/Image.pm

--- Image.pm    2005-10-11 08:18:33.000000000 +1000
+++ Image.pm.new        2005-10-11 08:10:15.000000000 +1000
@@ -157,6 +157,8 @@
                if ($version =~ m/3(WS|ES)/) {
                        $version = "3AS";
                }
+                $distro = "Redhat";
+                $version = "3AS";
                 return($distro,$version);
         }
         undef @relfiles;

8. If all is well, you should now be able to use OSCAR as intended! Have fun : )

Notes:

In /usr/lib/systemconfig/Boot.pm, all boot loaders other than Lilo were commented out. Note that only one kernel should be specified in the RPM list otherwise sysimager gets confused (it's to do with how the name of the kernel packages is parsed).

Installation of an LCG-2.6 Compute Element

1. Some packages need to be removed:

rpm -e perl-Net-SSLeay-1.25-2.1.el3.rf perl-IO-Socket-SSL-0.96-1.1.el3.rf perl-DBD-MySQL-2.1021-3.i386.rpm mysql-3.23.58-2.3.i386.rpm mysql-server-3.23.58-2.3.i386.rpm

2. OSCAR services need to be shutdown.

OSCAR_SERVICES="flamethrower-server mysqld systemimager-server-flamethrowerd systemimager-server-netbootmond systemimager-server-rsyncd"

for i in $OSCAR_SERVICES; do 
  service $i stop
  chkconfig $i off
done

3. Install YAIM as per instructions at the LCG installation page on this twiki.

If OSCAR needs to be used:

rpm -e --nodeps MySQL-client-4.0.25-sl3 MySQL-shared-4.0.25-sl3 MySQL-devel-4.0.25-sl3 MySQL-server-4.0.25-sl3

rpm -ivh perl-DBD-MySQL-2.1021-3.i386.rpm mysql-3.23.58-2.3.i386.rpm mysql-server-3.23.58-2.3.i386.rpm

To go back to grid:

rpm -e --nodeps perl-DBD-MySQL-2.1021-3.i386.rpm mysql-3.23.58-2.3.i386.rpm mysql-server-3.23.58-2.3.i386.rpm

apt-get update

apt-get dist-upgrade # will fix the installation

** edited /etc/passwd: oscartst (/bin/bash) --> (/sbin/nologin)

key Log In Revision:  r8 - 10 Oct 2005 - MarcoLaRosa
Authorised by:  Geoff Taylor (G.Taylor @ physics.unimelb.edu.au)
Maintained using:  This site is powered by the TWiki collaboration platform
Copyright © 2000-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.