diff --git a/docker/Dockerfile b/docker/Dockerfile index ce1a83ae1..f1668e1c1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM simplyblock/simplyblock:base_image +FROM simplyblock/simplyblock:base_image_R25 WORKDIR /app diff --git a/simplyblock_core/controllers/health_controller.py b/simplyblock_core/controllers/health_controller.py index bbfcd02c9..c2d5870d8 100644 --- a/simplyblock_core/controllers/health_controller.py +++ b/simplyblock_core/controllers/health_controller.py @@ -177,7 +177,8 @@ def _check_ping_from_node(ip, ifname, node): return bool(ret) except Exception as e: logger.error(e) - return False + logger.info("using fallback ping method") + return utils.ping_host(ip) def _check_node_hublvol(node: StorageNode, node_bdev_names=None, node_lvols_nqns=None) -> bool: diff --git a/simplyblock_core/controllers/snapshot_controller.py b/simplyblock_core/controllers/snapshot_controller.py index 4d560a9a9..2923cc540 100644 --- a/simplyblock_core/controllers/snapshot_controller.py +++ b/simplyblock_core/controllers/snapshot_controller.py @@ -505,6 +505,7 @@ def clone(snapshot_id, clone_name, new_size=0, pvc_name=None, pvc_namespace=None lvol.crypto_key1 = snap.lvol.crypto_key1 lvol.crypto_key2 = snap.lvol.crypto_key2 + conv_new_size = 0 if new_size: conv_new_size = math.ceil(new_size / (1024 * 1024 * 1024)) * 1024 * 1024 * 1024 if snap.lvol.size > conv_new_size: @@ -516,7 +517,6 @@ def clone(snapshot_id, clone_name, new_size=0, pvc_name=None, pvc_namespace=None msg = f"New size {conv_new_size} must be smaller than the max size {snap.lvol.max_size}" logger.error(msg) return False, msg - lvol.size = conv_new_size lvol.write_to_db(db_controller.kv_store) @@ -604,7 +604,7 @@ def clone(snapshot_id, clone_name, new_size=0, pvc_name=None, pvc_namespace=None logger.info("Done") snapshot_events.snapshot_clone(snap, lvol) - if new_size: + if new_size and conv_new_size > snap.lvol.size: lvol_controller.resize_lvol(lvol.get_id(), new_size) return lvol.uuid, False diff --git a/simplyblock_core/env_var b/simplyblock_core/env_var index 684b14d9e..dc9ceaf10 100644 --- a/simplyblock_core/env_var +++ b/simplyblock_core/env_var @@ -1,5 +1,5 @@ SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev -SIMPLY_BLOCK_VERSION=19.2.31 +SIMPLY_BLOCK_VERSION=19.2.40 -SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:R25.10-Hotfix -SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=simplyblock/spdk:R25.10-Hotfix-latest +SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:25.10.5 +SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=simplyblock/spdk:R25.10.5-latest diff --git a/simplyblock_core/scripts/charts/values.yaml b/simplyblock_core/scripts/charts/values.yaml index 8d9f34854..565514f22 100644 --- a/simplyblock_core/scripts/charts/values.yaml +++ b/simplyblock_core/scripts/charts/values.yaml @@ -19,7 +19,7 @@ grafana: image: simplyblock: repository: "public.ecr.aws/simply-block/simplyblock" - tag: "R25.10-Hotfix" + tag: "25.10.5" pullPolicy: "Always" ports: diff --git a/simplyblock_core/services/snapshot_monitor.py b/simplyblock_core/services/snapshot_monitor.py index b79455c91..dffd53c37 100644 --- a/simplyblock_core/services/snapshot_monitor.py +++ b/simplyblock_core/services/snapshot_monitor.py @@ -90,8 +90,8 @@ def process_snap_delete_finish(snap, leader_node): elif non_leader.status in [StorageNode.STATUS_SUSPENDED, StorageNode.STATUS_DOWN, StorageNode.STATUS_UNREACHABLE]: # 3-2 async delete lvol bdev from secondary tasks_controller.add_lvol_sync_del_task(non_leader.cluster_id, non_leader.get_id(), lvol_bdev_name, primary_node.get_id()) - snapshot_events.snapshot_delete(snap) - snap.remove(db.kv_store) + snapshot_events.snapshot_delete(snap) + snap.remove(db.kv_store) diff --git a/simplyblock_core/services/tasks_runner_migration.py b/simplyblock_core/services/tasks_runner_migration.py index 33acc4f77..c1e67d29c 100644 --- a/simplyblock_core/services/tasks_runner_migration.py +++ b/simplyblock_core/services/tasks_runner_migration.py @@ -68,7 +68,7 @@ def task_runner(task): if "migration_devices" in task.function_params: migration_devices = task.function_params["migration_devices"] - if current_online_devices <= migration_devices: + if current_online_devices < migration_devices: task.function_result = f"only {current_online_devices} devices online, waiting for more devices to be online" task.status = JobSchedule.STATUS_SUSPENDED task.retry += 1 diff --git a/simplyblock_core/storage_node_ops.py b/simplyblock_core/storage_node_ops.py index 48c4e68ca..25ed6803f 100644 --- a/simplyblock_core/storage_node_ops.py +++ b/simplyblock_core/storage_node_ops.py @@ -3082,7 +3082,8 @@ def set_node_status(node_id, status, reconnect_on_online=True): snode.remote_jm_devices = _connect_to_remote_jm_devs(snode) snode.health_check = True snode.write_to_db(db_controller.kv_store) - distr_controller.send_cluster_map_to_node(snode) + for device in snode.nvme_devices: + distr_controller.send_dev_status_event(device, device.status, target_node=snode) for node in db_controller.get_storage_nodes_by_cluster_id(snode.cluster_id): if node.get_id() == snode.get_id(): @@ -3091,7 +3092,8 @@ def set_node_status(node_id, status, reconnect_on_online=True): try: node.remote_devices = _connect_to_remote_devs(node) node.write_to_db() - distr_controller.send_cluster_map_to_node(node) + for device in node.nvme_devices: + distr_controller.send_dev_status_event(device, device.status, target_node=node) except RuntimeError: logger.error(f'Failed to connect to remote devices from node: {node.get_id()}') continue diff --git a/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 b/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 index 6e801f009..233d73426 100644 --- a/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +++ b/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 @@ -35,9 +35,6 @@ spec: - name: host-rootfs hostPath: path: / - - name: foundationdb - hostPath: - path: /var/foundationdb - name: etc-simplyblock hostPath: path: /var/simplyblock @@ -59,14 +56,6 @@ spec: hostPath: path: /var/log/pods - initContainers: - - name: copy-script - image: public.ecr.aws/simply-block/busybox - command: ["sh", "-c", "echo \"{{ FDB_CONNECTION }}\" > /etc/foundationdb/fdb.cluster"] - volumeMounts: - - name: foundationdb - mountPath: /etc/foundationdb - containers: - name: spdk-container image: {{ SPDK_IMAGE }}