1 #!/usr/bin/ksh
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/CDDL.txt
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/CDDL.txt.
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 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25 #ident "%Z%%M% %I% %E% SMI"
26 #
27 #
28 # DO NOT EDIT THIS FILE
29 #
30
31 create_xml()
32 {
33 MYDIR=/opt/SUNWscids
34 MANIFEST_DIR=/var/svc/manifest/application/sczone-agents
35
36 [ ! -d "${MANIFEST_DIR}" ] && mkdir -p ${MANIFEST_DIR}
37
38 cat > ${MANIFEST_DIR}/${RS}.xml <<-EOF
39 <?xml version="1.0"?>
40 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
41
42 <!--
43 Copyright 2007 Sun Microsystems, Inc. All rights reserved.
44 Use is subject to license terms.
45 -->
46
47 <service_bundle type='manifest' name='${RS}'>
48
49 <service
50 name='application/sczone-agents'
51 type='service'
52 version='1'>
53
54 <instance name='${RS}' enabled='false'>
55
56 <!--
57 Dependencies
58 -->
59
60 <dependency name='ids_services'
61 grouping='require_all'
62 restart_on='none'
63 type='service'>
64 <service_fmri value='svc:/milestone/multi-user-server'/>
65 </dependency>
66
67 <dependency name='ids_paths'
68 grouping='require_all'
69 restart_on='none'
70 type='path'>
71 <service_fmri value='file://${INFORMIXDIR}'/>
72 </dependency>
73
74 <exec_method
75 type='method'
76 name='start'
77 exec='${MYDIR}/bin/control_ids start ids ${RS}'
78 timeout_seconds='300' >
79 <method_context project='${PROJECT}' >
80 <method_credential user='${USERID}' />
81 </method_context>
82 </exec_method>
83
84 <exec_method
85 type='method'
86 name='stop'
87 exec='${MYDIR}/bin/control_ids stop ids ${RS}'
88 timeout_seconds='300' >
89 <method_context project='${PROJECT}'>
90 <method_credential user='${USERID}' />
91 </method_context>
92 </exec_method>
93
94 <property_group name='parameters' type='general'>
95 <propval name='RESOURCE' type='astring' value='${RS}'/>
96 <propval name='RESOURCEGROUP' type='astring' value='${RG}'/>
97 <propval name='ONCONFIG' type='astring' value='${ONCONFIG}'/>
98 <propval name='INFORMIXDIR' type='astring' value='${INFORMIXDIR}'/>
99 <propval name='INFORMIXSERVER' type='astring' value='${INFORMIXSERVER}'/>
100 <propval name='INFORMIXSQLHOSTS' type='astring' value='${INFORMIXSQLHOSTS}'/>
101 <propval name='START_TIMEOUT' type='astring' value='${START_TIMEOUT}'/>
102 <propval name='STOP_TIMEOUT' type='astring' value='${STOP_TIMEOUT}'/>
103 </property_group>
104
105 <property_group name='startd' type='framework'>
106 <propval name='ignore_error' type='astring' value='core'/>
107 </property_group>
108
109 </instance>
110
111 <stability value='Evolving' />
112
113 <template>
114 <common_name>
115 <loctext xml:lang='C'>
116 Informix Dynamic Server
117 </loctext>
118 </common_name>
119 </template>
120 </service>
121
122 </service_bundle>
123
124 EOF
125 }
126
127 # $1 is passed from ids_register as ${TMP_WORK_CONFIG}
128 if [ -n "${1}" ]
129 then
130 . $1
131 else
132 /usr/bin/printf "Configuration file not found\n"
133 fi
134
135 create_xml
136
137 /usr/bin/printf "${MANIFEST_DIR}/${RS}.xml successfully created\n"
138
139 if /usr/sbin/svccfg validate ${MANIFEST_DIR}/${RS}.xml; then
140 /usr/bin/printf "${MANIFEST_DIR}/${RS}.xml successfully validated\n"
141 else
142 /usr/bin/printf "${MANIFEST_DIR}/${RS}.xml validation failed\n"
143 exit 1
144 fi
145
146 if /usr/sbin/svccfg import ${MANIFEST_DIR}/${RS}.xml; then
147 /usr/bin/printf "${MANIFEST_DIR}/${RS}.xml successfully imported\n"
148 else
149 /usr/bin/printf "${MANIFEST_DIR}/${RS}.xml import failed\n"
150 exit 1
151 fi
152
153 exit 0