Friday Apr 24, 2009

Upgrade to Sun Cluster 3.2 1/09 Update2 and SUNWscr preremove script

There is a missing/old preremove script in Sun Cluster 3.2 2/08 Update1 which is equivalent to the patches
126106-12 until -19 Sun Cluster 3.2: CORE patch for Solaris 10
126107-12 until -19 Sun Cluster 3.2: CORE patch for Solaris 10_x86
126105-12 until -19 Sun Cluster 3.2: CORE patch for Solaris 9

This means in case of Upgrade (using scinstall -u) from Sun Cluster 3.2 to Sun Cluster 3.2 update1 or update2 the issue can occur.
More details available in Missing preremove script in Sun Cluster 3.2 core patch revision 12 and higher.
The issue is, if the mentioned Sun Cluster core patches are installed it is not possible to remove the SUNWscr package within the upgrade to Sun Cluster 3.2 1/09 Update2.

The problem looks as:
# ./scinstall -u update
Starting upgrade of Sun Cluster framework software
Saving current Sun Cluster configuration
Do not boot this node into cluster mode until upgrade is complete.
Renamed "/etc/cluster/ccr" to "/etc/cluster/ccr.upgrade".
\*\* Removing Sun Cluster framework packages \*\*
    ...
    Removing SUNWscrtlh..done
    Removing SUNWscr.....failed
    scinstall: Failed to remove "SUNWscr"
    Removing SUNWscscku..done
    ...
scinstall: scinstall did NOT complete successfully!

126106-12 until -19 Sun Cluster 3.2: CORE patch for Solaris 10
126107-12 until -19 Sun Cluster 3.2: CORE patch for Solaris 10_x86
126105-12 until -19 Sun Cluster 3.2: CORE patch for Solaris 9

This means in case of Upgrade (using scinstall -u) from Sun Cluster 3.2 to Sun Cluster 3.2 update1 or update2 the issue can occur.
More details available in Missing preremove script in Sun Cluster 3.2 core patch revision 12 and higher.
The issue is, if the mentioned Sun Cluster core patches are installed it is not possible to remove the SUNWscr package within the upgrade to Sun Cluster 3.2 1/09 Update2.

The problem looks as:
# ./scinstall -u update
Starting upgrade of Sun Cluster framework software
Saving current Sun Cluster configuration
Do not boot this node into cluster mode until upgrade is complete.
Renamed "/etc/cluster/ccr" to "/etc/cluster/ccr.upgrade".
\*\* Removing Sun Cluster framework packages \*\*
    ...
    Removing SUNWscrtlh..done
    Removing SUNWscr.....failed
    scinstall: Failed to remove "SUNWscr"
    Removing SUNWscscku..done
    ...
scinstall: scinstall did NOT complete successfully!


Workaround:
Before the upgrade to Sun Cluster 3.2 Update1/Update2 install the following patch which delivers a correct preremove script for Sun Cluster 3.2
140016 Sun Cluster 3.2: CORE patch for Solaris 9
140017 Sun Cluster 3.2: CORE patch for Solaris 10
140018 Sun Cluster 3.2: CORE patch for Solaris 10_x86

If already one of the following patches installed then the above patches are not necessary, because these patches also include a correct preremove script for package SUNWscr.
126106-27 or higher Sun Cluster 3.2: CORE patch for Solaris 10
126107-28 or higher Sun Cluster 3.2: CORE patch for Solaris 10_x86
126105-26 or higher Sun Cluster 3.2: CORE patch for Solaris 9

This is reported in bugs 6676771 and 6747530 with further details.

Tuesday May 27, 2008

Missing preremove script in Sun Cluster 3.2 core patch revision 12 and higher.

In my last blog I stated that Sun Cluster 3.2 GA release with the -12 Sun Cluster core patch is the same as Sun Cluster 3.2 2/08 aka Update1. This is still true but the preremove script of the SUNWscr package is missing in the Sun Cluster 3.2 core patch revision -12 and higher. This is documented as internal bug 6676771. Therefore it's NOT possible to remove the SUNWscr package when the revision -12 or higher of the Sun Cluster 3.2 core patch is installed. (Lower revisions of the core patches are NOT affected.) The remove of the SUNWscr package is necessary in case of an upgrade by using the command "scinstall -u update".


The fastest workaround is described the special install instructions of the Sun Cluster core patch revision -12:
NOTE 5: After removing this patch, remove the SunCluster smf service for
        service tag.
        svcadm disable /system/cluster/sc_svtag:default
        svccfg delete /system/cluster/sc_svtag:default
Execute these commands before the start of Sun Cluster upgrade.


To fix the issue immediately it's possible to change the preremove script of SUNWscr package. At the moment the preremove script of SUNWscr will NOT be delivered with the Sun Cluster core patch. Therefore the workaround is persistent.

Add the following to the /var/sadm/pkg/SUNWscr/install/preremove script (version 1.3):

1.) New subroutine (before the main part)
remove_svtag()
{
      STCLIENT=${BASEDIR}/usr/bin/stclient
      CL_URN_FILE=${BASEDIR}/var/sadm/servicetag/cl.urn
      if [ -f ${CL_URN_FILE} ]; then
         # read the urn from the file
         URN=`cat ${CL_URN_FILE}`
         if [ -f ${STCLIENT} ]; then
         ${STCLIENT} -d -i ${URN} >/dev/null 2>&1
         fi
         rm -f ${CL_URN_FILE}
      fi
      return 0
}


2.) In the part of SVCADMD="/usr/sbin/svcadm disable -s" add
$SVCADMD svc:/system/cluster/sc_svtag:default

3.) Near the end of main routine before the line "if [ ${errs} -ne 0 ]; then" add
# Remove service tag for cluster
remove_svtag || errs=`expr ${errs} + 1`


Or download the new preremove version 1.5 script for SUNWscr package and replace the 1.3 version.
# cd /var/sadm/pkg/SUNWscr/install/
# cp premove premove.old
# cp preremove_version1.5_SUNWscr premove

About

I'm still mostly blogging around Solaris Cluster and support. Independently if for Sun Microsystems or Oracle. :-)

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
   
       
Today