diff --git a/simplyblock_core/services/tasks_runner_port_allow.py b/simplyblock_core/services/tasks_runner_port_allow.py index 3c4671977..dea73a512 100644 --- a/simplyblock_core/services/tasks_runner_port_allow.py +++ b/simplyblock_core/services/tasks_runner_port_allow.py @@ -94,7 +94,7 @@ def exec_port_allow_task(task): node_bdev_names[al] = b else: node_bdev_names = {} - remote_devices = storage_node_ops._connect_to_remote_devs(node, reattach=False) + remote_devices = storage_node_ops._connect_to_remote_devs(node, reattach=False, force_connect_suspended_nodes=True) if not remote_devices: msg = "Node unable to connect to remote devs, retry task" logger.info(msg) diff --git a/simplyblock_core/storage_node_ops.py b/simplyblock_core/storage_node_ops.py index 4cd94eac7..9d8f995e6 100755 --- a/simplyblock_core/storage_node_ops.py +++ b/simplyblock_core/storage_node_ops.py @@ -1009,7 +1009,8 @@ def _prepare_cluster_devices_on_restart(snode, clear_data=False): def _connect_to_remote_devs( this_node: StorageNode, /, - reattach: bool = True, force_connect_restarting_nodes: bool = False + reattach: bool = True, force_connect_restarting_nodes: bool = False, + force_connect_suspended_nodes: bool = False ): db_controller = DBController() @@ -1031,6 +1032,9 @@ def _connect_to_remote_devs( allowed_node_statuses.append(StorageNode.STATUS_RESTARTING) allowed_dev_statuses.append(NVMeDevice.STATUS_UNAVAILABLE) + if force_connect_suspended_nodes: + allowed_node_statuses.append(StorageNode.STATUS_SUSPENDED) + devices_to_connect = [] connect_threads = [] nodes = db_controller.get_storage_nodes_by_cluster_id(this_node.cluster_id)