Problem
When using Consolidated Services on Terraform Enterprise v202309-1, the application attempts to connect to Redis on the default port 6379, even if a different port is specified in the redis_port setting.
This issue results in logs similar to the following error, indicating a connection timeout on the default Redis port:
ERROR: worker.fetch - dial tcp xx.xx.xx.xx:6379: i/o timeout
Cause
This behavior is due to a known issue in Terraform Enterprise version v202309-1 where the redis_port setting is not correctly applied when using the Consolidated Services architecture.
Solutions
Solution 1: Upgrade Terraform Enterprise
This issue is resolved in Terraform Enterprise version v202310-1. The recommended solution is to upgrade to this version or a later release.
Solution 2: Apply Workaround (with limitations)
If you cannot upgrade immediately, you can apply a workaround by adding the custom port directly to the redis_host setting.
Note: This workaround has a significant side effect. It causes the tfe-admin health-check command to fail because it constructs an invalid URL for the Redis check. This may not be a viable option for workflows that depend on this command for health monitoring.
An example of the health check failure log is shown below.
redis://redis.example.com:7480:7480: not ready yet: dial tcp: lookup redis.example:7480:7480: no such host