Control Hub Environment Configuration

Control Hub includes several environment variables that you can customize. The method that you use to modify environment variables depends on the Control Hub installation type:

Tarball installation started manually from the command line
When you start Control Hub manually from the command line on any operating system, modify environment variables in the $DPM_HOME/libexec/dpm-env.sh file.

Use a text editor to edit the dpm-env.sh file. Some of the environment variables in the file are commented out and do not reflect the default values. Be sure to uncomment the line when you change a variable value.

After you edit the file, restart Control Hub to enable the changes.

Tarball or RPM installation started as a service on operating systems that use the SysV init system
When you start Control Hub as a service on CentOS 6.x, Oracle Linux 6.x, Red Hat Enterprise Linux 6.x, or Ubuntu 14.04, modify environment variables in the $DPM_HOME/libexec/dpmd-env.sh file.

Use a text editor to edit the dpmd-env.sh file.

After you edit the file, restart Control Hub to enable the changes.

Tarball or RPM installation started as a service on operating systems that use the systemd init system
When you start Control Hub as a service on CentOS 7.x, Oracle Linux 7.x - 8.x, or Red Hat Enterprise Linux 7.x - 8.x, modify environment variables in the dpm.service file.
The location of the dpm.service file depends on how you installed Control Hub:
  • From the RPM package - /usr/lib/systemd/system/dpm.service
  • From the tarball - etc/systemd/system/dpm.service

Override the default values in the dpm.service file using the same procedure that you use to override unit configuration files on a systemd init system. For an example, see "Example 2. Overriding vendor settings" in this systemd.unit manpage.

After overriding the default values, use the following command to reload the systemd manager configuration:

systemctl daemon-reload
Then restart Control Hub to enable the changes.

Control Hub Directories

Control Hub includes environment variables that define the directories used to store configuration and log files.

The DPM_HOME environment variable defines the Control Hub runtime directory. The runtime directory is the base Control Hub directory that stores the executables and related files. This environment variable is set during installation.

When you start Control Hub manually, the default values of the remaining directory variables are relative to the $DPM_HOME runtime directory. When you start Control Hub as a service, the default values of the remaining directory variables are absolute paths that are outside of the $DPM_HOME runtime directory.

Modify environment variables in the file required by your installation type.

You can configure the following environment variables that define directories:
Environment Variable Description
DPM_CONF Defines the configuration directory for the Control Hub configuration file, dpm.properties, application configuration files, the basic-realm properties file, and keystore files. Also includes the Log4j properties file.
Default values:
  • Manual start - $DPM_HOME/etc
  • Service start - /etc/dpm
DPM_LOG Defines the log directory.
Default values:
  • Manual start - $DPM_HOME/log
  • Service start - /var/log/dpm
DPM_DATA When you install Control Hub from the RPM package, defines the data directory that stores Control Hub runtime information, such as the dpm.pid file.

Not used when you install Control Hub from the tarball.

Default value for an RPM service start is /var/run.

User and Group for Service Start

When you run Control Hub as a service, Control Hub runs as the system user account and group defined in environment variables. The default system user and group are named dpm.

If the defined system user or group do not exist on the machine, the installation creates the user and group for you and assigns them the next available user ID and group ID.

You can modify the values of the environment variables to point to another system user or group. Modify environment variables in the file required by your installation type.

If you change the system user, you must make the new system user the owner of all Control Hub directories:
  • $DPM_HOME
  • $DPM_CONF
  • $DPM_LOG
For example, if you change the system user and group to myuser, use the following command to change the owner of the configuration directory, $DPM_CONF, and all files in the directory to myuser:myuser:
chown -R myuser:myuser /etc/dpm
Note: When you start Control Hub manually from the command line, Control Hub runs as the system user account logged into the command prompt when the launch command is run. To run as another user account, see Launch Control Hub.

Java Configuration Options

Define Java configuration options used by Control Hub in the DPM_JAVA_OPTS environment variable.

Modify environment variables in the file required by your installation type.

When defining Java configuration options, avoid defining duplicate options. If you do define duplicates, the last option passed to the JVM usually takes precedence.

The following is an example of the DPM_JAVA_OPTS environment variable:

export DPM_JAVA_OPTS="${DPM_JAVA_OPTS} -server -Xmx4096m -Xms4096m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/dpm-outOfMem.hprof -XX:ErrorFile=/var/log/dpm-error.log"

Boolean properties are turned on with -XX:+<property name> and are turned off with -XX-<property name>.

You can configure the following options in the DPM_JAVA_OPTS environment variable:

Property Name Description
-server Define properties for the server, as opposed to the client.
-Xms4096m -Xmx4096m The Java heap size determines the heap size allocated to Control Hub and affects the amount of memory it can use. Increase or decrease the Control Hub heap size as needed, based on the resources available on the host machine.
Use the following Java properties to define the Java heap size:
  • Xms - The minimum heap size.
  • Xmx - The maximum heap size.

By default, the Java heap size is 4096 MB.

To avoid constant recalculation of the allocated heap size, set both properties to the same value. To define the unit of measure, use m for MB and g for GB.

-XX:+HeapDumpOnOutOfMemoryError Generate a heap dump when Control Hub encounters an out of memory error.
-XX:HeadDumpPath=<file name> Specifies the file name and location to use for heap dump files.
-XX:ErrorFile=<file name> Specifies the file name and location to use when Control Hub encounters a fatal error.
-Djavax.net.ssl.trustStore=<file name> Specifies the truststore file name and location. Enter an absolute path.

By default, Control Hub uses the Java truststore file located in the $JAVA_HOME/jre/lib/security/cacerts file. Configure this option only when Control Hub must use another truststore file.

Another truststore is required when Control Hub connects to a secure LDAP server or is enabled for HTTPS and the SSL certificate is signed by a private Certificate Authority (CA) or not trusted by the default Java truststore. For more information, see Configure Secure LDAP Connections and Create a Truststore File for HTTPS.

-Djavax.net.ssl.trustStorePassword =<password> Password to open the truststore file.

By default, the password is stored as plain text. To secure the password, save the password in a text file and then define the truststore password option as follows: -Djavax.net.ssl.trustStorePassword=$(cat passwordfile.txt)