# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the License). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/CDDL.txt # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/CDDL.txt. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets [] replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #ident "%Z%%M% %I% %E% SMI" # RESOURCE_TYPE = "ldom"; VENDOR_ID = SUNW; RT_DESCRIPTION = "Sun Cluster HA for xVM SPARC Guest Domains"; RT_version ="1"; API_version = 10; RT_basedir=/opt/SUNWscgds/bin; Init = ../../SUNWscxvm/bin/init_xvm; Boot = ../../SUNWscxvm/bin/boot_xvm; Start = gds_svc_start; Stop = gds_svc_stop; Validate = ../../SUNWscxvm/bin/validate_xvm; Update = gds_update; Monitor_start = gds_monitor_start; Monitor_stop = gds_monitor_stop; Monitor_check = gds_monitor_check; Init_nodes = RG_PRIMARIES; Failover = FALSE; # The paramtable is a list of bracketed resource property declarations # that come after the resource-type declarations # The property-name declaration must be the first attribute # after the open curly of a paramtable entry # # The following are the system defined properties. Each of the system defined # properties have a default value set for each of the attributes. Look at # man rt_reg(4) for a detailed explanation. # { PROPERTY = Start_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = Stop_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = Validate_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = Update_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = Monitor_Start_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = Monitor_Stop_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = Monitor_Check_timeout; MIN = 60; DEFAULT = 300; } { PROPERTY = FailOver_Mode; DEFAULT = SOFT; TUNABLE = ANYTIME; } { PROPERTY = Network_resources_used; TUNABLE = ANYTIME; DEFAULT = ""; } { PROPERTY = Thorough_Probe_Interval; MAX = 3600; DEFAULT = 60; TUNABLE = ANYTIME; } { PROPERTY = Retry_Count; MAX = 10; DEFAULT = 2; TUNABLE = ANYTIME; } { PROPERTY = Retry_Interval; MAX = 3600; DEFAULT = 370; TUNABLE = ANYTIME; } { PROPERTY = Port_list; DEFAULT = ""; TUNABLE = ANYTIME; } { PROPERTY = Scalable; DEFAULT = FALSE; TUNABLE = AT_CREATION; } { PROPERTY = Load_balancing_policy; DEFAULT = LB_WEIGHTED; TUNABLE = AT_CREATION; } { PROPERTY = Load_balancing_weights; DEFAULT = ""; TUNABLE = ANYTIME; } # # Extension Properties # # These two control the restarting of the fault monitor itself # (not the server daemon) by PMF. { PROPERTY = Monitor_retry_count; EXTENSION; INT; DEFAULT = 4; TUNABLE = ANYTIME; DESCRIPTION = "Number of PMF restarts allowed for the fault monitor"; } { PROPERTY = Monitor_retry_interval; EXTENSION; INT; DEFAULT = 2; TUNABLE = ANYTIME; DESCRIPTION = "Time window (minutes) for fault monitor restarts"; } # Time out value for the probe { PROPERTY = Probe_timeout; EXTENSION; INT; MIN = 2; DEFAULT = 30; TUNABLE = ANYTIME; DESCRIPTION = "Time out value for the probe (seconds)"; } # Child process monitoring level for PMF (-C option of pmfadm) # Default of -1 means: Do NOT use the -C option to PMFADM # A value of 0-> indicates the level of child process monitoring # by PMF that is desired. { PROPERTY = Child_mon_level; EXTENSION; INT; DEFAULT = -1; TUNABLE = AT_CREATION; DESCRIPTION = "Child monitoring level for PMF"; } # This is an optional property. Any value provided will be used as # the absolute path to a command to invoke to validate the application. # If no value is provided, The validation will be skipped. # { PROPERTY = Validate_command; EXTENSION; STRING; DEFAULT = ""; TUNABLE = NONE; DESCRIPTION = "Command to validate the application"; } # This property must be specified, since this is the only mechanism # that indicates how to start the application. Since a value must # be provided, there is no default. The value must be an absolute path. { PROPERTY = Start_command; EXTENSION; STRINGARRAY; DEFAULT = "/opt/SUNWscxvm/bin/control_xvm start -R %RS_NAME -T %RT_NAME -G %RG_NAME"; TUNABLE = NONE; DESCRIPTION = "Command to start application"; } # This is an optional property. Any value provided will be used as # the absolute path to a command to invoke to stop the application. # If no value is provided, signals will be used to stop the application. # # It is assumed that Stop_command will not return until the # application has been stopped. { PROPERTY = Stop_command; EXTENSION; STRING; DEFAULT = "/opt/SUNWscxvm/bin/control_xvm stop -R %RS_NAME -T %RT_NAME -G %RG_NAME"; TUNABLE = NONE; DESCRIPTION = "Command to stop application"; } # This is an optional property. Any value provided will be used as # the absolute path to a command to invoke to probe the application. # If no value is provided, the "simple_probe" will be used to probe # the application. # { PROPERTY = Probe_command; EXTENSION; STRING; DEFAULT = "/opt/SUNWscxvm/bin/control_xvm probe -R %RS_NAME -G %RG_NAME -T %RT_NAME"; TUNABLE = NONE; DESCRIPTION = "Command to probe application"; } # This is an optional property. It determines whether the application # uses network to communicate with its clients. # { PROPERTY = Network_aware; EXTENSION; BOOLEAN; DEFAULT = FALSE; TUNABLE = AT_CREATION; DESCRIPTION = "Determines whether the application uses network"; } # This is an optional property, which determines the signal sent to the # application for being stopped. # { PROPERTY = Stop_signal; EXTENSION; INT; MIN = 1; MAX = 37; DEFAULT = 15; TUNABLE = WHEN_DISABLED; DESCRIPTION = "The signal sent to the application for being stopped"; } # This is an optional property, which determines whether to failover when # retry_count is exceeded during retry_interval. # { PROPERTY = Failover_enabled; EXTENSION; BOOLEAN; DEFAULT = TRUE; TUNABLE = WHEN_DISABLED; DESCRIPTION = "Determines whether to failover when retry_count is exceeded during retry_interval"; } # This is an optional property that specifies the log level GDS events. # { PROPERTY = Log_level; EXTENSION; ENUM { NONE, INFO, ERR }; DEFAULT = "INFO"; TUNABLE = ANYTIME; DESCRIPTION = "Determines the log level for event based traces"; } { Property = Debug_level; Extension; Per_node; Int; Min = 0; Max = 2; Default = 0; Tunable = ANYTIME; Description = "Debug level"; } { Property = Domain_name; Extension; String; Minlength = 1; Tunable = WHEN_DISABLED; Description = "LDoms Guest Domain name"; } { Property = Migration_type; Extension; Enum { NORMAL, MIGRATE }; Default = "MIGRATE"; Tunable = ANYTIME; Description = "Type of guest domain migration to be performed"; } { PROPERTY = Plugin_probe; EXTENSION; STRING; DEFAULT = ""; TUNABLE = ANYTIME; DESCRIPTION = "Script or command to check the guest domain"; } { PROPERTY = Password_file; EXTENSION; STRING; DEFAULT = ""; TUNABLE = WHEN_DISABLED; DESCRIPTION = "The complete path to the file containing the target host password"; }