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