activate_engine.py

The activate_engine.py script makes the target engine the ACTIVE processing engine. Its purpose is to make the standby cluster switch to an ACTIVE state so it can take over processing network data.

The target engine must be running in order for the activate_engine.py script to activate it. If it is not running, the script returns an error and exits. If the target engine is running and its processing cluster is already in an ACTIVE state, the activate_engine.py script does nothing and exits. If the processing cluster is in a STANDBY state, the script performs the following checks (before switchover) to ensure the engine is ready to be activated.
  • Only two engines are running in the domain.
    Important: If your production environment has three running engines, you cannot switch the active and standby states of two clusters. You must first stop the engine that is not part of the switchover operation.
  • All servers in the standby cluster are in an active state and not in a sync state.
  • The standby cluster is in the standby state and is synchronized with the active cluster.
  • Both engines are running the same version of MATRIXX.
If any of these checks fail, the switchover is disallowed and the script exits with a return code of 1 (failure). If all checks pass, the script issues a switchover command on the active cluster by running the cluster_mgr_cli.py script. If the switchover command fails, the script exits with a return code of 1. Otherwise, the script verifies that the specified cluster is in an active state before it exits with a return code of 0 (success).
Note: The activate_engine.py script only activates the processing cluster during a switchover operation. The script does not influence the state of the publishing cluster because this cluster is used only for post-processing operations. This behavior is as designed.
Note: Run the activate_engine.py on the first processing pod to activate the engine. It cannot be run successfully on other pods in the engine. The script can only activate the local engine.

Syntax

activate_engine.py [-h] [-d] [--debug_config_file_parsing] [--debug_function_calls] [--debug_output_formatting] [--debug_threading_code] -e engineId [--plain] [-s seconds] [--ssh_debug] [--sync_time_in_seconds seconds] [-u username] [-w 0|1 -t seconds]

Options

Make the Local Engine ACTIVE

activate_engine.py

Make Engine ID 2 ACTIVE

activate_engine.py -e 2