Home | History | Annotate | Download | only in common
      1 #!/sbin/sh
      2 #
      3 # CDDL HEADER START
      4 #
      5 # The contents of this file are subject to the terms of the
      6 # Common Development and Distribution License (the "License").
      7 # You may not use this file except in compliance with the License.
      8 #
      9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10 # or http://www.opensolaris.org/os/licensing.
     11 # See the License for the specific language governing permissions
     12 # and limitations under the License.
     13 #
     14 # When distributing Covered Code, include this CDDL HEADER in each
     15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16 # If applicable, add the following below this CDDL HEADER, with the
     17 # fields enclosed by brackets "[]" replaced with your own identifying
     18 # information: Portions Copyright [yyyy] [name of copyright owner]
     19 #
     20 # CDDL HEADER END
     21 #
     22 
     23 #
     24 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     25 # Use is subject to license terms.
     26 #
     27 
     28 #
     29 # RCM script to inform the need to run 'sdpadm disable' before removing the
     30 # last IB HCA, when SDP is enabled in the system.
     31 #
     32 
     33 rcm_script_version=1
     34 rcm_script_func_info="SDP (un)configuration rcm script"
     35 rcm_cmd_timeout=10
     36 rcm_resource_name=/devices/ib/sdpib@0:sdpib
     37 
     38 do_scriptinfo()
     39 {
     40 	printf "rcm_script_version=%d\n" $rcm_script_version;
     41 	printf "rcm_script_func_info=$rcm_script_func_info\n";
     42 	printf "rcm_cmd_timeout=%d\n" $rcm_cmd_timeout;
     43 	exit 0;
     44 }
     45 
     46 do_register()
     47 {
     48 	printf "rcm_resource_name=%s\n" $rcm_resource_name;
     49 	exit 0;
     50 }
     51 
     52 do_resourceinfo()
     53 {
     54 	if [ x"$1" = x"/devices/ib/sdpib@0:sdpib" ]
     55 	then
     56 		printf "rcm_resource_usage_info=SDP IB device 0\n";
     57 		exit 0;
     58 	else
     59 		printf "rcm_failure_reason=Unknown SDP device\n";
     60 		exit 3;
     61 	fi
     62 }
     63 
     64 do_queryremove()
     65 {
     66 	status=`sdpadm status`
     67 	ret=$?
     68 
     69 	if [ $ret -eq 0 ] && [ "$status" != "SDP is Disabled" ]
     70 	then
     71 		printf "rcm_log_warn=SDP is enabled. Please run 'sdpadm disable' command "
     72 		printf "before un-configuring IB HCA/SDP\n";
     73 		printf "rcm_failure_reason=SDP is enabled on this system\n";
     74 		exit 3;
     75 	elif [ $ret -ne 0 ]
     76 	then
     77 		printf "rcm_log_warn='sdpadm status' command failed. Could not find the "
     78 		printf "status of SDP\n";
     79 		printf "rcm_failure_reason='sdpadm status' command failed.\n";
     80 		exit 1;
     81 	fi
     82 	exit 0;
     83 }
     84 
     85 do_preremove()
     86 {
     87 	exit 0;
     88 }
     89 
     90 do_undoremove()
     91 {
     92 	exit 0;
     93 }
     94 
     95 do_postremove()
     96 {
     97 	exit 0;
     98 }
     99 
    100 case "$1" in 
    101 	scriptinfo) do_scriptinfo;;
    102 	register) do_register;;
    103 	resourceinfo) do_resourceinfo $2;;
    104 	queryremove) do_queryremove $2;;
    105 	preremove) do_preremove $2;;
    106 	undoremove) do_undoremove $2;;
    107 	postremove) do_postremove $2;;
    108 	*) echo Unknown option $1;;
    109 esac
    110