Tech Tips: Momentum Command Line Configuration Best Practices in a Clustered Environment

Tom Mairs
Sep. 1, 2011 by Tom Mairs

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

Related Content

How to Protect Your Personal Devices From Online Security Threats

With the slew of new technology gadgets, there is an increased risk of mobile and online security threats. Here are a few tips to keep your devices safe.

read more

5 Best Practices for Security Notifications

Learn the 5 best practices for security notification emails that product teams can use to build user trust and confidence.

read more

What GoT’s Casterly Rock Can Tell SaaS About Email Security

The defenses and vulnerabilities of castles in Game of Thrones should be a warning for SaaS providers about phishing and email security.

read more

Get started and start sending

Try SparkPost and see how easy it is to deliver your app’s email on time and to the inbox.

Try Free

Send this to a friend