uberAgent

Automatic Application of Configuration Changes

uberAgent monitors its configuration source for changes and applies updated configurations automatically. This is called Automatic Application of Configuration Changes (AACC).

Configuring AACC

Enabling or Disabling AACC

In the default configuration, Automatic Application of Configuration Changes (AACC) is enabled. To disable AACC, set the value of both configuration settings Configuration_Settings > ConfigCachePollInterval and Configuration_Settings > ConfigChangeRestartTimeoutSec to 0.

Refresh Interval

Applies to configuration sources: central config file management (CCFM).

uberAgent regularly checks the CCFM file share for updated configurations. The refresh interval is configurable via the setting Configuration_Settings > ConfigCachePollInterval. To evenly distribute the load on the CCFM file share, each agent adds a randomized offset to the refresh interval (between 0 and 50% of ConfigCachePollInterval).

Setting Configuration_Settings > ConfigCachePollInterval  to 0 disables monitoring of remote configuration sources for changes.

Agent Restart Wait Time

Applies to configuration sources: local config files, Group Policy.

uberAgent waits for a specified time before applying an updated configuration. This wait time is configurable via the setting Configuration_Settings > ConfigChangeRestartTimeoutSec.

Setting Configuration_Settings > ConfigChangeRestartTimeoutSec to 0 disables monitoring of local configuration sources for changes.

How AACC Works

Configuration Sources

This section lists the locations uberAgent monitors for configuration updates. Please note that new configurations are applied only if a meaningful change is detected (see below).

Central Config File Management (CCFM)

If uberAgent uses a configuration from a file share via central config file management, it monitors the entire CCFM directory structure for new or modified configurations. uberAgent updates its configuration in the following two cases:

  1. Current location is modified: uberAgent finds a configuration archive with a changed timestamp in the currently used subdirectory of the CCFM file share. Please note that the timestamp doesn’t have to be newer, just different. This makes it possible to roll back a configuration update simply by replacing the newer configuration archive with the previous version.
  2. Better-matching location is available: uberAgent finds a better-matching configuration in another subdirectory of the CCFM base path. In this case, the archive’s timestamp is ignored. See this document for details on what constitutes a better match.

Local Config Files

If uberAgent uses local config files, it monitors the local configuration files for changes.

Group Policy

If uberAgent is configured via Group Policy, it registers for Group Policy refresh notifications.

Switching the Configuration Source

The configuration source can be switched dynamically between all supported configuration options.

Meaningful Change Detection

When uberAgent detects an updated configuration (see above), it doesn’t immediately apply the updated configuration. Instead, it performs two types of checks:

  1. It loads the updated configuration in test mode and checks it for validity.
  2. It then compares the updated with the current configuration for meaningful changes.

A meaningful change is an actual change to a configuration setting. Modifying a comment, for example, does not constitute a meaningful change.

Forcing change detection

uberAgent monitors for changes only its configuration sources (e.g. configuration files, Group Policy), but not the scripts that are mentioned therein. Should such scripts have changed, one can force a configuration change detection by setting the value of Configuration_Settings > Version to a random string or changing it from its previous value.

AACC Application Matrix

The following matrix helps to understand in which cases Automatic Application of Configuration Changes applies a configuration update.

Config source Change event? Better-matching subdir found? Meaningful change detected? uberAgent behavior
Local yes n/a yes Configuration is applied, the uberAgent service/daemon restarts automatically.
Local yes n/a no Unchanged.
CCFM yes no yes Configuration is applied, the uberAgent service/daemon restarts automatically.
CCFM yes no no Unchanged.
CCFM no yes yes Configuration is applied, the uberAgent service/daemon restarts automatically.
CCFM no yes no Unchanged.
Group Policy yes n/a yes Configuration is applied, the uberAgent service/daemon restarts automatically.
Group Policy yes n/a no Unchanged.

Depending on the config source, Change event means different things:

  • Local: a file change notification was received from the OS.
  • CCFM: the timestamp of the configuration archive in the current configuration’s directory changed (to a newer or older value).
  • Group Policy: a Group Policy refresh notification was received.
Automatic Application of Configuration Changes