cmmakepkg man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

cmmakepkg(1m)							 cmmakepkg(1m)

NAME
       cmmakepkg - create a high availability package configuration file

SYNOPSIS
       cmmakepkg [-v {0 | 1 | 2}] [-f format] -l [[-m module_file_name]...]

       cmmakepkg [-v {0 | 1 | 2}] [-n package_name]
       [-i   pkg_ascii_file]  [[-m  module_file_name[-tfile_name]]...]	 [out‐
       put_file_name]

       cmmakepkg [-v {0 | 1 | 2}] -u pkg_ascii_file [[-m module_file_name]...]
       [output_file_name]

       cmmakepkg [-v {0 | 1 | 2}] {-s | -p} [output_file_name]

DESCRIPTION
       cmmakepkg  creates  a  template package configuration file based on the
       specified module(s).

       Package modules contain a collection of	related	 attributes  that  are
       used  as building blocks to generate the template package configuration
       file. In addition, the modules supply start/stop scripts	 which,	 based
       on  attribute values, perform the start and stop action of the packages
       components.

       In the first form, cmmakepkg provides a list of available modules  that
       may  be	used to build the package template configuration file; or list
       the contents of the specified module files.  cmmakepkg uses the	speci‐
       fied  modules  to  generate  a specific package configuration template.
       Only package attributes defined within the  specified  modules  can  be
       configured in a particular package configuration file.

       There  are  three  types of package modules - base, optional and aggre‐
       gate.

       A base module contains all the common attributes that are required  for
       all  packages.  It is a required module to build any package. There are
       three base modules:

	    sg/failover		   defines the failover package, which runs on
				   a node at a time.

	    sg/multi_node	   defines  the multi-node package, which is a
				   special-purpose package  that  can  run  on
				   more than one node at the same time.

	    sg/system_multi_node   defines   the  system  multi-node  package,
				   which runs on all  nodes  in	 the  cluster.
				   System  multi-node  packages	 are only sup‐
				   ported for use by applications provided  by
				   Hewlett-Packard.

       They  are  mutually  exclusive  of  each other; only one can be used to
       build a given package.  In order to create a minimal package configura‐
       tion  file  one	of  the	 base  modules	must be specified directly, or
       included in a specifed module on the command line.  If no  base	module
       is  specified, the sg/default module will be used as the default, which
       is linked to sg/all, so the package template will include failover  and
       all optional modules.

       An optional module defines a specific optional feature that can be used
       in a package. For example: sg/package_ip defines the attributes	needed
       to  configure  package  IP addresses; sg/service defines the attributes
       needed to configure package services;  and  sg/dependency  defines  the
       attributes needed to configure package dependencies... etc.

       An  aggregate  module is one that includes other modules in its defini‐
       tion.  If an aggregate module specified on the command line is one that
       already includes a base module, the same base module doesn't need to be
       specified on the command line again. Duplicate module  names  appearing
       in  either  aggregate modules or command line or both will not cause an
       error.  Serviceguard provides two aggregate modules  that  include  all
       relavant	 Serviceguard parameters - sg/all which includes the base mod‐
       ule sg/failover and therefore can be used to create a failover package,
       and  sg/multi_node_all which uses the base module sg/multi_node and can
       be used to create a multi-node package.

       Base and optional types are mutually exclusive; a module cannot be both
       base  and optional.  Aggregate types on the other hand are inclusive; a
       module can be both aggregate and base, or aggregate and optional.

       The second form of cmmakepkg generates a template package configuration
       file  based  on the modules and an optional input package configuration
       file from an existing package.

       The third form of cmmakepkg re-generates the package configuration file
       based  on  an  existing package configuration file, and the most recent
       available version of modules that are being used in the package,	 which
       may contain new features and capabilities.

       The  fourth  form  of  cmmakepkg creates a legacy package configuration
       file, or package control script as specified by	the  selected  option.
       This form will be obsolete in a future release of Serviceguard.

       For   the  second,  third  and  fourth  form  of	 cmmakepkg,  The  out‐
       put_file_name should be customized for a specific cluster  environment.
       After  customization, these files should be verified by the cmcheckconf
       command. If output_file_name is not provided, output will  be  directed
       to stdout.

   Options
       cmmakepkg supports the following options:

	      -v {0 | 1 | 2}
		   Specifies  the verbosity level of the output. If -v is used
		   without a verbosity level the default is 2.

		   0 (machine_parsable mode)
			 The  package  configuration  will  be	created	  with
			 required  attributes  only.   The optional attributes
			 will not be included.

		   1 (headline mode)
			 The package configuration file will be	 created  with
			 headline  description	and  the  legal values of each
			 attribute that needs  to  be  configured.   Both  the
			 required and optional attributes are included.

		   2 (verbose mode)
			 The  package  configuration file will be created with
			 full  description  and	 the  legal  values  of	  each
			 attribute  that  needs to be configured.  This is the
			 default.

	      -n package_name
		   Configures the package name in the generated	 package  con‐
		   figuration file.

	      -i pkg_ascii_file
		   This	 option is used to add additional modules to an exist‐
		   ing package configuration.  cmmakepkg  uses	the  specified
		   package  configuration  file	 as input, and creates the new
		   package configuration file based on the modules used in the
		   input  file,	 as  well  as any additional modules specified
		   with the -m option. Existing configured package  parameters
		   from	 the input file are carried over to the output package
		   configuration file. If the module  specified	 with  the  -m
		   option  is  one  that's  not	 already being used within the
		   package, any pre-configured values contained in the	module
		   file	 will be used in the output package configuration file
		   instead of or in addition to the configured	value  in  the
		   input  package  configuration  file,	 depending  on	if the
		   attribute allows more than one value to be  configured.  If
		   the	module	specified  with	 the  -m  option is one that's
		   already being used within the package,  a  warning  message
		   will	 be  issued,  and  any pre-configured value within the
		   module will be ignored.  -n option will be used in the out‐
		   put	package	 configuration	file in preference to any name
		   from the input package configuration file or module	files.
		   A  configuration file for an existing package can be gener‐
		   ated by using the cmgetconf command. See cmgetconf (1m).

	      -m module_file_name...
		   Name of the package module files to be used to generate the
		   package  configuration  file.   To  see a list of available
		   modules, use the -l option of the cmmakepkg by itself.  One
		   of  the following base modules needs to be specified either
		   on the command line or as  an  included  module  among  the
		   specified  modules  on  the	command	 line:	sg/failover  ,
		   sg/multi_node and sg/system_multi_node .  If a base	module
		   is  not  specified,	the  default  is the sg/default module
		   which is linked to sg/all .	In order to configure a	 pack‐
		   age	attribute,  you	 must  specify the module defining the
		   attribute in the package configuration  file.   cmcheckconf
		   and	cmapplyconf  will  fail if the module that defines the
		   package attribute is missing from the package configuration
		   file,  that	is  if	the module_name has been inadvertently
		   removed from the package configuration file.

	      -u pkg_ascii_file
		   This option is used to upgrade a package to	use  the  most
		   recent  available  verison  of the modules. When it is used
		   with the -m option,	only  the  specified  module  will  be
		   upgraded to the most recent version.

		   The re-generated package configuration file will have modi‐
		   fied	  values   for	 module_name/module_version,	opera‐
		   tion_sequence,  as well as any changes made to the new ver‐
		   sion of the modules as reflected in the package  configura‐
		   tion file output, such as additions of new package configu‐
		   ration parameters.

		   If the specified module name is not	already	 part  of  the
		   existing  package  configuration,  or  the specified module
		   file does not exist on all nodes of the cluster,  the  com‐
		   mand will return an error.

		   It's	 not considered an error if there are no newer modules
		   to upgrade to, the command  will  re-generate  the  package
		   configuration file as is.

	      -l   If  used by itself, this option lists the available package
		   module files and their versions along with a brief descrip‐
		   tion	 for  each module.  When -l is used with the -f format
		   -m option, the attributes  defined  within  each  specified
		   module files will be listed.

	      -f format
		   Select  the	output format to display. The format parameter
		   may have one of the following values:

		   table this option displays a human readable tabular	output
			 format.   This	 is the default output format if no -f
			 is specified on the command line.

		   line	 This option displays a machine parsable  output  for‐
			 mat. Data items are displayed, one per line, in a way
			 that makes them easy to manipulate with tools such as
			 grep(1)  and  awk(1).	 This  option also shows addi‐
			 tional information not available in the table	output
			 format.

	      -p   This parameter will be obsolete in a future release of Ser‐
		   viceguard.  Create a legacy template of the package config‐
		   uration file.  Each package should have a separate configu‐
		   ration file.

	      -s   This parameter will be obsoleted in	a  future  release  of
		   Serviceguard.   Create  a  legacy  template package control
		   script used to run and halt the package. Each legacy	 pack‐
		   age should have a separate control script.

	      -t file_name
		   This option takes a toolkit configuration file in the POSIX
		   shell format.  The -t option must follow the -m option that
		   specifies  the  name of the module that defines the toolkit
		   parameters in the file_name.

		   If you are creating a new package using the toolkit module,
		   or incrementally adding a new toolkit module to an existing
		   package, cmmakepkg uses the values from the file  specified
		   by file_name as package attribute values.

		   NOTE:  If  you are sourcing the file specified by file_name
		   into an existing package that already  has  values  defined
		   for	toolkit	 attributes, the existing values will be over‐
		   written by those in the file.

   Package configuration file values
       cmmakepkg will create a package configuration file which can be used by
       the  cmcheckconf	 and cmapplyconf commands. All package attribute names
       are case insensitive unless otherwise noted. This file must be  custom‐
       ized  by	 providing  specific  package  information  for	 the following
       attributes:

       The following attributes are defined in the sg/basic module

	      PACKAGE_NAME	  Name of the package.	This name will be used
				  to  identify	the  package  when  viewing or
				  manipulating it.  Each package must  have  a
				  unique package name.

	      PACKAGE_TYPE	  Possible values are:

				  FAILOVER
					 package  runs	on  one node at a time
					 and if a failure occurs it can switch
					 to an alternate node.

				  MULTI_NODE
					 package runs on multiple nodes at the
					 same time and	can  be	 independently
					 started   and	halted	on  individual
					 nodes.	 Failures  of  package	compo‐
					 nents such as services, EMS resources
					 or subnets, will cause the package to
					 be  halted  only on the node on which
					 the failure occurred. Relocatable  IP
					 addresses   cannot   be  assigned  to
					 MULTI_NODE packages.

				  SYSTEM_MULTI_NODE
					 package runs on all cluster nodes  at
					 the  same time. It can not be started
					 and halted on individual nodes.  Both
					 NODE_FAIL_FAST_ENABLED	 and  AUTO_RUN
					 must be set to YES for this  type  of
					 package.  All SERVICES must have SER‐
					 VICE_FAIL_FAST_ENABLED set to YES.

				  Packages which have a PACKAGE_TYPE  of  SYS‐
				  TEM_MULTI_NODE are not failover packages and
				  are only supported for use  by  applications
				  provided by Hewlett-Packard.

       PACKAGE_DESCRIPTION
	      Specifies	 the  application  that	 the  package  runs. This is a
	      descriptive parameter that can be set to any value  you  choose,
	      up to a maximum of 80 characters.	 Default value is Serviceguard
	      Package.

       NODE_NAME
	      The name of a node where this package can	 run  on.   This  name
	      must  match  the	names configured in the cluster configuration.
	      Multiple	NODE_NAME  entries  can	 be  specified.	   The	 first
	      NODE_NAME	 is the primary node and the following nodes specified
	      will be treated as alternate nodes.

       AUTO_RUN
	      This can be either YES or NO.  Default is YES YES,  the  package
	      is  allowed to move to the first available node in case of fail‐
	      ure.  This option can also be specified  dynamically  using  the
	      cmmodpkg command.	 AUTO_RUN replaces PKG_SWITCHING_ENABLED.

       NODE_FAIL_FAST_ENABLED
	      This  can	 be  set to either YES or NO.  Default is NO.  If YES,
	      the node where the package is running will be halted in case  of
	      package  failure	and  the  package will be restarted on another
	      node.

       RUN_SCRIPT (legacy package only)
	      Full path location of the run script for the package.  This must
	      be  a  full path, located in a directory with "cmcluster" in the
	      pathname,	 and  the  script  must	  be   executable.    If   the
	      SCRIPT_LOG_FILE  attribute  is  not  set, output from the script
	      will go to the  file  <script_path>.log  .   A  package  can  be
	      started dynamically by using the cmrunpkg command.

       RUN_SCRIPT_TIMEOUT
	      Amount  of  time	in  seconds to wait for the run script to com‐
	      plete.  Default is NO_TIMEOUT which means to  wait  forever  for
	      the  run script to complete.  If RUN_SCRIPT_TIMEOUT is specified
	      and the script has not completed within the specified value, the
	      cluster  software will terminate the script and the package will
	      be disabled from switching; therefore it will not	 be  moved  to
	      another  node.  In addition, if NODE_FAIL_FAST_ENABLED is set to
	      YES, the node will be halted.

       HALT_SCRIPT (legacy package only)
	      Full path location of the halt script  for  the  package.	  This
	      must  be a full path, located in a directory with "cmcluster" in
	      the  pathname,  and  the	script	must  be  executable.  If  the
	      SCRIPT_LOG_FILE  attribute  is  not  set, output from the script
	      will go to the file <script_path>.log.  Package  can  be	halted
	      dynamically by using the cmhaltpkg command.

       HALT_SCRIPT_TIMEOUT
	      Amount  of  time	in seconds to wait for the halt script to com‐
	      plete.  Default is NO_TIMEOUT which means to wait forever	 until
	      the  halt script completes.  If HALT_SCRIPT_TIMEOUT is specified
	      and the script has not completed within the specified value, the
	      cluster  software will terminate the script and the package will
	      be disabled from switching; therefore it will not	 be  moved  to
	      another  node.  In addition, if NODE_FAIL_FAST_ENABLED is set to
	      YES, the node will be halted.  This value should be greater than
	      the  sum	of  all SERVICE_HALT_TIMEOUT values specified for this
	      package.

       SUCCESSOR_HALT_TIMEOUT
	      SUCCESSOR_HALT_TIMEOUT parameter limits the amount of time  Ser‐
	      viceguard	 waits for the packages which depend upon this package
	      to halt before running the halt script of this package.  This is
	      an  optional  parameter.	The timeout value is specified in sec‐
	      onds.  The minimum value is 0, the maximum is 4294.  The default
	      value  is NO_TIMEOUT, meaning that the package will wait as long
	      as it takes for the successor packages to halt.  A timeout of  0
	      indicates that the package will not wait for the successor pack‐
	      ages to halt, but will halt immediately.

       SCRIPT_LOG_FILE
	      The full path name of the package control script log file.  This
	      is  an  optional parameter.  If it is not set, the default loca‐
	      tion is $SGRUN/log/<package_name>.log.   Or  if  RUN_SCRIPT  and
	      HALT_SCRIPT are configured, the default location for each script
	      will be <script_path>.log.

       LOG_LEVEL
	      This controls the amount of information printed to  stdout  when
	      the   package   configuration   is   validated,	and   to   the
	      SCRIPT_LOG_FILE when the package starts up and shuts down. Legal
	      values  are  0 through 5, where 0 is the least amount of logging
	      and 5 is the most.  LOG_LEVEL 5 includes	all  information  from
	      level 0 to 5.  The default value for LOG_LEVEL is 0.

	    Level 0		   user visible informative messages

	    Level 1		   slightly  more detail user visible informa‐
				   tive messages

	    Level 2		   messages provide logic flow

	    Level 3		   messages provide  detailed  data  structure
				   information

	    Level 4		   debugging	information    that   provides
				   detailed data

	    Level 5		   function call flow

       The following attributes are defined in the sg/priority module

       PRIORITY
	      The PRIORITY parameter specifies the priority  of	 the  package.
	      This  is	an optional parameter. Valid values are from 1 to 3000
	      or NO_PRIORITY.  Default value is NO_PRIORITY.   Smaller	number
	      indicates	 higher	 priority. A package with a numerical priority
	      has higher priority than a package with NO_PRIORITY.  If a  num‐
	      ber  is  specified,  it  must be unique in the cluster.  To help
	      assign unique priorities, HP recommends you  use	priorities  in
	      increments  of 10. This will allow you to add new packages with‐
	      out having to reassign priorities.

	      Multi-node and System multi-node packages cannot be  assigned  a
	      priority.

	      This parameter is used only when a weight has been defined for a
	      package, a package depends on other packages or  other  packages
	      depend  on this package. The PRIORITY attribute may be specified
	      for a package even when no weights  or  dependencies  have  been
	      configured.   If	priority  is  not  configured,	the package is
	      assigned the default priority value, NO_PRIORITY.

	      Serviceguard gives preference to	running	 the  higher  priority
	      package.	 This means that, if necessary, Serviceguard will halt
	      a package (or halt and restart on anther node) in order to run a
	      higher priority package. The reason may be:

	      * the node's capacity would otherwise be exceeded

	      * there is a direct or indirect dependency between the
		lower and higher priority packages.

	      For  example, suppose a package (pkg1) depends on package (pkg2)
	      to be up on the same node, both have package switching  enabled,
	      and  both	 are  currently running on a node named node1. If pkg1
	      needs to fail over to node2, it will also need pkg2 to  move  to
	      node2.  If pkg1 has higher-priority than pkg2, it can force pkg2
	      to move to node2. Otherwise, pkg1 cannot fail over because  pkg2
	      is running on node1.

       The following attributes are defined in the sg/failover module

       FAILOVER_POLICY	   The	policy to be used to select a node, whenever a
			   package needs to be	started.  Default  is  CONFIG‐
			   URED_NODE  which  means that if a node has not been
			   specified, select the next available node from  the
			   list	 of  NODE_NAME entries. The order of NODE_NAME
			   entries dictates the order of preference when  Ser‐
			   viceguard  selects the node. An alternate policy is
			   SITE_PREFERRED which means that if a node  has  not
			   been	 specified,  Serviceguard will prefer the next
			   available node from the list of  NODE_NAME  entries
			   belonging  to  the last SITE the package ran on. If
			   Serviceguard is unable to find  an  available  node
			   from	 the  last  SITE the package ran on, SITE_PRE‐
			   FRRED behaves the same as CONFIGURED_NODE MIN_PACK‐
			   AGE_NODE  which  means  that if a node has not been
			   specified,  select  the  node,  from	 the  list  of
			   NODE_NAME entries, which is running the fewest num‐
			   ber of other packages at the time the package needs
			   to  start.	This option cannot be specified if any
			   packages with weight, or nodes with	capacity,  has
			   been defined.

       FAILBACK_POLICY	   The	policy	used  to determine what action to take
			   when a package is not running on its	 primary  node
			   and	its  primary  node  is	capable of running the
			   package. Default is MANUAL which means  no  attempt
			   will	 be  made to move the package back to its pri‐
			   mary node when it is running on an alternate	 node.
			   The	alternate  policy is AUTOMATIC which means the
			   package will be moved  back	to  its	 primary  node
			   whenever the primary node is capable of running the
			   package.  This option cannot be specified if	 there
			   are any packages with weight or nodes with capacity
			   defined.

       The following attributes are defined in the sg/service module.

       SERVICE_NAME	   This is a logical name and is used only to identify
			   a  service  as  defined in run and halt scripts for
			   the package.	 This name corresponds to the  service
			   name used by the cmrunserv and cmhaltserv commands.
			   The SERVICE_NAME must be unique across all packages
			   in the cluster.

       SERVICE_CMD	   This	 is  the  command line to be executed to start
			   the service.

       SERVICE_RESTART	   The value for  SERVICE_RESTART  can	be  UNLIMITED,
			   NONE	 or  any  positive  integer value. If value is
			   UNLIMITED, the service will be restarted  an	 infi‐
			   nite	 number	 of  times.  If the value is NONE, the
			   service will not be restarted.  If value is a posi‐
			   tive	 integer,  the	service	 will be restarted the
			   specified number of times before failing.

       SERVICE_FAIL_FAST_ENABLED
			   This can be either YES or NO.  Default is  NO.   If
			   set to YES, the cluster software will terminate the
			   node immediately in case of failure.	 This variable
			   provides  additional	 control  at the service level
			   within a package.  Some services may have the  SER‐
			   VICE_FAIL_FAST_ENABLED set and some services in the
			   same package may not.

       SERVICE_HALT_TIMEOUT
			   Amount of time in seconds to wait for  the  service
			   to halt.  In the event of a service halt, the clus‐
			   ter software will first send out a  SIGTERM	signal
			   to  halt  the  process associated with the service.
			   If the process does not halt, the cluster  software
			   will	 wait for the specified timeout before sending
			   out a SIGKILL signal to terminate the process.   If
			   the	SERVICE_HALT_TIMEOUT  is  not  specified,  the
			   default is ZERO second, meaning the	cluster	 soft‐
			   ware	 will  not  wait  at  all  before  sending the
			   SIGKILL signal to halt the service.

       The following attributes are defined in the sg/monitor_subnet module

       LOCAL_LAN_FAILOVER_ALLOWED (HP-UX Only)
			   This can be either YES or NO.  Default is YES.   If
			   YES	,  when a network interface fails, the network
			   components of  the  package	will  be  switched  to
			   another network interface on the local node.	 If NO
			   , the package will  be  switched  to	 another  node
			   regardless  of  the	availability  of another local
			   network interface.  This is useful for those appli‐
			   cations  whose  network  resources  cannot be moved
			   locally.	LOCAL_LAN_FAILOVER_ALLOWED    replaces
			   NET_SWITCHING_ENABLED.

       MONITORED_SUBNET	   Name	 of the network subnet that is to be monitored
			   for this package.  This name must be unique.	 MONI‐
			   TORED_SUBNET replaces SUBNET.

       MONITORED_SUBNET_ACCESS
			   This	 value	defines	 whether  access  to  a	 MONI‐
			   TORED_SUBNET is configured on all  of  the  package
			   nodes,  or  only  on	 some.	 The  value  for MONI‐
			   TORED_SUBNET_ACCESS can be PARTIAL or  FULL.	  PAR‐
			   TIAL	 means	that access to the MONITORED_SUBNET is
			   configured on one or more of the nodes that can run
			   this	 package, but not all.	FULL means that access
			   to the MONITORED_SUBNET is configured on all of the
			   nodes  that	can run this package.  FULL is equiva‐
			   lent to not specifying the  MONITORED_SUBNET_ACCESS
			   at all.

       CLUSTER_INTERCONNECT_SUBNET   (HP-UX only)
			   Name	 of  the  network  cluster interconnect subnet
			   that is to be  monitored  for  this	package.  This
			   parameter  is  to be configured only for multi-node
			   packages in Serviceguard Extension for RAC configu‐
			   rations.  Cluster interconnect subnet refers to the
			   subnet used by multi instance applications  running
			   on  the various nodes of the cluster to communicate
			   among themselves. A failure of the  cluster	inter‐
			   connect   subnet  on	 all  nodes  where  the	 multi
			   instance  application  is  running  is  handled  by
			   bringing down all but one instance.	CLUSTER_INTER‐
			   CONNECT_SUBNET and  MONITORED_SUBNET	 must  not  be
			   configured  to  monitor the same subnet in a multi-
			   node package.

       The following attributes are defined in the sg/package_ip module.  This
       module	can  not  be  used  with  the  sg/multi_node  or  the  sg/sys‐
       tem_multi_node modules within the same package.

       IP_SUBNET	   Name of the network subnet that is associated  with
			   one	of  the IP address used by this package. There
			   must be at least one	 configured  IP_ADDRESS	 entry
			   corresponding to a configured IP_SUBNET.  IP_SUBNET
			   replaces the legacy package control script  parame‐
			   ter SUBNET.

       IP_SUBNET_NODE	   Name of the node on which this subnet is available.
			   The IP_SUBNET_NODE must be a package node and  must
			   have the IP_SUBNET configured on it.

       IP_ADDRESS	   This	 is the IP address which is used by this pack‐
			   age.	 There must be a corresponding IP_SUBNET entry
			   for	any  configured IP_ADDRESS that it belongs to.
			   There may be more than one IP_ADDRESS  per  config‐
			   ured	 IP_SUBNET.   IP_ADDRESS  replaces  the legacy
			   package control script parameter IP.

       The following attributes are defined in the sg/resource	module	(HP-UX
       only)

       RESOURCE_NAME (HP-UX only)
	      Name   of	  a  resource  upon  which  a  package	is  dependent.
	      RESOURCE_NAME entries are optional for a package,	 but  multiple
	      entries  may  be	specified.  Each name is a full path name, and
	      must be unique within a package.	A maximum of 60 resources  per
	      cluster may be defined.  However, since there is also a limit of
	      15 RESOURCE_UP_VALUE's per package (see below), it  is  possible
	      to  reach	 this limit before the 60 resources per cluster limit,
	      if a lot of the resources are all	 on  the  same	package.   For
	      example,	if each package has 3 resources, then it would be pos‐
	      sible to have a maximum of 20 of these  packages.	  Or  if  each
	      package  has  10	resources, then it would be possible to have a
	      maximum of 6 of these packages.

       RESOURCE_POLLING_INTERVAL (HP-UX only)
	      If a RESOURCE_NAME is defined, then a  RESOURCE_POLLING_INTERVAL
	      may  also	 be  specified.	 It is the frequency, in seconds, that
	      the resource should be checked to determine its  status  (up  or
	      down).   The  RESOURCE_POLLING_INTERVAL is optional and defaults
	      to 60 seconds.

       RESOURCE_START (HP-UX only)
	      The RESOURCE_START option can be	set  to	 either	 AUTOMATIC  or
	      DEFERRED	The  default  setting for RESOURCE_START is AUTOMATIC.
	      If AUTOMATIC is specified, Serviceguard will start  up  resource
	      monitoring  for these AUTOMATIC resources automatically when the
	      node starts up.  If DEFERRED is selected, Serviceguard will  not
	      attempt  to start resource monitoring for these resources during
	      node start up.  Specify all the DEFERRED resources in the	 pack‐
	      age  run script so that these DEFERRED resources will be started
	      up from the package run script at package run time.

       RESOURCE_UP_VALUE (HP-UX only)
	      If a RESOURCE_NAME is defined, then  RESOURCE_UP_VALUE  must  be
	      specified.    An	 operator   and	  a   value   are   used  with
	      RESOURCE_UP_VALUE to specify the values that the	resource  must
	      have, in order to be considered up.  The operators are =, !=, >,
	      <, >=, and <=.  The value can be a string or  a  numeric	value.
	      If  the  type is string, then only = and != are valid operators.
	      If a string contains white space, it must be enclosed in quotes.
	      String  values are case sensitive.  If the type is numeric, then
	      all operators are valid.	A numeric may define a single value, a
	      threshold,  or  a	 range	to  specify  a	resource up condition.
	      RESOURCE_UP_VALUE may be repeated within a RESOURCE_NAME	block,
	      and logically,  are inclusively OR'd together.  There is a maxi‐
	      mum of 15 RESOURCE_UP_VALUE's  per  package.   For  example,  if
	      there   is   only	 one  RESOURCE_NAME,  then  a  maximum	of  15
	      RESOURCE_UP_VALUE's  can	be  defined.	If   there   are   two
	      RESOURCE_NAME's,	defined	 in  the same package, and one of them
	      has 10 RESOURCE_UP_VALUE's, then	the  other  RESOURCE_NAME  can
	      only have 5.

       The following attributes are defined in the sg/dependency module

       DEPENDENCY_NAME	   A name or an identifier for the dependency. It must
			   be unique among this	 package's  dependency	names.
			   DEPENDENCY_NAME entries are optional for a package,
			   but multiple entries may be specified.

       DEPENDENCY_CONDITION
			   This is an expression describing what must be  true
			   for the dependency to be satisfied.

			   The syntax is: <package name> = <package status>

			   The	valid  values for <package status> are "UP" or
			   "DOWN".

			   "UP"	 means that this package requires the  package
			   identified  by  "package_name"  to  be  up  (status
			   reported by cmviewcl is "UP").

			   If  "UP" is specified, the dependency rules are  as
			   follows:

			   * A multi-node package can depend only on another
			     multi-node or system multi-node package.

			   * A failover package whose failover_policy is
			     min_package_node can depend only on a multi-node
			     or system multi-node package.

			   * A failover package whose failover_policy is
			     configured_node can depend on a multi-node or
			     system multi-node package, or another failover
			     package whose failover_policy is
			     configured_node.

			   "DOWN" means that this package requires the package
			   identified by "package name"	 to  be	 down  (status
			   reported  by cmviewcl is "DOWN").  This is known as
			   an exclusion dependency.

			   This means that only one of these packages  can  be
			   running at any given time.

			   If  the  "DOWN"  value  is specified, the exclusion
			   dependency must be mutual; that is, if pkgA depends
			   on  pkgB  to be down, pkgB must also depend on pkgA
			   to be down.

			   This means that in order  to	 create	 an  exclusion
			   dependency  between	two  packages,	you must apply
			   both packages to the cluster configuration  at  the
			   same time.

			   An  exclusion  dependency  is  allowed only between
			   failover packages with configured_node as  failover
			   policy, and at least one of the packages must spec‐
			   ify a priority.

       DEPENDENCY_LOCATION This describes where the condition must  be	satis‐
			   fied.

			   This parameter is optional. If it is not specified,
			   the default value "SAME_NODE" will be used.

			   The possible values for this	 attribute  depend  on
			   the dependency condition.

			   If  an  "UP"	 dependency is specified, the possible
			   values are "SAME_NODE",  "ANY_NODE",	 and  "DIFFER‐
			   ENT_NODE".

			   "SAME_NODE"	means the dependency must be satisifed
			   on the same node.

			   "ANY_NODE" means the dependency can	be  satisified
			   on any node in the cluster.

			   "DIFFERENT_NODE"  means the dependency must be sat‐
			   isfied on a node other than the dependent package's
			   node.

			   If  a  "DOWN" dependency is specified, the possible
			   values are "SAME_NODE" and "ALL_NODES".

			   "SAME_NODE" means the package depended on  must  be
			   down on the same node.

			   "ALL_NODES"	means  the package depended on must be
			   down on all nodes in the cluster.

			   NOTE: Within a package, you	cannot	specifiy  more
			   than	 one dependency on the same package. For exam‐
			   ple,	 pkg1  cannot  have  one  SAME_NODE  and   one
			   ANY_NODE dependency on pkg2.

			   When	 a package requires that another package be up
			   and the DEPENDENCY_LOCATION is ANY_NODE or  DIFFER‐
			   ENT_NODE,  the priority of the the package depended
			   on must be higher or equal to the dependent package
			   and	its  dependents.  For  example,	 if pkg1 has a
			   SAME_NODE  dependency  on  pkg2  and	 pkg2  has  an
			   ANY_NODE  dependency	 on pkg3, the priority of pkg3
			   must be higher or equal to the priority of pkg1 and
			   pkg2.

       The following attributes are defined in the sg/weight module

       WEIGHT_NAME

       WEIGHT_VALUE	   The "WEIGHT_NAME" and "WEIGHT_VALUE" parameters are
			   used to define package weight.

			   These optional attributes provide  additional  data
			   which  the  Serviceguard  package manager uses when
			   selecting a node on which to place the package.  As
			   with	 all  attribute	 names, they are case insensi‐
			   tive.

			   A package can use this mechanism to	define	up  to
			   four arbitrary weight names with corresponding val‐
			   ues	that  are  meant  to  represent	 the   runtime
			   resource consumption of the package. In the cluster
			   configuration file, you configure  capacity	limits
			   for the named weights on the cluster nodes.	During
			   package placement, the package manager will	ensure
			   the	total value of any given named weight does not
			   exceed the capacity limit configured for the node.

			   The "WEIGHT_NAME" is string of up to 39 characters.
			   The	"WEIGHT_VALUE" specifies a value for the named
			   weight that precedes it. This is an unsigned float‐
			   ing	point value between 0 and 1000000 with at most
			   three digits after the decimal point.

			   If "WEIGHT_NAME" is specified, "WEIGHT_VALUE"  must
			   also	 be  specified	and  "WEIGHT_NAME"  must  come
			   first. To specifiy more  than  one  weight,	repeat
			   this process.

			   You	can  define weights either individually within
			   each package configuration file, or by means	 of  a
			   default  value  in  the  cluster configuration file
			   that applies to all configured packages. If a  par‐
			   ticular  weight name is defined in both the cluster
			   and package configuration files, the	 value	speci‐
			   fied in the package configuration file takes prece‐
			   dence.  This allows you to set an overall  default,
			   but to override it for a particular package.

			   For	example,  if  you specify WEIGHT_NAME "memory"
			   with WEIGHT_DEFAULT 1000 in the cluster  configura‐
			   tion	 file,	and  you do not specify a weight value
			   for "memory" in the package configuration file  for
			   pkgA,  pkgA's  "memory" weight will be 1000. If you
			   define a weight value of 2000 for "memory"  in  the
			   configuration  file	for pkgA, the default value of
			   1000 will be overriden and pkgA's  "memory"	weight
			   will be 2000.

			   If no WEIGHT_NAME/WEIGHT_DEFAULT value is specified
			   in the  cluster  configuration  file	 for  a	 given
			   CAPACITY,  and WEIGHT_NAME and WEIGHT_VALUE are not
			   specified in this package  configuration  file  for
			   that CAPACITY, then the WEIGHT_VALUE for this pack‐
			   age is set to zero or one depending on the capacity
			   name. If the capacity name is the reserved capacity
			   "package_limit", the WEIGHT_VALUE for this  package
			   is  set  to one; otherwise, the WEIGHT_VALUE is set
			   to zero.  For  example,  if	you  specify  CAPACITY
			   "memory"  and  do  not specify a WEIGHT_DEFAULT for
			   "memory" in the cluster configuration file, and  do
			   not specify weight "memory" in the package configu‐
			   ration file for pkgA, then pkgA's  "memory"	weight
			   will be zero.

			   Note	 that  cmapplyconf  will  fail if you define a
			   weight in the package configuration file and you do
			   not	specify	 a  capacity  of the same name (in the
			   cluster configuration file) for at least  one  node
			   in the package's node_name list.

			   Weight can be assigned only to multi-node packages,
			   and failover packages with CONFIGURED_NODE  as  the
			   FAILOVER_POLICY and MANUAL as the FAILBACK POLICY.

			   For	more  information  on how to configure default
			   weights and node capacities, see the cmquerycl  man
			   page,  the cluster configuration template file, and
			   the Managing Serviceguard Manual.

			   Example :
				      WEIGHT_NAME      package_limit
				      WEIGHT_VALUE     10.0

			   This overrides the default value of 1 and sets  the
			   weight for this package to 10.

			   Legal values for WEIGHT_NAME:
			     Any string that starts and ends with an
			     alphanumeric character, and contains only
			     alphanumeric characters, dot(.), dash(-),
			     or underscore(_) in the middle.
			     Maximum string length is 39 characters.

			   Legal values for WEIGHT_VALUE:
			     Any unsigned floating point string. Only
			     3 digits after the decimal point are
			     significant.  Maximum string length
			     is 11 characters.

       The  following  attributes  are	defined	 in  the  HP-UX version of the
       sg/volume_group module

       RAW_DEVICES (HP-UX Only)
			   KILL_PROCESSES_ACCESSING_RAW_DEVICES	  allows   the
			   users  to  specify  whether the processes accessing
			   raw devices should be killed at package halt time.

       VOLUME_GROUPS and DISK_GROUP (HP-UX Only)
			   The following attributes are for configuring volume
			   groups   and	  disk	 groups	  on   HP-UX:  CONCUR‐
			   RENT_VGCHANGE_OPERATIONS , DEACTIVATION_RETRY_COUNT
			   ,  VGCHANGE_CMD  , CVM_ACTIVATION_CMD , VXVOL_CMD ,
			   VG , CVM_DG , VXVM_DG  ,  VXVM_DG_RETRY  and	 STOR‐
			   AGE_GROUP (legacy package only).

       The  following  attributes  are defined in the Linux version of sg/vol‐
       ume_group module

       VOLUME_GROUPS (Linux Only)
			   The following attributes are for configuring volume
			   groups on Linux: VGCHANGE_CMD and VG

       The following attributes are defined in the sg/filesystem module

       FILESYSTEMS	   The	 following   attributes	 are  for  configuring
			   filesystems: CONCURRENT_FSCK_OPERATIONS  ,  CONCUR‐
			   RENT_MOUNT_AND_UMOUNT_OPERATIONS		     ,
			   FS_UMOUNT_RETRY_COUNT  ,   FS_MOUNT_RETRY_COUNT   ,
			   FS_NAME    ,	   FS_DIRECTORY	  ,   FS_MOUNT_OPT   ,
			   FS_UMOUNT_OPT , FS_FSCK_OPT and FS_TYPE

       The following attribute is defined in the sg/pev module

       PACKAGE_ENVIRONMENT_VARIABLE
			   Prefixed attribute pev_<variable_name>  defines  an
			   environment	variable  for the package.  The <vari‐
			   able_name> is a string of  39  characters  or  less
			   that has the prefix pev_ .  The prefix must be pev_
			   (the letters pev followed by an  underscore).   The
			   value  is  a	 string	 of 1023 characters or less to
			   which  the  shell  variable	is  set.  This	is  an
			   optional  parameter.	  The  user  can define one or
			   more variables which will be included  as  part  of
			   the	output in the cmgetpkgenv command. See cmgetp‐
			   kgenv (1m).	EXTERNAL_SCRIPT program can use	 these
			   variables through the cmgetpkgenv command.

       The following attributes are defined in the sg/external module

       EXTERNAL_SCRIPT	   Specifies  the complete path to an external script,
			   or any other format of executables.

			   When the executable is run, the first argument "$1"
			   will	 be  set  to  "start" when starting a package,
			   "stop" when halting, and "validate"	when  doing  a
			   cmapplyconf or cmcheckconf on the package.

			   The	EXTERNAL_SCRIPT program will be executed after
			   IP addresses are assigned but before	 services  are
			   started  at	package validation and start time.  It
			   will be executed  after  services  are  halted  but
			   before removing IP addresses at package halt time.

			   If  more than one EXTERNAL_SCRIPT program is speci‐
			   fied, the one specified first in this file will  be
			   run	first at package start time, and last at pack‐
			   age halt time.

	      The following three entries set the access control policies  for
	      the package.
	      They  are	 defined  in  the  sg/acp  module.  First line must be
	      USER_NAME, second USER_HOST, and third USER_ROLE.

       USER_NAME	   Specifies the name of the user to whom  the	access
			   needs  to  be  granted.   The  value	 can either be
			   ANY_USER, or a maximum of 8 login  names  from  the
			   /etc/passwd	file  on  USER_HOST.   If you misspell
			   keyword ANY_USER, it will  be  interpreted  as  the
			   name	 of  a specific user, and the resultant access
			   policy will not be what you expect.

       USER_HOST	   Specifies the hostname  from	 where	the  user  can
			   issue Serviceguard commands.	 If using Serviceguard
			   Manager, it is the COM server's hostname. It can be
			   set	 to   ANY_SERVICEGUARD_NODE,  or  CLUSTER_MEM‐
			   BER_NODE, or a specific hostname.  If  hostname  is
			   specified,  it  cannot contain the full domain name
			   or an IP address. If you  misspell  keywords	 CLUS‐
			   TER_MEMBER_NODE  or	ANY_SERVICEGUARD_NODE, it will
			   be interpreted as the name of a specific node,  and
			   the	resultant  access  policy will not be what you
			   expect.

       USER_ROLE	   Specifies the access granted to the user.  Only one
			   role,  PACKAGE_ADMIN can be set in the package con‐
			   figuration file; the others are set in the  cluster
			   configuration file.

			   PACKAGE_ADMIN
				  This role grants permission to view informa‐
				  tion about the entire cluster,  and  to  use
				  administrative commands on the package.

       The  attrbiutes that are not defined by Serviceguard appear in the tem‐
       plate package configuration file with the module name as	 prefix.   For
       example,	 the  MONITOR_INTERVAL attribute in the apache toolkit appears
       as "ecmt/apache/apache/monitor_interval" in the template	 package  con‐
       figuration  file.  You can remove the prefix if you have made sure that
       this will not result in any name conflict within the package.

RETURN VALUE
       cmmakepkg returns the following values:

	       0   Successful completion.
	       1   Command failed.

EXAMPLES
       This command is part of the cluster configuration process.  The follow‐
       ing is an example of configuring a cluster with two nodes and two pack‐
       ages - one failover package and one multi_node package named "pkg2":

	      cmquerycl -C /etc/cmcluster/clusterA.conf -n node1 -n node2
	      cmmakepkg	 -m  sg/failover  -m   sg/package_ip   -m   sg/service
	      /etc/cmcluster/pkg1/pkg1.conf
	      cmmakepkg	 -n  pkg2  -m sg/multi_node -m sg/service /etc/cmclus‐
	      ter/pkg2/pkg2.conf
	      < customize clusterA.conf (optional)>
	      < customize pkg1.conf >
	      < customize pkg2.conf >
	      cmcheckconf -C clusterA.conf
	      cmapplyconf -C clusterA.conf
	      cmcheckconf -P pkg1.conf -P pkg2.conf
	      cmapplyconf -P pkg1.conf -P pkg2.conf

       To modify package "pkg2" to configure package dependency:

	      cmgetconf -p pkg2 /etc/cmcluster/pkg2/pkg2.conf
	      cmmakepkg -i /etc/cmcluster/pkg2/pkg2.conf -m sg/dependency
	      <customize pkg2.conf>
	      cmcheckconf -P pkg2.conf
	      cmapplyconf -P pkg2.conf

       To create a package and use a file with defined attributes:

	      cmmakepkg	 -v  0	-n  pkgapache  -m  sg/all  -m  ecm/apache   -t
	      /opt/toolkit/apache/hattp.conf	-m   ecm/apache	  /etc/cmclus‐
	      ter/pkg/pkgapache.conf"

       To modify a package adding a module and a file:

	      cmmakepkg	 -i  /etc/cmcluster/pkg/pkg.conf  -m   ecm/apache   -t
	      /opt/toolkit/apache/hattp.conf /etc/cmcluster/pkg/newpkg.conf"

       If  pkg.conf  does  not contain ecm/apache attributes they are added to
       the newpkg.conf file with the values in /opt/toolkit/apache/hattp.conf.
       If  pkg.conf  contains ecm/apcache then the attribute values are update
       with the values in /opt/toolkit/apache/hattp.conf.

       To list all modules available to be used for building a package:

	      cmmakepkg -l

       To list the content of a module:

	      cmmakepkg -l -f line -m sg/service

AUTHOR
       cmmakepkg was developed by HP.

SEE ALSO
       cmapplyconf(1m),	  cmcheckconf(1m),   cmgetpkgenv(1m),	cmhaltpkg(1m),
       cmhaltserv(1m),	    cmmodnet(1m),     cmmodpkg(1m),	cmquerycl(1m),
       cmrunpkg(1m), cmrunserv(1m).

		    Requires Optional Serviceguard Software	 cmmakepkg(1m)
[top]

List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net