1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the License).
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/CDDL.txt
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/CDDL.txt.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets [] replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21 #
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25 #ident "%Z%%M% %I% %E% SMI"
26 #
27
28 RESOURCE_TYPE = "ldom";
29 VENDOR_ID = SUNW;
30 RT_DESCRIPTION = "Sun Cluster HA for xVM SPARC Guest Domains";
31
32 RT_version ="1";
33 API_version = 10;
34
35 RT_basedir=/opt/SUNWscgds/bin;
36
37 Init = ../../SUNWscxvm/bin/init_xvm;
38 Boot = ../../SUNWscxvm/bin/boot_xvm;
39
40 Start = gds_svc_start;
41 Stop = gds_svc_stop;
42
43 Validate = ../../SUNWscxvm/bin/validate_xvm;
44 Update = gds_update;
45
46 Monitor_start = gds_monitor_start;
47 Monitor_stop = gds_monitor_stop;
48 Monitor_check = gds_monitor_check;
49
50 Init_nodes = RG_PRIMARIES;
51 Failover = FALSE;
52
53 # The paramtable is a list of bracketed resource property declarations
54 # that come after the resource-type declarations
55 # The property-name declaration must be the first attribute
56 # after the open curly of a paramtable entry
57 #
58 # The following are the system defined properties. Each of the system defined
59 # properties have a default value set for each of the attributes. Look at
60 # man rt_reg(4) for a detailed explanation.
61 #
62 {
63 PROPERTY = Start_timeout;
64 MIN = 60;
65 DEFAULT = 300;
66 }
67 {
68 PROPERTY = Stop_timeout;
69 MIN = 60;
70 DEFAULT = 300;
71 }
72 {
73 PROPERTY = Validate_timeout;
74 MIN = 60;
75 DEFAULT = 300;
76 }
77 {
78 PROPERTY = Update_timeout;
79 MIN = 60;
80 DEFAULT = 300;
81 }
82 {
83 PROPERTY = Monitor_Start_timeout;
84 MIN = 60;
85 DEFAULT = 300;
86 }
87 {
88 PROPERTY = Monitor_Stop_timeout;
89 MIN = 60;
90 DEFAULT = 300;
91 }
92 {
93 PROPERTY = Monitor_Check_timeout;
94 MIN = 60;
95 DEFAULT = 300;
96 }
97 {
98 PROPERTY = FailOver_Mode;
99 DEFAULT = SOFT;
100 TUNABLE = ANYTIME;
101 }
102 {
103 PROPERTY = Network_resources_used;
104 TUNABLE = ANYTIME;
105 DEFAULT = "";
106 }
107 {
108 PROPERTY = Thorough_Probe_Interval;
109 MAX = 3600;
110 DEFAULT = 60;
111 TUNABLE = ANYTIME;
112 }
113 {
114 PROPERTY = Retry_Count;
115 MAX = 10;
116 DEFAULT = 2;
117 TUNABLE = ANYTIME;
118 }
119 {
120 PROPERTY = Retry_Interval;
121 MAX = 3600;
122 DEFAULT = 370;
123 TUNABLE = ANYTIME;
124 }
125
126 {
127 PROPERTY = Port_list;
128 DEFAULT = "";
129 TUNABLE = ANYTIME;
130 }
131
132 {
133 PROPERTY = Scalable;
134 DEFAULT = FALSE;
135 TUNABLE = AT_CREATION;
136 }
137
138 {
139 PROPERTY = Load_balancing_policy;
140 DEFAULT = LB_WEIGHTED;
141 TUNABLE = AT_CREATION;
142 }
143
144 {
145 PROPERTY = Load_balancing_weights;
146 DEFAULT = "";
147 TUNABLE = ANYTIME;
148 }
149
150 #
151 # Extension Properties
152 #
153
154 # These two control the restarting of the fault monitor itself
155 # (not the server daemon) by PMF.
156 {
157 PROPERTY = Monitor_retry_count;
158 EXTENSION;
159 INT;
160 DEFAULT = 4;
161 TUNABLE = ANYTIME;
162 DESCRIPTION = "Number of PMF restarts allowed for the fault monitor";
163 }
164
165 {
166 PROPERTY = Monitor_retry_interval;
167 EXTENSION;
168 INT;
169 DEFAULT = 2;
170 TUNABLE = ANYTIME;
171 DESCRIPTION = "Time window (minutes) for fault monitor restarts";
172 }
173
174 # Time out value for the probe
175 {
176 PROPERTY = Probe_timeout;
177 EXTENSION;
178 INT;
179 MIN = 2;
180 DEFAULT = 30;
181 TUNABLE = ANYTIME;
182 DESCRIPTION = "Time out value for the probe (seconds)";
183 }
184
185 # Child process monitoring level for PMF (-C option of pmfadm)
186 # Default of -1 means: Do NOT use the -C option to PMFADM
187 # A value of 0-> indicates the level of child process monitoring
188 # by PMF that is desired.
189 {
190 PROPERTY = Child_mon_level;
191 EXTENSION;
192 INT;
193 DEFAULT = -1;
194 TUNABLE = AT_CREATION;
195 DESCRIPTION = "Child monitoring level for PMF";
196 }
197
198 # This is an optional property. Any value provided will be used as
199 # the absolute path to a command to invoke to validate the application.
200 # If no value is provided, The validation will be skipped.
201 #
202 {
203 PROPERTY = Validate_command;
204 EXTENSION;
205 STRING;
206 DEFAULT = "";
207 TUNABLE = NONE;
208 DESCRIPTION = "Command to validate the application";
209 }
210
211 # This property must be specified, since this is the only mechanism
212 # that indicates how to start the application. Since a value must
213 # be provided, there is no default. The value must be an absolute path.
214 {
215 PROPERTY = Start_command;
216 EXTENSION;
217 STRINGARRAY;
218 DEFAULT = "/opt/SUNWscxvm/bin/control_xvm start -R %RS_NAME -T %RT_NAME -G %RG_NAME";
219 TUNABLE = NONE;
220 DESCRIPTION = "Command to start application";
221 }
222
223 # This is an optional property. Any value provided will be used as
224 # the absolute path to a command to invoke to stop the application.
225 # If no value is provided, signals will be used to stop the application.
226 #
227 # It is assumed that Stop_command will not return until the
228 # application has been stopped.
229 {
230 PROPERTY = Stop_command;
231 EXTENSION;
232 STRING;
233 DEFAULT = "/opt/SUNWscxvm/bin/control_xvm stop -R %RS_NAME -T %RT_NAME -G %RG_NAME";
234 TUNABLE = NONE;
235 DESCRIPTION = "Command to stop application";
236 }
237
238 # This is an optional property. Any value provided will be used as
239 # the absolute path to a command to invoke to probe the application.
240 # If no value is provided, the "simple_probe" will be used to probe
241 # the application.
242 #
243 {
244 PROPERTY = Probe_command;
245 EXTENSION;
246 STRING;
247 DEFAULT = "/opt/SUNWscxvm/bin/control_xvm probe -R %RS_NAME -G %RG_NAME -T %RT_NAME";
248 TUNABLE = NONE;
249 DESCRIPTION = "Command to probe application";
250 }
251
252 # This is an optional property. It determines whether the application
253 # uses network to communicate with its clients.
254 #
255 {
256 PROPERTY = Network_aware;
257 EXTENSION;
258 BOOLEAN;
259 DEFAULT = FALSE;
260 TUNABLE = AT_CREATION;
261 DESCRIPTION = "Determines whether the application uses network";
262 }
263
264 # This is an optional property, which determines the signal sent to the
265 # application for being stopped.
266 #
267 {
268 PROPERTY = Stop_signal;
269 EXTENSION;
270 INT;
271 MIN = 1;
272 MAX = 37;
273 DEFAULT = 15;
274 TUNABLE = WHEN_DISABLED;
275 DESCRIPTION = "The signal sent to the application for being stopped";
276 }
277
278 # This is an optional property, which determines whether to failover when
279 # retry_count is exceeded during retry_interval.
280 #
281 {
282 PROPERTY = Failover_enabled;
283 EXTENSION;
284 BOOLEAN;
285 DEFAULT = TRUE;
286 TUNABLE = WHEN_DISABLED;
287 DESCRIPTION = "Determines whether to failover when retry_count is exceeded during retry_interval";
288 }
289
290 # This is an optional property that specifies the log level GDS events.
291 #
292 {
293 PROPERTY = Log_level;
294 EXTENSION;
295 ENUM { NONE, INFO, ERR };
296 DEFAULT = "INFO";
297 TUNABLE = ANYTIME;
298 DESCRIPTION = "Determines the log level for event based traces";
299 }
300
301 {
302 Property = Debug_level;
303 Extension;
304 Per_node;
305 Int;
306 Min = 0;
307 Max = 2;
308 Default = 0;
309 Tunable = ANYTIME;
310 Description = "Debug level";
311 }
312
313 {
314 Property = Domain_name;
315 Extension;
316 String;
317 Minlength = 1;
318 Tunable = WHEN_DISABLED;
319 Description = "LDoms Guest Domain name";
320 }
321
322 {
323 Property = Migration_type;
324 Extension;
325 Enum { NORMAL, MIGRATE };
326 Default = "MIGRATE";
327 Tunable = ANYTIME;
328 Description = "Type of guest domain migration to be performed";
329 }
330
331 {
332 PROPERTY = Plugin_probe;
333 EXTENSION;
334 STRING;
335 DEFAULT = "";
336 TUNABLE = ANYTIME;
337 DESCRIPTION = "Script or command to check the guest domain";
338 }
339
340 {
341 PROPERTY = Password_file;
342 EXTENSION;
343 STRING;
344 DEFAULT = "";
345 TUNABLE = WHEN_DISABLED;
346 DESCRIPTION = "The complete path to the file containing the target host password";
347 }
348