ego.conf reference

The ego.conf file contains the configuration information for the cluster. The configuration file is also used to connect to a cluster from a client host that is not part of the cluster. After changing settings in the file, ensure that you restart EGO on all management hosts in the cluster for the changes to take effect.

Location

This file is installed with IBM® Spectrum Symphony at the following locations:
  • For IBM Spectrum Symphony cluster: %EGO_CONFDIR% on Windows, and in $EGO_CONFDIR on Linux®
  • For IBM Spectrum Symphony Developer Edition or client: %SOAM_HOME%\conf on Windows, and in $SOAM_HOME/conf on Linux

Structure

You cannot change the file name ego.conf.
Note: To connect to multiple clusters from the same client host, configure different ego.conf files and rename them to ego.conf when you need to use them.

Parameters

EGO_ACTIVITY_LEVEL_CREDENTIALS

Syntax: EGO_ACTIVITY_LEVEL_CREDENTIALS=enable_and_use_lifetime|ENABLE|DISABLE

Description: Controls how EGO generates and handles daemon authentication credentials for EGOSC, EGO services, and SSM, using the IBM Spectrum Symphony default (sec_ego_default) security plug-in (as defined by the EGO_SEC_PLUGIN=sec_ego_default setting in this ego.conf file).

Use this parameter to enable or disable EGO user activity level credentials. (See Activity level credentials for daemon authentication for details about this type of credentials generation and usage.) Additionally, this parameter controls whether the cluster should also accept previously generated credentials; that is, non-activity level credentials, which can last for ten years.

Valid values:
enable_and_use_lifetime
Indicates for EGO to create activity level credentials used for daemon authentication, and to also accept the previously generated credentials that are valid for ten years. Accepting both types of credentials is the default setting.
ENABLE
Indicates for EGO to create only activity level credentials used for daemon authentication. Previously generated credentials, that are valid for ten years, will be rejected. With this option, credentials are never stored for longer than the lifespan as its corresponding activity.
DISABLE
Indicates for EGO to use only previously generated credentials for daemon authentication. This type of credentials is valid for ten years. Activity level credentials are rejected. With this option, EGO will use the same credentials initially generated.

Default: EGO_ACTIVITY_LEVEL_CREDENTIALS=enable_and_use_lifetime

EGO_ADJUST_SHARE_TO_WORKLOAD

Syntax: EGO_ADJUST_SHARE_TO_WORKLOAD=Y|N

Description: Specifies how resources are reclaimed and distributed.
Important: If the EGO_ENABLE_BASE_QUOTA feature in the ego.conf file is enabled, you must also enable EGO_ADJUST_SHARE_TO_WORKLOAD for the feature to work.
Valid values:
Y
Specifies that share ratio is to always be respected when two or more consumers are competing for resources. Whenever consumers compete for resources, the system reclaims and distributes resources in proportion to share ratio. Workload among all consumers is considered and resource distribution is adjusted according to workload.
N
When set to N or undefined, resources are distributed according to configured share ratio but resource distribution/reclaim is not adjusted according to workload. When two consumers compete for resources, consumers that have not received up to their share ratio can only reclaim resources up to their share ratio. When consumers have reached their share ratio, distribution of additional resources to consumers is done in first-come, first-served order.

Default: EGO_ADJUST_SHARE_TO_WORKLOAD=N

EGO_AUDIT_LOG

Syntax: EGO_AUDIT_LOG=Y|N

Description: Enables logging for auditing of core EGO functions such as security.

Default: EGO_AUDIT_LOG=N

EGO_AUDIT_LOG_CEF

Syntax: EGO_AUDIT_LOG_CEF=Y|N

Description: When logging is enabled for EGO functions (by setting EGO_AUDIT_LOG=Y), saves the audit logs in ArcSight CEF (Common Event Format) standard, which provides a specific level of detail for the logs so that they can be analyzed with ArcSight tools.

Default: EGO_AUDIT_LOG_CEF=N

EGO_AUDIT_LOGDIR

Syntax: EGO_AUDIT_LOGDIR=path

Description: Specifies the location of audit log files.

Default:
  • Installation_top\audits (Windows)
  • $EGO_TOP/audits (Linux)

EGO_AUDIT_LOG_INHERIT_PERMISSION

Syntax: EGO_AUDIT_LOG_INHERIT_PERMISSION=Y|N

Description: Specifies that all files in the audits directory will inherit the same permissions as the parent audits directory.

Valid values:
Y
Specifies that file permission is inherited from the parent directory.
N
Specifies that file permission is not inherited from the parent directory.

Default: EGO_AUDIT_LOG_INHERIT_PERMISSION=N

EGO_AUDIT_MAX_ROTATE

Syntax: EGO_AUDIT_MAX_ROTATE= number_of_archives

Description: Specifies the maximum number of audit log file archives to maintain. If the value for this parameter is set to 0, log rotation is disabled. If the value is not valid, the default value is used.

Valid values: 0 to 2147483647

Default: 20

EGO_AUDIT_MAX_SIZE

Syntax: EGO_AUDIT_MAX_SIZE= number_of_Megabytes

Description: Specifies the maximum file size in MB for LIM and VEMKD audit logs. When the log file reaches the specified size, the file will be archived if both EGO_AUDIT_MAX_SIZE and EGO_AUDIT_MAX_ROTATE are set to a nonzero value.

If the value for this parameter is set to 0, log rotation is disabled. If the value is not valid, the default value is used.

Valid values: 0 to 1999

Default: 100

EGO_AUTH_PLUGIN (Linux only)

Syntax: EGO_AUTH_PLUGIN=sec_ego_gsskrb

Description: Enables or disables the GSS Kerberos authentication plug-in to secure communication between primary and compute hosts in the cluster. It must be configured for the VEMKD and PEM daemons and must be defined consistently on both VEMKD and PEM hosts.

EGO_AUTH_VEMKD_PRINCIPAL (Linux only)

Syntax: EGO_AUTH_VEMKD_PRINCIPAL=vemkd/cluster_name@kerberos_realm

Description: When Kerberos authentication is enabled for communication between the VEMKD and the PEM, specifies the principal that VEMKD uses during authentication. For example:
EGO_AUTH_VEMKD_PRINCIPAL=vemkd/cluster1@EXAMPLE.COM

If a value is not specified or the realm is not specified, the default value of service_name/${host} is used.

Default: vemkd/${host}

EGO_AUTH_PEM_PRINCIPAL (Linux only)

Syntax: EGO_AUTH_PEM_PRINCIPAL=pem/cluster_name@kerberos_realm

Description: When Kerberos authentication is enabled for communication between the VEMKD and the PEM, specifies the principal that PEM uses during authentication. For example:
EGO_AUTH_PEM_PRINCIPAL=pem/cluster1@EXAMPLE.COM

If a value is not specified or the realm is not specified, the default value of service_name/${host} is used.

Default: pem/${host}

EGO_AUTH_CONF (Linux only)

Syntax: EGO_AUTH_CONF="[[DATA PROTECTION=INTEGRITY],[KRB5CCNAME=path_to_credential_cache_file],[KRB5_KTNAME=path_to_keytab_file]]

Description: When Kerberos authentication is enabled for communication between the VEMKD and the PEM, specifies additional configuration for the GSS Kerberos authentication plug-in.
  • DATA_PROTECTION: (Optional) Enables or disables the message-integrity check between the VEMKD and PEM. Ensure that you define this parameter consistently on both VEMKD and PEM hosts.
  • KRB5CCNAME: Specifies a non-default credential cache file. If a value is not specified, the default file at /tmp/krb5cc_uid is used, where uid specifies your cluster admin user ID. Use the /proc/pid/status command to find out your UID. For example:

    [xyz@xyz213-32]: cat /proc/25542/status | grep "Uid:"

    uid: 0 12345 12345 12345

    where "0" identifies the root account used to start VEMKD.

  • KRB5_KTNAME: Specifies a non-default keytab file.
For example:
EGO_AUTH_CONF="DATA_PROTECTION=INTEGRITY,KRB5CCNAME=/tmp/vemkd_credcache,KRB5_KTNAME=/tmp/pem.keytab"

You can specify the parameters in any order. Ensure, however, that there are no spaces before and after the commas separating the parameters.

Default:
  • KRB5CCNAME=/tmp/krb5cc_uid ,

    where uid specifies your Linux user ID. Use the id command to view your Linux user ID.

  • KRB5_KTNAME=/etc/krb5.keytab

EGO_BACKUPDIR

Syntax: EGO_BACKUPDIR=backup_directory

Description: When a backup directory is configured in this parameter, a snapshot of VEMKD is backed up in that directory if VEMKD exists abnormally. This VEMKD snapshot can be used for debugging.

Important:
  • Ensure that the directory exists when you configure this parameter.
  • IBM Spectrum Symphony must have permission to access the backup directory.
  • The cp command must be installed on the OS.
Valid values: Specify an existing, valid directory to back up the VEMKD snapshot, for example,
EGO_BACKUPDIR=/tmp/backup

Default: Not defined. The VEMKD snapshot feature is enabled only if a directory is specified.

EGO_CEF_NO_SYSLOG

Syntax: EGO_CEF_NO_SYSLOG=Y|N

Description: Controls the syslog (time and date information) prefix usage for CEF (Common Event Format) standard auditing logs. If EGO_CEF_NO_SYSLOG=N, the logs show times and dates; if EGO_CEF_NO_SYSLOG=Y, the logs hide times and dates.

Typically, you will want to see time and dates in your logs, so keep this value as the default: EGO_CEF_NO_SYSLOG=N. If you do set this parameter to EGO_CEF_NO_SYSLOG=Y, ensure you use it along with the EGO_AUDIT_LOG_CEF=Y setting.

Default: EGO_CEF_NO_SYSLOG=N

EGO_CHAN_KEEPALIVE_TIME

Syntax: EGO_CHAN_KEEPALIVE_TIME=time_in_seconds

Description: Controls how long the TCP connection between management hosts and compute hosts can remain idle (no traffic) before TCP sends a Keep-Alive message.

Valid values: 180 to 2147483647

Default: 180

EGO_CLIENT_TS_PARAMS

Syntax: EGO_CLIENT_TS_PARAMS="SSL[sub-parameter, ...]"

Description: Specifies the SSL parameters applicable to the client.

Valid values: Refer to Sub-parameters for the ego.conf file for a list of sub-parameters.

Default: EGO_CLIENT_TS_PARAMS=EGO_DEFAULT_TS_PARAMS

EGO_COMPONENTS_COLLECTION

Description: For internal system use only. Do not change this setting.

EGO_CONSUMER_PRIORITY_DEFAULT

Syntax: EGO_CONSUMER_PRIORITY_DEFAULT=value

Description: Specifies the default rank (priority) for all new consumers and any existing consumers that do not have a rank already set.

When many consumers in your cluster share the highest rank (0), a consumer with time-sensitive workload but low demand might not get resources and is blocked until other consumers (such as those with a high share ratio and high demand) finish their workload. To avoid this issue, use this parameter to change the default rank for all new consumers and consumers without a rank from 0 to another value (default 10000). You can then manually update the rank for consumers that host critical workload to, say, 1 or 2. Because lower values get priority, consumers that are set to 1 or 2 get priority over those that are set to 10000.

This parameter takes effect only for new consumers and consumers without a rank. If a rank is already defined for a consumer, its priority order is preserved.

If you remove this parameter, the rank for new consumers is set to 0 (highest priority).

Valid values: 0 to 9999999

Default: 10000

EGO_CONTAINER_CLEANPERIOD

Syntax: EGO_CONTAINER_CLEANPERIOD=Time in seconds

Description: Specifies the period of time that activity information persists in the EGO kernel daemon (vemkd).

Valid values: Any string with an integer value (greater than or equal to 0)

Default: 300

EGO_DATA_ENABLE

Syntax: EGO_DATA_ENABLE=Y|N

Description: Enables or disables EGO allocation events data logging.

Valid values:
Y
Enables the storage of event data in event data files.
N
Disables this feature.

Default: EGO_DATA_ENABLE=Y

EGO_DATA_FILE

Syntax: EGO_DATA_FILE= alloc_file_path

Description: Specifies the path to the allocation event data file including the name of the allocation event file.

Default:
  • EGO_TOP\kernel\work\data\ego.stream (Windows)
  • $EGO_TOP/kernel/work/data/ego.stream (Linux)

EGO_DATA_MAXSIZE

Syntax: EGO_DATA_MAXSIZE=file_size_in_Mbytes

Description: Limits the maximum size of the allocation event data file (named ego.stream by default) where the event logger stores event data. When a data file exceeds this size, the events logger archives the file and creates a new data file. The events logger maintains one archive file and overwrites the old archive with the new archive.

If your system logs a large number of events, you should increase the maximum file size to see more archived event data. If your disk space is insufficient for storing these files, you should decrease the maximum file size, or change the file path to a location with sufficient storage space.

For a production cluster, the average data file switch time; that is, the time it takes the data file to reach its maximum size and switch to the archive, should be greater than 3 minutes. If the switch time is too frequent, increase the file size. Note that the file size also impacts the data file writing speed so if the file is too large, writing speed will slow down.

Default: 10 Mbytes

EGO_DEFAULT_TS_PARAMS

Syntax: EGO_DEFAULT_TS_PARAMS="SSL[sub-parameter, ...]"

Description: This is a general parameter consisting of sub-parameters defined for SSL that apply to every daemon and container in the cluster. If parameters are not defined, SSL will use anonymous DH as the cipher. The user can define daemon-specific parameters that override these default parameters.

Valid values: Refer to Sub-parameters for the ego.conf file for a list of applicable sub-parameters.

EGO_DEFINE_NCPUS

Syntax: EGO_DEFINE_NCPUS=procs | cores | threads

Description: If defined, enables an administrator to define a value other than the number of cores available. Follow one of the following three equations for an accurate value:
  • EGO_DEFINE_NCPUS=procs (number of processors)
  • EGO_DEFINE_NCPUS=cores (number of processors x number of cores)
  • EGO_DEFINE_NCPUS=threads (number of processors x number of cores x number of threads)

Default: EGO_DEFINE_NCPUS=cores

EGO_DHCP_ENV

Syntax: EGO_DHCP_ENV=Y|N

Description: Specifies that the client's IP address is not cached. Dynamic IP addressing is enabled for all client hosts in the cluster. If the parameter is defined, you must also define EGO_DYNAMIC_HOST_WAIT_TIME for hosts to rejoin a cluster after their IP address changes. Setting this parameter to Y increases the frequency of searching the hosts' IP addresses.

Valid values:
Y
Specifies that the client's IP address is not cached.
N
Specifies that the client's IP address is cached.

Default: EGO_DHCP_ENV=N

EGO_DISABLE_EXECPASSWD_SECURITY

Syntax: EGO_DISABLE_EXECPASSWD_SECURITY=Y|N

Description: In simplified WEM for Windows, EGO only requests that the EGO OS Administrator account is granted read, write, create, and execute permissions on a shared file system. However, if the EGO operating system administrator account is a local user, reading and writing to the passwd.ego file also needs file owner rights or Local Administrator rights. If EGO is installed as simplified WEM and the EGO OS Administrator account is a local user, the IBM Spectrum Symphony installation will set the parameter to "Y" to disable the special security requirements of the passwd.ego file.

Valid values:
Y
Specifies that vemkd and egoconfig do not set special security requirements for the passwd.ego file. The permission of the passwd.ego file will be the same as other EGO configuration files.
N
Disables this feature.

Default: EGO_DISABLE_EXECPASSWD_SECURITY=N

EGO_DISABLE_RECLAIM_HYBRID_OWN

Syntax: EGO_DISABLE_RECLAIM_HYBRID_OWN=Y|N

Description: When the hybrid scheduling policy is configured, use this parameter to define whether EGO must only reclaim the number of slots exceeding the consumer’s hybrid owned slots. For details on this scheduling policy, see Hybrid scheduling policy; for details on how to configure it, see Configuring the hybrid scheduling policy.

When an exclusive policy is configured (with exclusive slots at the consumer level), use this parameter to define whether EGO must only reclaim the number of slots exceeding the consumer's hybrid owned slots for exclusive and non-exclusive consumers:
  • For a leaf consumer that is an exclusive consumer, EGO will only reclaim the number of slots exceeding the consumer's hybrid owned slots.
  • For a leaf consumer that is a non-exclusive consumer, the consumer is in the same group as all other leaf consumers that can share the same host with it. This parameter will take effect at the group level (that is, EGO will only reclaim the number of slots exceeding the group's hybrid owned slots, which is the sum of hybrid owned slots of all leaf consumers in this group).
For details on configuring consumer level exclusivity, see Configuring exclusive slots at the consumer level.
Valid values: Specify one of the following:
Y

Specifies that EGO must only reclaim the number of slots exceeding the consumer’s hybrid owned slots, even though its quota may be lower than the number of its hybrid owned slots.

N

Specifies that EGO must reclaim the number of slots that exceed the consumer’s quota.

Default: EGO_DISABLE_RECLAIM_HYBRID_OWN=N

EGO_DISABLE_ROOT_REX

Syntax: EGO_DISABLE_ROOT_REX=Y|N

Description: Linux only

In advanced WEM for Linux, this parameter prevents PEM from executing EGO services as the root user, and logs all blocked services to the local PEM log file. As a security best practice, only PEM should be run as root; any EGO services should be executed by a non-root user (such as by a cluster administrator user). When EGO_DISABLE_ROOT_REX=Y, all processes including middleware daemons started by PEM are prevented to run as root.

If EGO_DISABLE_ROOT_REX is not defined, or is set to N, the PEM on the host accepts any requests to start EGO services as the root user, which is insecure. Instead, set this parameter to EGO_DISABLE_ROOT_REX=Y and change your host settings so that services that currently allow root as the execution user are disabled or changed to a non-root user (see Disabling root user execution for EGO services for details). To enable this setting at the cluster level, configure EGO_DISABLE_ROOT_REX in the ego.conf configuration file, and the host settings, on all hosts in your cluster.

This parameter does not apply when EGO services started by PEM always run as the PEM user, such as in simplified WEM mode.

Valid values: Specify one of the following:
Y
Prevents PEM from starting EGO services as the root user on the host.
N
Allows PEM to start EGO services as the root user on the host.

Default: EGO_DISABLE_ROOT_REX=N

EGO_DISCIPLINE_TIMEOUT

Syntax: EGO_DISCIPLINE_TIMEOUT=time_in_seconds

Description: Adds time to all grace periods in seconds. A grace period is the time the system waits before reclaiming resources from a borrowing consumer when a lending consumer requests them back. This time period allows any running work to finish running before the resource is reclaimed.

This parameter adds time to any grace period, cluster wide. All consumers have a grace period. The grace period's default is 120 seconds.

Valid values: An y positive integer

Default: EGO_DISCIPLINE_TIMEOUT=120

EGO_DISTRIBUTION_INTERVAL

Syntax: EGO_DISTRIBUTION_INTERVAL=time_in_seconds

Description: Specifies intervals after which EGO will allocate resources. Requests are queued until the next distribution interval end is reached.

Valid values: 0 to 2147483647

Default: EGO_DISTRIBUTION_INTERVAL=0, EGO will allocate resources as requests for them are made.

EGO_DOCKER_NETWORK_PLUGIN

Syntax: EGO_DOCKER_NETWORK_PLUGIN=script_path

Description: Specifies the external network script before you can configure the network for the Docker container.

Example: EGO_DOCKER_NETWORK_PLUGIN=/ope/my.py

Note: Available only with IBM Spectrum Conductor.

EGO_DUALSTACK_PREFER_IPV6

Syntax: EGO_DUALSTACK_PREFER_IPV6=Y|N

Description: Applicable to dual-stack hosts. If the parameter is set to Y, a dual-stack host uses IPv6 instead of IPv4 to communicate with other IPv6 or dual-stack hosts.

Default: EGO_DUALSTACK_PREFER_IPV6=N

EGO_DYNAMIC_HOST_TIMEOUT

Syntax: EGO_DYNAMIC_HOST_TIMEOUT= time_hours|time_minutes

Description: Enables automatic removal of dynamic hosts from the cluster and specifies the timeout value (minimum 10 minutes). Setting this parameter may lead to unavailable hosts being removed from the cluster and rejoining again frequently. To improve performance in very large clusters, you should disable this feature and remove unwanted hosts from the host cache file manually.

Specifies the length of time the system waits for a dynamic host that is unavailable before the primary host removes it from the cluster.

Valid values: Any positive integer greater than or equal to 10 minutes and less than or equal to 100 hours

Default: Not defined. Unavailable hosts are never removed from the cluster.

Example: EGO_DYNAMIC_HOST_TIMEOUT=60

A dynamic host is removed from the cluster when it is unavailable for 60 hours.

Example: EGO_DYNAMIC_HOST_TIMEOUT=60m

A dynamic host is removed from the cluster when it is unavailable for 60 minutes.

EGO_DYNAMIC_HOST_WAIT_TIME

Syntax: EGO_DYNAMIC_HOST_WAIT_TIME= wait_time | first_wait_time,subsequent_wait_time

Description: When LIM starts on a host, if the primary host already recognizes the host (for example, a static host or a dynamic host that had previously started and joined the cluster), it does not need to send a join request to the primary LIM. The primary LIM sends acknowledgment signals to all hosts that the primary host already recognizes.

If LIM does not receive acknowledgment from the primary LIM, it will send the join request and wait for the EGO_DYNAMIC_HOST_WAIT_TIME for the acknowledgment again. Therefore, EGO_DYNAMIC_HOST_WAIT_TIME is the interval, in seconds, that the compute host waits for the primary LIM acknowledgment so that it can join the cluster.

Once the acknowledgment signal is received, LIM on the compute host will start all other processes such as PEM, ELIM, and so on, on the host. If there is no acknowledgment from the primary LIM after 20 tries, the local LIM exits (that is, the cluster join operation fails).

There are two ways to express EGO_DYNAMIC_HOST_WAIT_TIME. You can specify a value that applies to all attempts to join the cluster or you can specify two intervals for EGO_DYNAMIC_HOST_WAIT_TIME. The first interval applies to the first attempt (of the 20 attempts) and the second interval applies to each of the subsequent attempts.

Valid values: Any positive integer

Default: Defined and set to 60 seconds. Dynamic hosts cannot join the cluster if this value is not defined.

EGO_ELIM_MELIM

Syntax: EGO_ELIM_MELIM=Y|N

Description: Enables or disables ELIM and MELIM on the host. If you specify a value that is not valid, the system sets the value to N.

Valid values:
Y
Enables ELIM and MELIM on the host.
N
Disables ELIM and MELIM on the host.

Default: Y (enabled).

EGO_ELIM_RUNAS_CLUSTER_ADMIN

Syntax: EGO_ELIM_RUNAS_CLUSTER_ADMIN=Y|N

Description: (Optional) Specifies whether the LIM daemon starts MELIM and PIM processes as a cluster administrator user.

Valid values:
Y
Enables LIM to start MELIM and PIM processes as a cluster administrator user.
N
Disables LIM to start MELIM and PIM processes as a cluster administrator user.

Default: N (not enabled).

EGO_ENABLE_BASE_QUOTA

Syntax: EGO_ENABLE_BASE_QUOTA=Y|N

Description: Minimizes the number of reclaims that can occur when consumers are overusing resources from multiple resource groups.
Important: For this feature to work, you must also enable EGO_ADJUST_SHARE_TO_WORKLOAD in the ego.conf file.
Valid values:
Y
Specifies that resources will be allocated to consumers according to their static share quota from each resource group first, followed by resources allocated according to the order of resource groups defined in ConsumerTrees.xml.
N
Disables this feature.

Default: N (not enabled).

EGO_ENABLE_BORROW_ONLY_CONSUMER

Syntax: EGO_ENABLE_BORROW_ONLY_CONSUMER=Y|N

Description: Specifies a consumer as borrow-only, which identifies a consumer without guaranteed slots.

A borrow-only consumer's share ratio which defines how many slots a consumer guarantees is set to 0. Therefore, this borrow-only consumer (and its children) always yields slots to normal consumer siblings. The borrow-only consumer gets slots only when the normal sibling consumers do not have any demand.

A borrow-only consumer has the following characteristics:
  • When a borrow-only consumer and a normal consumer sibling compete for resources, the borrow-only consumer is entitled to get none even if the sibling is also borrowing resources.
  • A borrow-only consumer's resources are reclaimed if a normal consumer sibling wants to borrow more.
  • When a borrow-only consumer competes for resource with other consumers that are not its sibling, its parent's share ratio is taken in to consideration. In this case, the borrow-only consumer does not yield slots to a normal consumer. This means that the borrow-only consumer has greater priority to borrow resources from its family than a normal consumer outside the family.

Use this parameter when one application owns all resources in the resource group; other consumers for the resource group can be configured as borrow-only consumers.

Important: For this feature to work, you must also enable the following parameters in the ego.conf file:
  • EGO_ADJUST_SHARE_TO_WORKLOAD=Y
  • EGO_ENABLE_RECLAIM_SIBLINGS=Y
Valid values:
Y
Specifies a consumer as borrow-only (with a share ratio of 0).
N
Disables this feature.

Default: N (not enabled).

EGO_ENABLE_CHAN_KEEPALIVE

Syntax: EGO_ENABLE_CHAN_KEEPALIVE=Y|N

Description: Determines whether firewall support is enabled between the management hosts and compute hosts. Enabling this feature allows periodic TCP Keep-Alive messages to pass between VEMKD on the management hosts and PEM on the compute hosts. Note that enabling this feature can add to traffic overhead in the network.

Valid values:
Y
Enables TCP Keep-Alive messages to pass between management and compute hosts.
N
Disables firewall support.

Default: If the parameter is not set, firewall support is disabled.

EGO_ENABLE_COMPRESS_STATUS_FILE

Syntax: EGO_ENABLE_COMPRESS_STATUS_FILE=Y|N

Description: Enables Zip compression of certain persist files that are critical for performance. You would set this parameter assuming the time spent to compress the file is less than the time saved by writing a smaller sized file. It is designed to improve VEMKD responsiveness. The degree of improvement in responsiveness varies, depending on the performance of the file operation. For example, there will not likely be improvement if the $EGO_CONFDIR/../work directory is on a local disk. Tests have demonstrated that there are significant gains in VEMKD responsiveness when VEMKD runs on a Windows host and the persist file directory is on a Windows file server. It does not show significant improvement when VEMKD runs on Linux and uses NFS as the file server.

Valid values:
Y
Enables file compression.
N
Disables file compression.

Default: If the parameter is not set, file compression is disabled.

EGO_ENABLE_CONSUMER_LEVEL_EXCLUSIVE

Syntax: EGO_ENABLE_CONSUMER_LEVEL_EXCLUSIVE=Y|N

Description: Enables exclusive slots at the consumer level (where free slots from the host can be shared and assigned to any number of allocations, but only amongst a select set of consumers within an exclusive consumer group). This ensures that the host resources can be fully used since allocations under the same (exclusive) consumer can share a host.

Once enabled, your cluster management console Resources > Resource Planning (Slot) > Resource Plan > Slot allocation policy > Exclusive view shows two additions:
  1. A Consumer level option under Exclusive.
  2. A Exclusive Consumer column with check boxes that you can select to mark exclusive consumers.
Valid values:
Y
Enables consumer level exclusivity.
N
Disables this feature.

Default: N (not enabled).

EGO_ENABLE_FSYNC

Syntax: EGO_ENABLE_FSYNC=Y|N

Description: This parameter is applicable for configuring IBM Spectrum Scale configuration with IBM Spectrum Symphony. It specifies to write all data directly to a persistent storage device during a write operation instead of to cache memory.

Valid values:
Y
Specifies to flush all data from OS memory to hard disk.
N
Specifies to write all data to cache memory temporarily, and then write the data to hard disk.

Default: Not defined

EGO_ENABLE_LOCK_USER

Syntax: EGO_ENABLE_LOCK_USER=Y|N

Description: When a user consecutively uses an incorrect user name, password, or a combination of both to log on, the system locks out the user after the fifth unsuccessful attempt (successful logons are not counted). The system sends the user an SNMP event when they are locked out. After five minutes of locking out the user, the user can try to log on again.

This configuration is supported with the default authentication, Active Directory, PAM, or PAM with the default plug-in (to concurrently handle PAM clients and the default IBM Spectrum Symphony clients).

Valid values:
Y
Specifies that the system lock a user after five consecutive failed logons, send the user an SNMP notification, and unblock the user after five minutes.
N
Specifies that the system not lock a user after failed logon attempts.

Default: N (not enabled).

EGO_ENABLE_RG_PREFERENCE

Syntax: EGO_ENABLE_RG_PREFERENCE=Y|N

Description: Specifies, for each consumer, the order in which resource groups must be used. When resource group preference is enabled and the resource plan permits, the consumer always uses slots from the preferred resource group before using slots from the less preferred. Use the egosh consumer view command to view the preference level for each resource group.

Important: For this feature to work, you must also enable the following parameters in the ego.conf file:
  • EGO_ADJUST_SHARE_TO_WORKLOAD=Y
  • EGO_RECLAIM_FROM_SIBLINGS=Y

Optionally configure EGO_MAX_PREFERENCE_LEVEL in the ego.conf file to define the maximum preference level (from 0 to 99) for a resource group.

Valid values:
Y
Enables resource group preference for each consumer.
N
Disables this feature.

Default: N (not enabled).

EGO_ENABLE_RG_UPDATE_MEMBERSHIP

Syntax: EGO_ENABLE_RG_UPDATE_MEMBERSHIP=Y|N

Description: Enables the system to periodically check and update the resource group membership so that the membership is current in CLI and in the cluster management console, if set to Y. If set to N, you must manually run egosh resource updaterg to update the most current resource group membership in a cluster. For details about the egosh resource updaterg subcommand, see resource.

Valid values:
Y
Enables VEMKD to periodically update the resource group membership so that the membership is current. Additionally, if you set this value to Y, also set a value, in seconds, for the EGO_RG_UPDATE_MEMBERSHIP_INTERVAL parameter within the ego.conf file, to specify how often VEMKD should check resource attribute changes for the hosts and resource groups.
N
Disables VEMKD from checking and updating the resource group membership. If you choose this option, run egosh resource updaterg to update the resource group membership.

Default: EGO_ENABLE_RG_UPDATE_MEMBERSHIP=N.

EGO_ENABLE_SELINUX_CTX_SWITCH

Syntax: EGO_ENABLE_SELINUX_CTX_SWITCH=Y|N

Description: Enables Security-Enhanced Linux (SELinux) context switching in an SELinux-enabled environment. Once enabled, IBM Spectrum Symphony can run processes (started by PEM, and Docker container processes used for IBM Spectrum Symphony) with specific SELinux security context.
Tip: By default, EGO will get the user's security context from the sshd (OpenSSH server process) context; you can optionally change the context from where EGO will get the default security context for the user, by configuring the EGO_SELINUX_FROM_CONTEXT parameter after configuring this one.
Valid values:
Y
Enables SELinux context switching.
N
Disables SELinux context switching.

Default: EGO_ENABLE_SELINUX_CTX_SWITCH=N.

EGO_ENABLE_SUPPORT_IPV6

Syntax: EGO_ENABLE_SUPPORT_IPV6=Y|N

Description: Enables support for IPv6. Enabling support for IPv6 does not have any effect on IPv4-only hosts. If set to N, IPv6-only hosts are not recognized.

Valid values:
Y
Enables IPv6 support.
N
Disables IPv6 support.

Default: EGO_ENABLE_SUPPORT_IPV6=N.

EGO_ENTITLEMENT_FILE

Syntax: EGO_ENTITLEMENT_FILE=path

Description: Specifies the location of the entitlement file containing entitlement keys for IBM Spectrum Symphony.

Default: None

EGO_EVENT_MASK

Syntax: EGO_EVENT_MASK=log_level

Description: Specifies the level of information you want the system to log.

Valid values:
  • LOG_ERR: Provides information about error events only.
  • LOG_WARNING: Provides information about warning and error events.
  • LOG_INFO: (Default) Provides information about all events.

Default: EGO_EVENT_MASK=LOG_INFO

EGO_EVENT_PLUGIN

Syntax: EGO_EVENT_PLUGIN=plugin_name[plugin_conf]

Description: Specifies the plug-in name and configuration file location used to trap SNMP events. The plug-in name should not include a suffix (.dll or .so): EGO_EVENT_PLUGIN=plugin_name[plugin_conf]...

Example:

EGO_EVENT_PLUGIN=eventplugin_snmp[SINK=host,MIBDIRS=

absolute_path_of_top_directory/kernel/conf/mibs]

(where host represents the name of the host where the SNMP trap daemon is running).

SNMP traps enable an agent to notify the management station of significant events by way of an unsolicited SNMP message.

Note the following:
  • If a shared directory is used, the MIBDIRS directory may also equal absolute_path_of_shared_directory/kernel/conf/mibs.
  • In a Windows environment, use quotation marks around the event plug-in definition.
    For example:
    EGO_EVENT_PLUGIN="eventplugin_snmp[SINK=host,
    MIBDIRS=absolute_path_of_shared_directory\kernel\conf\mibs]"
  • In an Linux environment, do not use quotation marks around the event plug-in definition.

You can modify the default port (port 162) by specifying TRAPPORT=port_number in the string.

EGO_EVENT_PLUG_IN="eventplugin_snmp[...,TRAPPORT=port_number]"

Default: Events are not enabled

EGO_EXCLUDE_RG_FOR_SLOT

Syntax: EGO_EXCLUDE_RG_FOR_SLOT=resource group list

Description: Excludes specific resource groups when you calculate the total number of slots of each host.

However, even though you exclude resource groups, you can still view the total number of slots of each host by using the following CLI command: egosh resource list –g

Valid values: A semicolon (;) delimited list of resource groups.
Important: If the command is issued in whole from the shell console, enclose the requirement in single quotation marks.
The following example excludes resource groups RG_1 and RG_2:
EGO_EXCLUDE_RG_FOR_SLOT='RG_1;RG_2'

When no valid resource groups are specified, this feature is off.

Default: Not defined.

EGO_EXPORT_OS_USER_ENV

Syntax: EGO_EXPORT_OS_USER_ENV=APPEND | PREPEND

Description: When this variable is enabled, the EGO service instance is started with the environment values that are defined in user’s login shell.

Restriction:
  • Only Linux x86_64 RHEL 6.x is supported.
  • Only the ksh, bash, and csh shells are supported.
Valid values: When either APPEND or PREPEND is selected, the environment values of the user are preserved when a service instance is started. When no value is specified, this variable is not enabled.
APPEND
The environment values are merged, and the EGO build-ins or EGO service configurations come first.
PREPEND
The environment values are merged, and the user’s environment variables come first.

Default: Not defined

EGO_GET_CONF

Syntax: EGO_GET_CONF=LIM

Description: Applies only to compute hosts and specifies synchronization of the primary and primary-candidate host list between the local ego.conf file and the shared ego.conf file. The synchronization is performed by the LIM daemon.

Default: Not defined

EGO_GLOBAL_STANDBY_CLEANUP_TIMEOUT

Syntax: EGO_GLOBAL_STANDBY_CLEANUP_TIMEOUT=time_in_seconds

Description: Applies only when global standby services are enabled for an application.

Cleanup activity on a slot is triggered as soon as EGO assigns the slots to other applications and must be completed within the configured timeout. The slots will be allocated to other application without waiting for the cleanup activity to finish. If the cleanup activity failed to finish within the period, EGO will terminate the agent of the global standby as a last resort to clean up.

Valid values: Positive integer

Default: EGO_GLOBAL_STANDBY_CLEANUP_TIMEOUT=300

EGO_HOST_CACHE_DISABLE

Syntax: EGO_HOST_CACHE_DISABLE=Y|N

Description: Disables caching of host names and addresses. Setting this parameter to Y increases the frequency of searching the host's name/IP address in the system.

Valid values:
Y
Disables caching of host names and addresses.
N
Enables caching of host names and addresses.

Default: EGO_HOST_CACHE_DISABLE=N

EGO_HOST_CACHE_NTTL

Syntax: EGO_HOST_CACHE_NTTL=time

Description: Negative time to live, in seconds. The amount of time that errors are cached. To turn off caching completely, set the value to 0. Setting this parameter to a low value or 0 increases the frequency of searching the host's name or IP address in the system.

Valid values: 0 to 2147483647

Default: 20 seconds

EGO_HOST_CACHE_PTTL

Syntax: EGO_HOST_CACHE_PTTL=time

Description: Positive time to live, in seconds. The amount of time cached results are stored. To turn off caching completely, set the value to 0. Setting this parameter to a low value or 0 increases the frequency of searching the host's name/IP address in the system.

Valid values: 0 to 2147483647

Default: 86400 seconds (24 hours)

EGO_HOST_COMMENT_ENFORCE

Syntax: EGO_HOST_COMMENT_ENFORCE=Y|N

Description: Determines whether a comment is required when requesting to close a host through the cluster management console or CLI.

Valid values:
Y
Specifies that a comment is required for the close host operation to succeed.
N
Specifies that a comment is not required for the close host operation.

Default: If the parameter is not set, the comment is not required.

EGO_HOST_RESOURCE_USAGE_LIMIT

Syntax:
  • Windows: EGO_HOST_RESOURCE_USAGE_LIMIT=MEM[VIRTUAL_PERCENTAGE=value]
  • Linux: EGO_HOST_RESOURCE_USAGE_LIMIT=MEM[PHYSICAL_PERCENTAGE=value]

Description: Applies only to compute hosts and specifies the memory (virtual memory for Windows, and physical memory for Linux) usage limit, as a percentage, for all processes created by PEM (for Windows) and the sub-PEM (for Linux), and its descendant processes on each compute host. Use this parameter to protect applications from encountering out-of-memory issues at the host level.

Valid values: Any positive integer greater than 0 and lower than 1.

For example, for Windows, when EGO_HOST_RESOURCE_USAGE_LIMIT=MEM[VIRTUAL_PERCENTAGE=0.8], the maximum virtual memory usage of all processes created by PEM and its descendant processes must not exceed 80% of the host’s total virtual memory.

For Linux, when EGO_HOST_RESOURCE_USAGE_LIMIT=MEM[PHYSICAL_PERCENTAGE=0.8], the maximum physical memory usage of all processes created by the sub-PEM and its descendant processes must not exceed 80% of the host’s total physical memory. If the sum of the memory usage of these processes reaches the configured memory limit, an out-of-memory event is triggered. The Linux cgroup's out-of-memory killer then handles this event by killing some monitored processes. For more information, see Host-level memory usage limits.

This parameter is configured in the local ego.conf file on each compute host. Therefore, you can configure different usage limits on different compute hosts. If the parameter does not exist or its value is not valid, a memory usage limit is not enforced on the host.

Default: Not defined

EGO_HYBRID_EVENLY_DISTRIBUTE_SLOTS

Syntax: EGO_HYBRID_EVENLY_DISTRIBUTE_SLOTS=Y|N

Description: Determines how owned slots that are not being used by its consumer are distributed to other consumers by the hybrid sharing policy.

Valid values:
Y
Specifies that the slots not used by its owner can be distributed evenly across all sibling consumers that have outstanding demand, regardless of how many slots they own.
N
Specifies that when a consumer is not using all its owned slots, the slots are redistributed among sibling consumers that have outstanding demand. The number of slots that each consumer gets depends on its number of owned slots relative to its sibling.

Default: N

EGO_KD_CLIENT_PORT_RANGE

Syntax: EGO_KD_CLIENT_PORT_RANGE=port_number1,port_number2

Description: EGO tries to bind a local port number in the configured range when it works as a client. If there is no available port in the range, EGO uses a random port number allocated by the OS.

Valid values: port_number1 must be greater than 1024 and port_number2 must be greater than port_number1.

EGO_KD_PEM_TS_PARAMS

Syntax: EGO_KD_PEM_TS_PARAMS="SSL[sub-parameter, ...]"

Description: When SSL is enabled between VEMKD and PEM, specifies the SSL parameters specific to VEMKD. If you do not configure this parameter, ensure that the EGO_DEFAULT_TS_PARAMS parameter is configured in the ego.conf file on management hosts. You cannot configure both EGO_KD_PEM_TS_PARAMS and EGO_PEM_TS_PARAMS to use default parameters from EGO_DEFAULT_TS_PARAMS at the same time.

Valid values: Refer to Sub-parameters for the ego.conf file for a list of applicable sub-parameters.

EGO_KD_PEM_TS_PORT

Syntax: EGO_KD_PEM_TS_PORT=port_number

Description: Specifies the port number on which VEMKD accepts SSL connections from PEM.

Default: Not defined

EGO_KD_PORT

Syntax: EGO_KD_PORT=port_number

Description: Specifies the port number to use to connect to the IBM Spectrum Symphony cluster.

Valid values: The port number must match exactly to the port number specified in the primary host's the ego.conf file in the cluster.

Default: If the port is not specified, it defaults to 7870.

EGO_KD_TS_PARAMS

Syntax: EGO_KD_TS_PARAMS="SSL[sub-parameter, ...]"

Description: Specifies the SSL parameters specific to VEMKD. If you do not configure this parameter, ensure that the EGO_DEFAULT_TS_PARAMS parameter is configured in the ego.conf file. You cannot configure both EGO_KD_PEM_TS_PARAMS and EGO_PEM_TS_PARAMS to use default parameters from EGO_DEFAULT_TS_PARAMS at the same time.

Valid values: Refer to Sub-parameters for the ego.conf file for a list of applicable sub-parameters.

EGO_KD_TS_PORT

Syntax: EGO_KD_TS_PORT=port_number

Description: Specifies the SSL port number of VEMKD. This parameter is applicable to daemon and client.

Default: If the port is not specified, it defaults to 7870.

EGO_KEYFILE

Syntax: EGO_KEYFILE=keyfile_location

Description: Specifies the absolute path to the location where the generated AES-128 key is stored.

Valid values: An absolute path (for example, /mykeyfiles/seckey.conf). To store the key in this path, specify EGO_KEYFILE=/mykeyfiles/seckey.conf.

Default: None

EGO_KEYFILE_VEMKD_PEM

Syntax: EGO_KEYFILE_VEMKD_PEM=path_to_AES-256_encrypted_key_file

Description: Enables AES-256 encrypted EGO service credentials, when the credential is transferred between VEMKD and PEM. When set, VEMKD generates an AES-256 encrypted key and updates it to the key file once a day at midnight. Once the key is updated, VEMKD uses the new key to encrypt credentials; PEM then reads the key from the key file to decrypt the received credentials. Use this parameter if SSL is disabled between VEMKD and PEM; use it to protect the transferred EGO service credentials.
Tip: VEMKD generates the contents of this key file, and PEM decrypts that information; therefore, to avoid decryption issues, do not change anything within the file. Refer to the VEMKD and PEM logs if you do encounter issues.

Default: Not defined (encryption is not enabled by default)

Valid values: The absolute path to the file where VEMKD should generate the AES-256 encrypted key file. This path should be configured to the same value and be accessible on all management and compute hosts in the cluster. For example, EGO_KEYFILE_VEMKD_PEM=/sharedir/aeskey.

EGO_LICENSE_COREHOURS_MONITOR_INTERVAL_MINUTES

Syntax: EGO_LICENSE_COREHOURS_MONITOR_INTERVAL_MINUTES=time_in_minutes

Description: When cloud hosts in your cluster are configured to track core-hour usage (see Configuring cloud host monitoring for hours used), specifies the frequency at which core-hour metrics is logged to the cluster.hostusage file at %EGO_CONFDIR%\..\work\data\ on Windows and $EGO_CONFDIR/../work/data/ on Linux. The cluster.hostusage file logs detailed core-hour metrics at a more frequent interval than that logged to the ego.cluster_name.entitlement.acct file and is also used for recovery purposes.

Valid value: 1 - 60 range.

Default: 5 (minutes)

EGO_LICENSE_CORE_ENTITLEMENT

Description: Maximum number of cores that can be entitled in your cluster (see Configuring cloud host monitoring for hours used). Default is 0, which indicates that all cloud hosts with the corehoursaudit resource attribute are counted only for core-hour usage. Define this parameter if you want to use a combination of perpetual licenses and variable use licenses for your cloud hosts. When defined, cloud hosts that join the cluster are licensed by cores, up to the specified entitlement. After all perpetual licenses are used, cloud hosts that join the cluster are licensed by core hours.

Valid value: 0 to 2147483647

Default: 0

EGO_LICENSE_GPUCORE_ENTITLEMENT

Description: Maximum number of GPU cores that can be entitled when your cluster is licensed for IBM Spectrum Symphony GPU Harvesting (see Configuring cloud host monitoring for hours used). Default is 0, which indicates that all cloud hosts with the corehoursaudit resource attribute are counted only for GPU core-hour usage. Define this parameter if you want to use a combination of GPU perpetual licenses and GPU variable use licenses for your cloud hosts. When defined, cloud hosts that join the cluster are licensed by GPU cores, up to the specified entitlement. After all GPU perpetual licenses are used, cloud hosts that join the cluster are licensed by GPU core hours.

Valid value: 0 to 2147483647

Default: 0

EGO_LICENSE_WORK_FILE_PURGE_DAYS

Syntax: EGO_LICENSE_WORK_FILE_PURGE_DAYS=time_in_days

Description: When cloud hosts in your cluster are configured to track core-hour usage (see Configuring cloud host monitoring for hours used), specifies how long usage records in the cluster.hostusage file must be retained.

Valid value: 1 or greater

Default: 2 (days)

EGO_LIM_PORT

Syntax: EGO_LIM_PORT=port_number

Description: Specifies the base connection port.

Default: If the port is not specified, it defaults to 7869.

EGO_LOCAL_RESOURCES

Syntax: EGO_LOCAL_RESOURCES="[type | resource | resourcemap value] [type | resource | resourcemap value] ..."

Description: Defines the static resources available on the local host.

Valid values:
type | resource | resourcemap
Specify type, resource, or resourcemap as the value here.
value
Defines the resources to be configured for this host. Resource names defined in ego.shared can be used here, as follows:
  • If you specified type, the value here is the host type defined in the HostType section within ego.shared.
  • If you specified resource, specify the resource_name as the value here.
  • If you specified resourcemap, specify value*resource_name as the value here.
For example:
EGO_LOCAL_RESOURCES="[type NTX86] [resource define_ncpus_procs] [resourcemap 8*license1] [resourcemap ibmcloud*cloudprovider]"

EGO_LOG_MAX_ROTATE

Syntax: EGO_LOG_MAX_ROTATE=number_of_archives

Description: Specifies the maximum number of log file archives to maintain for LIM, VEMKD, ELIM, MELIM, PEM, and Docker Controller logs. If the value for this parameter is set to 0, log rotation is disabled. If the value is not valid, the default value is used. The EGO_LOG_MAX_ROTATE parameter can be specified on the host where it is required.

Valid values: 0 to 2147483647

Default: 10

EGO_LOG_MAX_SIZE

Syntax: EGO_LOG_MAX_SIZE=number_of_Megabytes

Description: Specifies the maximum file size in MB for LIM, VEMKD, ELIM, MELIM, PEM, and Docker Controller logs. When the log file reaches the specified size, the file will be archived if both EGO_LOG_MAX_SIZE and EGO_LOG_MAX_ROTATE are set to a non zero value. The EGO_LOG_MAX_SIZE parameter can be specified on the host where it is required.

If the value for this parameter is set to 0, log rotation is disabled. If the value is not valid, the default value is used.

Valid values: 0 to 1999

Default: 100

EGO_MANDATORY_DIR

Syntax: EGO_MANDATORY_DIR=shared_dir[,timeout]

Description: This parameter is applicable for configuring IBM Spectrum Scale configuration with IBM Spectrum Symphony. It specifies the path to the shared file location where IBM Spectrum Scale configuration information is accessed by the management hosts in the cluster. When the file system cannot be accessed for a period longer than the timeout, primary host failover is triggered.

Valid values:
  • shared_dir: Path that can be accessed on a primary host or any of the primary host candidates.
  • timeout: A positive integer; the unit is in seconds.
Default:
  • shared_dir: No directory will be inspected as the mandatory access directory to trigger failover.
  • timeout: 120 seconds. This applies only when shared_dir is configured.

EGO_MASTER_ANN_BUF_SIZE

Syntax: EGO_MASTER_ANN_BUF_SIZE=number_of_bytes

Description: Specifies the External Data Representation (XDR) buffer size, in bytes, used for the primary LIM daemon to communicate with and announce packets to the LIM daemons on the compute hosts. Ensure that you set the EGO_MASTER_ANN_BUF_SIZE value in the ego.conf file on all management and compute hosts.

XDR is a representation of data in a standard serialization format. If the size of the XDR data exceeds the default XDR buffer of 16384 bytes, the system logs XDR errors to the lim.host_name.log file:
  • Linux: $EGO_TOP/kernel/log/lim.host_name.log
  • Windows: Installation_top\kernel\log\lim.host_name.log

To avoid these XDR errors, increase the size of the buffer. The larger the buffer, the more memory LIM uses.

Keep in mind that the size of and the resources defined in a cluster affects your buffer size:
  • The bigger the cluster (with many hosts), the more you should increase the buffer size.
  • The more resources defined in the cluster, the more you should increase the buffer size.
To calculate the buffer size, use this formula:
(number of hosts) x (number of resources) / 8 + (length of all resource names) x 3 + 3072

Default: 81920

EGO_MASTER_LIST

Syntax: EGO_MASTER_LIST="primary_host_candidate1 primary_host_candidate2 . . ."

Description: Specifies the hosts that are primary host candidates in the cluster to which you want to connect.
Note: If you configure EGO_MASTER_LIST as an environment variable, the values defined for it override the values defined for EGO_MASTER_LIST in ego.conf.

Valid values: The host names indicated here must exactly match the host names specified in the primary host's ego.conf file, accessible from the primary host under %EGO_CONFDIR% on Windows and $EGO_CONFDIR on Linux.

Specify a list of hosts separated by spaces within quotations.

EGO_MAX_CHUNK_SIZE

Syntax: EGO_MAX_CHUNK_SIZE=value

Description: Specifies the number of requests EGO handles in chunks. It is a performance tuning parameter.

Valid values: Positive integer

Default: EGO_MAX_CHUNK_SIZE=100

EGO_MAX_CONN

Syntax: EGO_MAX_CONN=value

Description: Specifies the maximum number of connections including the client and PEM that VEMKD can accept.

Valid values: 1024 to 60000

Default: 15000

EGO_MAX_PREFERENCE_LEVEL

Syntax: EGO_MAX_PREFERENCE_LEVEL=value

Description: Defines the maximum preference level for resource groups. When resource group preference is enabled (EGO_ENABLE_RG_PREFERENCE=Y), this parameter defines the highest preference value that can be assigned to a resource group. Valid preference levels range from 0 (most preferred) to the value of EGO_MAX_PREFERENCE_LEVEL (least preferred).
Important: For this feature to work, you must also enable the EGO_ENABLE_RG_PREFERENCE parameter in the ego.conf file.

Valid values: 0 to 99

Default: 4

EGO_MDS_LENDER_RECLAIM_GRACE_PERIOD

Syntax: EGO_MDS_LENDER_RECLAIM_GRACE_PERIOD=Y|N

Description: Specifies whether a borrowing consumer can reclaim resources when the reclaim grace period is longer than the lender's Lendout grace period.

Valid values:
Y
Specifies that a borrowing consumer can borrow resources even if its reclaim grace period is longer than the lender's Lendout grace period. When the resource is reclaimed, however, the shorter of the reclaim grace period and the Lendout grace period takes effect..
N
Specifies that a borrowing consumer can only borrow resources if its reclaim grace period is shorter than the lender's Lendout grace period.

Default: EGO_MDS_LENDER_RECLAIM_GRACE_PERIOD=N

EGO_NEW_HOST_WITH_CLOSED_STATUS

Syntax: EGO_NEW_HOST_WITH_CLOSED_STATUS=Y|N

Description: Enables new hosts to dynamically join the cluster based on resource requirements in Closed state. These closed hosts do not readily run jobs or contribute to the resource plan, enabling cluster administrators to prepare the host as required to run workload. After you prepare these hosts, you must manually open the hosts to run workload by using the egosh resource open command.

New hosts that join the cluster in Closed state include the following host close comment: Host closed: Configuration enabling new hosts to join the cluster in Closed state is enabled. You must manually open the host to run workload.

Default: EGO_NEW_HOST_WITH_CLOSED_STATUS=N

EGO_PARENT_QUOTA

Syntax: EGO_PARENT_QUOTA=Y|N

Description: Modifies the allocation and reclaim behavior of consumers so that, when a child consumer releases its allocation to the free pool, any of its siblings that have a demand for resources gets them before other consumers do.

Default: EGO_PARENT_QUOTA=N

EGO_PEM_CONN_TIMEOUT

Syntax: EGO_PEM_CONN_TIMEOUT= timeout_in_milliseconds

Description: The timeout for VEMKD to connect to PEM.

Valid values: 1000 to 5000

Default: 5000

EGO_PEM_PORT

Syntax: EGO_PEM_PORT=port_number

Description: Specifies the PEM connection port.

Default: If the port is not specified, it defaults to 7871.

EGO_PEM_TRANSPORT_SECURITY

Syntax: EGO_PEM_TRANSPORT_SECURITY=SSL

Description: Enables or disables SSL between VEMKD and PEM. To enable SSL, specify SSL; to disable SSL, do not include (comment out) this parameter.

Valid value: SSL

EGO_PEM_TS_PARAMS

Syntax: EGO_PEM_TS_PARAMS="SSL[sub-parameter, ...]"

Description: When SSL is enabled between VEMKD and PEM, SSL configuration consisting of sub-parameters for PEM. If you do not configure this parameter, ensure that the EGO_DEFAULT_TS_PARAMS parameter is configured in the ego.conf file on management hosts. You cannot configure both EGO_PEM_TS_PARAMS and EGO_KD_PEM_TS_PARAMS to use default parameters from EGO_DEFAULT_TS_PARAMS at the same time.

Valid values: Refer to Sub-parameters for the ego.conf file for a list of applicable sub-parameters.

EGO_PEM_TS_PORT

Syntax: EGO_PEM_TS_PORT=port_number

Description: Specifies the port number on which PEM accepts SSL connections from VEMKD.

Default: Not defined

EGO_PERSIST_REALLOCATION_STATUS_MILLISECONDS

Syntax: EGO_PERSIST_REALLOCATION_STATUS_MILLISECONDS=interval_in_milliseconds

Description: Defines how often IBM Spectrum Symphony should persist (write to disk), resource reallocation status and policy tree status. This parameter controls the interval for persisting status only triggered by reallocation requests sent by SSM (IBM Spectrum Symphony session manager).

By default, the system persists this information only during one of two scenarios: when SSM requires more resource allocation, or when SSM wants to keep the connection to VEMKD alive (even if SSM does not require more allocation). However, rather than wait for these situations, you can schedule the frequency in which IBM Spectrum Symphony persists this information.

Valid values: Any positive greater than or equal to 1 (that is, 0.001 of a second) and less than 3600000 (that is, 1 hour). As a best practice, set this value to 1000 milliseconds, so that the system persists reallocation status every second.

Default: Not defined, which indicates that persisting is not enabled, and reallocation recovery persists on demand, not at a scheduled interval.

EGO_PREFERRED_IP_MASK

Syntax: EGO_PREFERRED_IP_MASK=nnn.nnn.nnn.nnn/nn

Description: Specifies the preferred IP address for multiple network interfaces. If more than one IP address matches the IP mask, the first matching IP address is used as the preferred IP address. If no addresses match the mask, the order of the address list is not changed.

Default: Not defined

EGO_RBAC_ALLOW_SELFASSIGNMENT

Syntax: EGO_RBAC_ALLOW_SELFASSIGNMENT=Y|N

Description: Allows a user to assign a role to themselves.

Default: Y (to indicate that a user can assign a role to themselves).

EGO_RBAC_COMPATIBILITY

Syntax: EGO_RBAC_COMPATIBILITY=Y|N

Description: As of IBM Spectrum Symphony 7.1, the following egosh commands require user logon:
  • egosh resource list
  • egosh resource view
  • egosh client reg
  • egosh client view
  • egosh activity list
  • egosh activity view
  • egosh service list
  • egosh service view
  • egosh user list
  • egosh user view
  • egosh entitlement info
  • egosh ego info
  • egosh ego elimrestart
  • egosh standby list
  • egosh standby view

To keep backward compatibility, this parameter defines whether these egosh commands can be run without the corresponding permissions. If EGO_RBAC_COMPATIBILITY is set to Y, a user can run the commands successfully without the corresponding permissions.

Default: N

EGO_RECV_LIM_TIMEOUT

Syntax: EGO_RECV_LIM_TIMEOUT=time_in_seconds

Description: Specifies the time period, in seconds, for VEMKD to wait for LIM to respond, regarding a shutdown host request.

Valid values: Any positive integer higher than or equal to 0 seconds, and less than 60 seconds.

Default: Not defined. VEMKD will use the same timeout (20 seconds) as other requests to LIM.

EGO_RESOURCE_UPDATE_INTERVAL

Syntax: EGO_RESOURCE_UPDATE_INTERVAL=interval_in_seconds

Description: Defines the frequency (in seconds) at which the cluster's resource information is updated. At the specified update cycle, information about a new resource, an unavailable resource, or a resource's load indices are updated from the LIM to the VEMKD.

Valid value: Any positive integer greater than 0.

Default: 60

EGO_RESTRICT_EXECUTION_USER_CHECK_PARENT_CONSUMER

Syntax: EGO_RESTRICT_EXECUTION_USER_CHECK_PARENT_CONSUMER=Y|N

Description: Restricts a user from changing the allowed execution user list or group list for a consumer, unless that consumer also has the privilege to edit the consumer's parent consumer.

Valid values:
Y
Restricts a user from changing the allowed execution user list or group list for a consumer, unless that consumer also has the privilege to edit the consumer's parent consumer.
N
Allows a user to change the allowed execution user list or group list for a consumer. The user does not need to have privilege to edit the consumer's parent consumer to change the execution user list or group list.

Default: N (not enabled).

Default: EGO_RESTRICT_EXECUTION_USER_CHECK_PARENT_CONSUMER=N

EGO_RECLAIM_FROM_SIBLINGS

Syntax: EGO_RECLAIM_FROM_SIBLINGS=Y|N

Description: Balances the slot distribution in the dynamic share ratio policy when slots that cannot be used by an application are excluded from the calculation of share quota.

For example, two consumers A and B have a share ratio 1:1 and the total number of slots in the resource group is 8. Consider the following information:
  1. T1: Consumer A has a demand of 8 and gets 8 slots
  2. T2: Consumer B has a demand of 8 and reclaims 4 slots from consumer A
  3. T3: Consumer B gets the 4 slots but the slots are blocked because the service failed to start
  4. T4: Without this parameter, consumer A still uses 4 slots while consumer B cannot get any slots because the host is blocked. With this parameter, consumer B will reclaim 2 slots from consumer A so they each get 2 slots. Note that if consumer A can use the 4 slots that were blocked for consumer B, it will get them.

Default: EGO_RECLAIM_FROM_SIBLINGS=Y

EGO_RG_UPDATE_MEMBERSHIP_INTERVAL

Syntax: EGO_RG_UPDATE_MEMBERSHIP_INTERVAL=time_in_seconds

Description: Specifies how often, in seconds, VEMKD checks resource attribute changes for all hosts and resource groups, and updates the resource group membership accordingly. For example, if the resource attribute change requires removing a host from the cluster, then the resource group membership reflects one less host. If the EGO_ENABLE_RG_UPDATE_MEMBERSHIP parameter within the ego.conf file is also set to Y, the system then updates the resource group membership so that the membership is current in CLI and in the cluster management console. (If this parameter is set to N, then you can manually run egosh resource updaterg to update the most current resource group membership in a cluster. For details about the egosh resource updaterg subcommand, see resource).

Default: 60 seconds, to check and refresh every minute.

Valid values: Any positive integer greater than 0 to 31536000 (which is one year in seconds).

EGO_SEC_PLUGIN

Syntax: EGO_SEC_PLUGIN=sec_ego_default | external_plugin

Description: Specifies the security mechanism to use when connecting to the IBM Spectrum Symphony cluster.

Valid values: The value must exactly match the value specified in the actual ego.conf file in the cluster. Specify one of the following:
sec_ego_default
Specifies to use the default authentication.
external_plugin
Specifies to use external, third-party authentication.
sec_ego_pam_default
Specifies concurrent authentication for users of the Pluggable Authentication Module (PAM) client and the default IBM Spectrum Symphony client. The PAM+default plug-in supports both clients through two authentication mechanisms:
  • A PAM authentication mechanism to authenticate PAM users by calling PAM authentication APIs.
  • A default authentication mechanism similar to the mechanism used by the current default plug-in to authenticate EGO users (defined in the users.xml file).
sec_ego_gsskrb
On Linux hosts, specifies to use Kerberos authentication.
sec_ego_sspikrb
On Windows client hosts, specifies to use Kerberos authentication.
sec_ego_kerberos
Specifies to use Kerberos authentication for the MapReduce framework.
Example:
EGO_SEC_PLUGIN=sec_ego_default

EGO_SEC_CONF

Syntax: EGO_SEC_CONF=path_to_plugin_conf_dir

Description: Specifies the configuration for the security plug-in indicated by EGO_SEC_PLUGIN.

When Kerberos authentication is enabled, the specify the value as path_to_kerberos_configuration_file; that is, the location of the sec_ego_gsskrb.conf file. When Kerberos authentication is enabled for the MapReduce framework, specifies the location of the sec_ego_kerberos.conf file. The configuration file is by default located under the ${EGO_TOP}/kernel/conf directory.

For users and groups configured in the allowed execution user list or execution group list, the PAM, Active Directory, and default security plug-ins validate if the specified users and groups exist when creating and modifying consumers or starting EGO activities.

For the default plug-in, the ENABLE_BI_AUTH parameter (supported only on Linux) must be set in this ego.conf configuration file to enable validation. For example:

EGO_SEC_PLUGIN=sec_ego_default 
EGO_SEC_CONF=/opt/ego/kernel/conf,time-to-live_duration,ENABLE_BI_AUTH
Note that you can optionally specify a time-to-live duration, in minutes, to be used for the authentication token sent from client to server. If not specified, the system uses the default time-to-live duration of 600 minutes, which is 10 hours. To use the default time-to-live duration, do not provide a value, but keep the commas (and no extra spaces), to separate the configuration options, as such:
EGO_SEC_PLUGIN=sec_ego_default 
EGO_SEC_CONF=/opt/ego/kernel/conf,,ENABLE_BI_AUTH

EGO_SEC_KRB_SERVICENAME

Syntax: EGO_SEC_KRB_SERVICENAME=service_name | service_name/${host}

Description: When Kerberos authentication is enabled through the GSS-Kerberos plug-in (with the EGO_SEC_PLUGIN parameter set to sec_ego_gsskrb or sec_ego_sspikrb), specifies the Kerberos principal for the authentication server, which by default is vemkd/${host}. You can specify the service principal as a cluster-wide principal (for example, abc123service) or a host-based principal (for example, abc123service/${host}).

EGO_SELINUX_FROM_CONTEXT

Syntax: EGO_SELINUX_FROM_CONTEXT=SELinux_from_security_context

Description: If you have configured EGO_ENABLE_SELINUX_CTX_SWITCH=Y for your SELinux-enabled environment, then EGO will get the user's security context from the sshd (OpenSSH server process) context. Optionally, to change the context from where EGO will get the default security context for the user, use this EGO_SELINUX_FROM_CONTEXT parameter to specify that context.

Valid values: The security context for the user in the format user:role:type:range. For example, EGO_SELINUX_FROM_CONTEXT=system_u:system_r:local_login_t:s0

Default: Not defined. When this parameter is not defined, the sshd process context will be used.

EGO_SERVICE_EVENT_TYPE

Syntax: EGO_SERVICE_EVENT_TYPE=EVENT_FAILURE | EVENT_ALL

Description: Generates an SNMP trap when service instances fail unexpectedly, such as:
  • When a service instance cannot be started and has reached the maximum number of restart attempts.
  • When a service instance goes down because of an error after it was started successfully. A service instance is considered to have started successfully if it was in the RUN state for at least five minutes.
  • When a service instance starts from ERROR state.

The SNMP trap is not triggered when the service instance is stopped by the administrator because, in this case, the service instance is brought down gracefully.

Valid values:
EVENT_FAILURE
Specifies that an SNMP trap be triggered when a service instance cannot be started because of an error.
EVENT_ALL
Specifies the following:
  • When a service instance starts, an SNMP trap at INFO level is triggered.
  • When a service instance goes down because of an error or is terminated by the administrator, an SNMP trap at ERROR level is triggered.

Default: Behavior similar to when EVENT_ALL is configured.

EGO_SNMP_PORT

Syntax: EGO_SNMP_PORT=port_number

Description: Specifies the SNMP port to send notifications to the WEBGUI service.

Default: If the port is not specified, it defaults to 9541.

EGO_STRIP_DOMAIN

Syntax: EGO_STRIP_DOMAIN=domain_suffix[:domain_suffix ...]

Description: (Optional) If all of the hosts in your cluster can be reached using short host names, you can configure EGO to use the short host names by specifying the portion of the domain name to remove. If your hosts are in more than one domain or have more than one domain name, you can specify more than one domain suffix to remove, separated by a colon (:).

For example, given this definition of EGO_STRIP_DOMAIN,
EGO_STRIP_DOMAIN=.foo.com:.bar.com

EGO accepts hostA, hostA.foo.com, and hostA.bar.com as names for host hostA, and uses the name hostA in all output. The leading period (.) is required.

Example:
EGO_STRIP_DOMAIN=.example.com:.generic.com

In this example, EGO accepts hostA, hostA.example.com, and hostA.generic.com as names for hostA, and uses the name hostA in all output.

Setting this parameter only affects host names displayed through EGO, it does not affect DNS host lookup.

Default: Not defined

EGO_SUPPRESS_EVENT_LOG

Syntax: EGO_SUPPRESS_EVENT_LOG=Y|N

Description: Specifies whether to suppress excessive logs for service instances in the EGO service controller (egosc) log. When EGO_SUPPRESS_EVENT_LOG is Y, the event is logged at the INFO level when an administrator stops the service instance using either the egosh command or the cluster management console; otherwise, the event is logged at the ERROR level.

Default: EGO_SUPPRESS_EVENT_LOG=N

EGO_TRANSPORT_SECURITY

Syntax: EGO_TRANSPORT_SECURITY=SSL

Description: Turns the transport security feature on or off for individual connections between the EGO client and EGO. It must be configured for the VEMKD daemon and the client, whichever is applicable.

Valid value: SSL

EGO_UID_CACHE_DURATION

Syntax: EGO_UID_CACHE_DURATION=value

Description: Specifies the duration (in seconds) for which the unique PEM ID is cached locally, beyond which time the cached UID expires. Use this parameter to optimize startup and shutdown processes for service instances, when the EGOSC starts all service instances at the same time.

Typically, use a setting of 600 seconds (10 minutes).

Valid values: 0 to 2147483647

Default: 0 seconds (the PEM ID is not cached locally)

EGO_USE_ANCESTOR_GRACE_PERIOD_FOR_RECLAIM

Syntax: EGO_USE_ANCESTOR_GRACE_PERIOD_FOR_RECLAIM=Y|N

Description: Specifies the EGO consumer reclaim grace period usage. If there are more than one leaf consumers under the same ancestor (such as the same parent, same grandparent, same great-grandparent consumer), by default, EGO uses the reclaimed leaf consumer's grace period. To change this so that EGO uses the ancestor's grace period, configure this parameter. To use this parameter, the ancestor consumer must have a reclaim grace period that is greater than zero.

Valid values:
Y
Specifies for EGO to use the closest common ancestor's grace period for the two leaf consumers, by overwriting the leaf consumer's reclaim grace period and using the ancestor consumer's grace period instead. This way, when the reclaim grace period for the ancestor consumer is large enough, any reclaims between the leaf consumers under the ancestor consumer will use that large grace period, allowing the running tasks for the reclaimed leaf consumer to run to completion, without interruption.

For this configuration, set EGO_USE_ANCESTOR_GRACE_PERIOD_FOR_RECLAIM=Y in the ego.conf file on the primary and primary candidate hosts. When set to Y, the VEMKD log also includes an INFO level message to indicate that the configuration is enabled.

Setting EGO_USE_ANCESTOR_GRACE_PERIOD_FOR_RECLAIM=Y interacts with the reclaimGracePeriod setting defined in the SessionTypes section of the application profile, or using the client API:
  • When the reclaimGracePeriod is less than the EGO consumer reclaim grace period, the reclaimGracePeriod takes effect.
  • When the reclaimGracePeriod is greater than or equal to the EGO consumer reclaim grace period, or if the reclaimGracePeriod is not defined, the EGO consumer reclaim grace period takes effect.
N
Specifies for EGO to use the reclaimed leaf consumer's grace period. This is the default.

Default: EGO_USE_ANCESTOR_GRACE_PERIOD_FOR_RECLAIM=N