Set controller and instance affinities in the CCR file to determine which nodes a project can run on.
Field | Description |
---|---|
Name | Enter the name of the object of the affinity, that is, the controller name or instance name that the affinity is set for. For instance affinities, the affinity for one instance must refer to the second instance. |
Strength | Specify Strong or weak. Strong requires the project to run on a
specific controller, and no others. If you have strong positive
affinity set for a controller node, and that node fails, the
failover process tries to restart the project on that node. If the
node has not recovered, the project restart fails and you must
restart manually. A weak positive affinity causes the project starts on the preferred controller if possible, but if that controller is unavailable, it may start on another available controller. |
Charge | Specify Positive or negative. If positive, the project runs (for a strong affinity) or prefers to run (for a weak affinity) on the named controller. If negative, the project does not run (or prefers not to run) on the named controller. |
When failover is enabled for a project, affinities can affect restarts. Suppose your project has a strong positive affinity for controller node A—that is, the project can run only on controller A. Suppose further that controller A crashes while your project is running. When your project tries to restart, controller A is still down. A project cannot attempt more than one restart if no appropriate controller is available for the project to run on. Because of its strong positive affinity for controller A, there is at most one appropriate controller to try, so your project can try to restart only once. You must restart the project manually when controller A returns to service or reconfigure the affinities.