Momentum features a configuration repository that resides on the Cluster Manager (CM). This allows Momentum server nodes to pull configuration updates every minute (from cron). Local copies of this configuration reside in a “working copy (WC) directory” of the same name on EACH cluster node (server and manager):

_/opt/msys/ecelerity/etc/conf/default_

The Momentum Web UI provides customers with the ability to make configuration changes from within the UI. While some customers use this interface, many choose to make configuration modifications from the OS command line. This article describes a best practice for making configuration changes to ecelerity.conf from the command line in a single subcluster Momentum environment.

1.  Login to one your Momentum server nodes (not the CM)
2.  Be sure that you’re using the latest version of the configuration. Invoking this from the command line:  
    _/opt/msys/ecelerity/bin/eccfg pull –u username –p user_password_
3.  Edit the configuration. Use your favorite editor such as vim or nano to make changes to ecelerity.conf from within the local WC directory of the Momentum server and save.
4.  Check the syntax. Do this by invoking  
    _/opt/msys/ecelerity/bin/validate_config_  
    This application will return “Configuration valid” for valid configurations. However, this will “return quietly” if the configuration is NOT valid. Running _ec_dump_config_ will give you verbose output and give you a “good hint” relative to your configuration error.
5.  Check the configuration by running “config reload” from within ec_console.
6.  Commit the configuration to the repository. Use the eccfg application:  
    _/opt/msys/ecelerity/bin/eccfg commit –u username –p user_password_

NOTE: There are some cases where _validate_config_ may give you a false positive. One example is when using “node local” configurations (see below). In these cases, you’ll need to run _validate_config_ and _config reload_ on EACH Momentum server to be sure that your local configuration is valid.

Other configuration-related tips:

1.  Momentum allows “node local” configuration: Create a directory such as  
    _/opt/msys/ecelerity/etc/conf/serverhostname_  
    where “_serverhostname_” is the hostname. Any configuration files that are saved in this directory will be included in _ecelerity.conf_ (assuming you’ve used the _include_ directive within _ecelerity.conf_) because these “node local” directories are part of Momentum’s default search path for configuration files.
2.  There is also a global repository that contains configuration that is common to every node in every subcluster (eg. mbus.conf). That checkout resides here:  
    _/opt/msys/ecelerity/etc/conf/global_
3.  Check sieve syntax. Use this _ec_console_ directive (for example):  
    _sieve:sieve testfile each_rcpt_phase1 /path/to/each_rcpt.siv_
4.  Check Lua syntax. Use _rcluac_  
    _/opt/msys/3rdParty/bin/rcluac    file.lua_

**Tom Mairs  
Manager, Solution Engineering**

**Tom Cain  
Manager, Technical Training**