diff --git a/src/commands/db/db_cli.py b/src/commands/db/db_cli.py index 41eab48..1126ac5 100644 --- a/src/commands/db/db_cli.py +++ b/src/commands/db/db_cli.py @@ -143,14 +143,19 @@ def __init__( self._redis_container_manager = redis_container_manager self._mongodb_container_manager = mongodb_container_manager - def _redis_node(self, redis_node: dict, redis_port: int) -> None: + def _redis_node( + self, + redis_node: dict, + redis_port: int, + redis_cluster: bool, + ) -> None: node_context = redis_node.get("context") node_ip = redis_node.get("ip") node_username = redis_node.get("username") try: self._redis_container_manager.set_exec_context(node_context) - self._redis_container_manager.start_container(redis_port) + self._redis_container_manager.start_container(redis_port, redis_cluster) self._redis_container_manager.unset_exec_context() self.stdout( @@ -176,7 +181,7 @@ def _redis(self) -> None: redis_cluster = self._settings.get("redis.cluster", False) for redis_node in redis_nodes: - self._redis_node(redis_node, redis_port) + self._redis_node(redis_node, redis_port, redis_cluster) if redis_cluster: try: diff --git a/src/commands/db/redis_container_manager.py b/src/commands/db/redis_container_manager.py index ecab1f6..b958c46 100644 --- a/src/commands/db/redis_container_manager.py +++ b/src/commands/db/redis_container_manager.py @@ -20,6 +20,7 @@ def __init__( def start_container( self, port: int, + cluster: bool = False, ): self.raise_running_container() @@ -27,18 +28,22 @@ def start_container( "redis-server", "--port", f"{port}", - "--cluster-enabled", - "yes", - "--cluster-config-file", - "nodes.conf", - "--cluster-node-timeout", - "5000", "--appendonly", "yes", "--protected-mode", "no", ] + if cluster: + command_params += [ + "--cluster-enabled", + "yes", + "--cluster-config-file", + "nodes.conf", + "--cluster-node-timeout", + "5000", + ] + container_id = self._start_container( restart_policy={ "Name": "on-failure",