Open
Description
NetBox HealthCheck Plugin version
0.1.4
NetBox version
3.7.5
Python version
3.11
Steps to Reproduce
- Install the plugin
- Configure NetBox to use a Redis database other than localhost
- Query the healthcheck endpoint
Expected Behavior
It should use the Redis server and database specified in the REDIS
section in configuration.py.
Observed Behavior
This plugin uses the default Redis adapter of the django-health-check module, which connects to redis://localhost:6379/1
by default, or to a REDIS_URL
from settings.py
.
NetBox does not expose REDIS_URL
in the hidden settings.py, so the health check fails if any a database host and/or database number other than redis://localhost:6379/1
are used.
Currently I work around it with a hacky patch in django-health-check:
--- a/health_check/contrib/redis/backends.py 2024-05-03 23:37:27.000000000 +0200
+++ b/health_check/contrib/redis/backends.py 2024-05-04 22:11:02.448929656 +0200
@@ -12,7 +12,7 @@
class RedisHealthCheck(BaseHealthCheckBackend):
"""Health check for Redis."""
- redis_url = getattr(settings, "REDIS_URL", "redis://localhost/1")
+ redis_url = getattr(settings, "CACHES", {}).get("default", {}).get("LOCATION", getattr(settings, "REDIS_URL", "redis://localhost/1"))
Metadata
Metadata
Assignees
Labels
No labels