2.5. Creating Environment Variables on Node Hosts

With the release of OpenShift Enterprise 2.1, you can provide environment variables for all applications on a node host by specifying them in the /etc/openshift/env directory. By creating a file in the /etc/openshift/env directory on a node host, an environment variable is created with the same name as the file name, and the value being set to the contents of the file.
Environment variables set in the /etc/openshift/env directory are only set for gear users, and not for system services or other users on the node host. For example, the MCollective service does not have access to these settings during the gear and cartridge creation process.
Application owners can use the rhc env set command to override any environment variables set in the /etc/openshift/env directory.

Procedure 2.4. Creating Environment Variables on a Node Host

  1. Create a new file in the /etc/openshift/env directory on the node hosts that you want the environment variable set. For example, to allow applications to use an external database, set an external database environment variable EXT_DB_CONNECTION_URL with the value of mysql://host.example.com:3306/
    # echo mysql://host.example.com:3306/ > /etc/openshift/env/EXT_DB_CONNECTION_URL
  2. To make the changes take effect for existing applications, ask affected application owners to restart their applications by running the following commands:
    $ rhc app stop -a appname
    $ rhc app start -a appname
    Alternatively, you can restart all gears on affected node hosts. The downtime caused by restarting all gears is minimal and around a few seconds.
    # oo-admin-ctl-gears restartall