Error fix for "REDIS_PASSWORD field is required" thrown during Orchestrator secondary node installation, despite having provided a Redis password in the primary node?
During a multi-node Orchestrator deployment, we need a parameters JSON file that essentially contains all the installation parameters to be used for the installation of the secondary node(s). This is done using the "Generate-ParametersFile.ps1" script, found in the "Tools" subfolder of the Orchestrator installation directory in the primary node.
When using Redis as a DB distribution and caching mechanism, the Redis Server host and password have to be specified under the "LoadBalancer.Redis.ConnectionString" key present in the "UiPath.Orchestrator.dll.config" file of the primary node. Read more about this in the "Load Balancer" Section here.
Further, upon running the "Generate-ParametersFile.ps1" script, parameters from the config file get populated in the JSON file, that you would use for our secondary node installation.
Sometimes, though the required values are provided in the above mentioned key, error "REDIS_PASSWORD field is required" may be thrown while performing the secondary node installation via the command line.
Root Cause: The reason for this is the presence of "whitespace(s)" in the config key.
Resolution: An XML element value should not ideally have a whitespace.
Refer to the below for reference:
- This is an example of a correct configuration:
- On the other hand, the below configuration isn't necessarily appropriate. Even though it may be correct syntactically, the spaces (highlighted in yellow) will cause the "Generate-ParametersFile.ps1" script to fail in recognizing the password field, eventually causing the "REDIS_PASSWORD" field to not populate in the parameters JSON file:
Note: Be cautious about using spaces in the XML element values. As a best practice, refrain from using a whitespace unless it is a part of the value in itself.
Expect the above described issue to occur for other parameters in a similar scenario.