sbcli-pre 25.3.14__tar.gz → 25.3.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/PKG-INFO +1 -1
  2. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/sbcli_pre.egg-info/PKG-INFO +1 -1
  3. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/cluster_ops.py +24 -2
  4. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/snapshot_controller.py +3 -1
  5. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/env_var +1 -1
  6. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/snapshot.py +1 -0
  7. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboards/cluster.json +1 -1
  8. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboards/devices.json +2 -2
  9. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/prometheus.yml +1 -1
  10. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/utils.py +15 -2
  11. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/README.md +0 -0
  12. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/pyproject.toml +0 -0
  13. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/requirements.txt +0 -0
  14. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/sbcli_pre.egg-info/SOURCES.txt +0 -0
  15. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/sbcli_pre.egg-info/dependency_links.txt +0 -0
  16. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/sbcli_pre.egg-info/entry_points.txt +0 -0
  17. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/sbcli_pre.egg-info/requires.txt +0 -0
  18. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/sbcli_pre.egg-info/top_level.txt +0 -0
  19. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/setup.cfg +0 -0
  20. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/setup.py +0 -0
  21. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_cli/__init__.py +0 -0
  22. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_cli/cli.py +0 -0
  23. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_cli/clibase.py +0 -0
  24. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_cli/main.py +0 -0
  25. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/__init__.py +0 -0
  26. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/cnode_client.py +0 -0
  27. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/constants.py +0 -0
  28. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/__init__.py +0 -0
  29. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  30. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/cluster_events.py +0 -0
  31. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/device_controller.py +0 -0
  32. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/device_events.py +0 -0
  33. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/events_controller.py +0 -0
  34. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/health_controller.py +0 -0
  35. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/lvol_controller.py +0 -0
  36. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/lvol_events.py +0 -0
  37. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/mgmt_events.py +0 -0
  38. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/pool_controller.py +0 -0
  39. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/pool_events.py +0 -0
  40. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/snapshot_events.py +0 -0
  41. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/storage_events.py +0 -0
  42. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/tasks_controller.py +0 -0
  43. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/tasks_events.py +0 -0
  44. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
  45. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/db_controller.py +0 -0
  46. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/distr_controller.py +0 -0
  47. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/mgmt_node_ops.py +0 -0
  48. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/__init__.py +0 -0
  49. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/base_model.py +0 -0
  50. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/caching_node.py +0 -0
  51. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/cluster.py +0 -0
  52. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/deployer.py +0 -0
  53. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/events.py +0 -0
  54. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/iface.py +0 -0
  55. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/job_schedule.py +0 -0
  56. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/lvol_model.py +0 -0
  57. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/mgmt_node.py +0 -0
  58. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/nvme_device.py +0 -0
  59. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/pool.py +0 -0
  60. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/port_stat.py +0 -0
  61. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/stats.py +0 -0
  62. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/models/storage_node.py +0 -0
  63. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/pci_utils.py +0 -0
  64. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/rpc_client.py +0 -0
  65. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/__init__.py +0 -0
  66. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  67. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  68. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  69. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/config_docker.sh +0 -0
  70. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboard.yml +0 -0
  71. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  72. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  73. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  74. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  75. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/datasource.yml +0 -0
  76. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/db_config_double.sh +0 -0
  77. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/db_config_single.sh +0 -0
  78. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  79. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  80. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  81. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  82. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/foundation.yml +0 -0
  83. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/haproxy.cfg +0 -0
  84. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/install_deps.sh +0 -0
  85. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/objstore.yml +0 -0
  86. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  87. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/run_ssh.sh +0 -0
  88. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/set_db_config.sh +0 -0
  89. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  90. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/__init__.py +0 -0
  91. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  92. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/caching_node_monitor.py +0 -0
  93. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/cap_monitor.py +0 -0
  94. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  95. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/device_monitor.py +0 -0
  96. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/health_check_service.py +0 -0
  97. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/install_service.sh +0 -0
  98. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/lvol_monitor.py +0 -0
  99. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  100. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  101. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  102. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/new_device_discovery.py +0 -0
  103. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/spdk/__init__.py +0 -0
  106. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/spdk/client.py +0 -0
  107. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  108. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/spdk_stats_collector.py +0 -0
  109. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/storage_node_monitor.py +0 -0
  110. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  111. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  112. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  113. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  114. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  115. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/shell_utils.py +0 -0
  116. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/snode_client.py +0 -0
  117. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/storage_node_ops.py +0 -0
  118. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/test/test_utils.py +0 -0
  119. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  120. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/README.md +0 -0
  121. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/__init__.py +0 -0
  122. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/app.py +0 -0
  123. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/auth_middleware.py +0 -0
  124. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/__init__.py +0 -0
  125. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  126. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  127. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  128. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  129. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  130. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/snode_ops.py +0 -0
  131. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  132. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/swagger_ui_blueprint.py +0 -0
  133. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  134. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  135. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  136. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_device.py +0 -0
  137. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  138. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  139. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  140. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  141. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  142. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/caching_node_app.py +0 -0
  143. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/caching_node_app_k8s.py +0 -0
  144. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/node_utils.py +0 -0
  145. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/node_utils_k8s.py +0 -0
  146. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/node_webapp.py +0 -0
  147. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/requirements.txt +0 -0
  148. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/snode_app.py +0 -0
  149. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/snode_app_k8s.py +0 -0
  150. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +0 -0
  151. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/delete.py +0 -0
  152. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/deploy.py +0 -0
  153. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  154. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  155. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/is_up.py +0 -0
  156. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/list_deps.py +0 -0
  157. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/rpac.yaml +0 -0
  158. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/swagger.yaml +0 -0
  159. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/static/tst.py +0 -0
  160. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  161. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  162. {sbcli-pre-25.3.14 → sbcli-pre-25.3.16}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 25.3.14
3
+ Version: 25.3.16
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 25.3.14
3
+ Version: 25.3.16
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -640,6 +640,27 @@ def cluster_activate(cl_id, force=False, force_lvstore_create=False):
640
640
  set_cluster_status(cl_id, ols_status)
641
641
  return False
642
642
 
643
+ for snode in snodes:
644
+ if not snode.is_secondary_node:
645
+ continue
646
+ if snode.status != StorageNode.STATUS_ONLINE:
647
+ continue
648
+
649
+ logger.info(f"Activating sec node: {snode.get_id()}")
650
+ ret = storage_node_ops.recreate_lvstore_on_sec(snode)
651
+ snode = db_controller.get_storage_node_by_id(snode.get_id())
652
+ if ret:
653
+ snode.lvstore_status = "ready"
654
+ snode.write_to_db()
655
+
656
+ else:
657
+ snode.lvstore_status = "failed"
658
+ snode.write_to_db()
659
+ logger.error(f"Failed to activate node {snode.get_id()}")
660
+ if not force:
661
+ logger.error("Failed to activate cluster")
662
+ # set_cluster_status(cl_id, ols_status)
663
+ # return False
643
664
 
644
665
  if not cluster.cluster_max_size:
645
666
  cluster = db_controller.get_cluster_by_id(cl_id)
@@ -1234,12 +1255,13 @@ def update_cluster(cluster_id, mgmt_only=False, restart=False, spdk_image=None,
1234
1255
  logger.info(f"Pulling image {constants.SIMPLY_BLOCK_DOCKER_IMAGE}")
1235
1256
  cluster_docker.images.pull(constants.SIMPLY_BLOCK_DOCKER_IMAGE)
1236
1257
  image_without_tag = constants.SIMPLY_BLOCK_DOCKER_IMAGE.split(":")[0]
1237
- image_without_tag = image_without_tag.split("/")[-1]
1258
+ image_without_tag = image_without_tag.split("/")
1259
+ image_parts = "/".join(image_without_tag[-2:])
1238
1260
  service_image = constants.SIMPLY_BLOCK_DOCKER_IMAGE
1239
1261
  if mgmt_image:
1240
1262
  service_image = mgmt_image
1241
1263
  for service in cluster_docker.services.list():
1242
- if image_without_tag in service.attrs['Spec']['Labels']['com.docker.stack.image']:
1264
+ if image_parts in service.attrs['Spec']['Labels']['com.docker.stack.image']:
1243
1265
  logger.info(f"Updating service {service.name}")
1244
1266
  service.update(image=service_image, force_update=True)
1245
1267
  logger.info("Done updating mgmt cluster")
@@ -84,7 +84,8 @@ def add(lvol_id, snapshot_name):
84
84
  if cluster.status not in [cluster.STATUS_ACTIVE, cluster.STATUS_DEGRADED]:
85
85
  return False, f"Cluster is not active, status: {cluster.status}"
86
86
 
87
- snap_bdev_name = f"SNAP_{utils.get_random_vuid()}"
87
+ snap_vuid = utils.get_random_snapshot_vuid()
88
+ snap_bdev_name = f"SNAP_{snap_vuid}"
88
89
  size = lvol.size
89
90
  blobid = 0
90
91
  snap_uuid = ""
@@ -189,6 +190,7 @@ def add(lvol_id, snapshot_name):
189
190
  snap.snap_bdev = f"{lvol.lvs_name}/{snap_bdev_name}"
190
191
  snap.created_at = int(time.time())
191
192
  snap.lvol = lvol
193
+ snap.vuid = snap_vuid
192
194
 
193
195
  snap.write_to_db(db_controller.kv_store)
194
196
 
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-pre
2
- SIMPLY_BLOCK_VERSION=25.3.14
2
+ SIMPLY_BLOCK_VERSION=25.3.16
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=public.ecr.aws/simply-block/simplyblock:R25.3-PRE-Hotfix
5
5
  SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=public.ecr.aws/simply-block/ultra:R25.3-PRE-latest
@@ -21,3 +21,4 @@ class SnapShot(BaseModel):
21
21
  snap_name: str = ""
22
22
  snap_ref_id: str = ""
23
23
  snap_uuid: str = ""
24
+ vuid: int = 0
@@ -1313,7 +1313,7 @@
1313
1313
  }
1314
1314
  ]
1315
1315
  },
1316
- "unit": "bytes"
1316
+ "unit": "binBps"
1317
1317
  },
1318
1318
  "overrides": []
1319
1319
  },
@@ -753,7 +753,7 @@
753
753
  }
754
754
  ]
755
755
  },
756
- "unit": "bytes"
756
+ "unit": "binBps"
757
757
  },
758
758
  "overrides": []
759
759
  },
@@ -1322,7 +1322,7 @@
1322
1322
  }
1323
1323
  ]
1324
1324
  },
1325
- "unit": "bytes"
1325
+ "unit": "binBps"
1326
1326
  },
1327
1327
  "overrides": []
1328
1328
  },
@@ -1,5 +1,5 @@
1
1
  global:
2
- scrape_interval: 15s
2
+ scrape_interval: 30s
3
3
  external_labels:
4
4
  monitor: 'codelab-monitor'
5
5
 
@@ -629,7 +629,7 @@ def get_logger(name=""):
629
629
  def _parse_unit(unit: str, mode: str = 'si/iec', strict: bool = True) -> tuple[int, int]:
630
630
  """Parse the given unit, returning the associated base and exponent
631
631
 
632
- Mode can be either 'si/iec' to parse decimal (SI) and binary (IEC) units, or
632
+ Mode can be either 'si/iec' to parse decimal (SI) and binary (IEC) units, or
633
633
  'jedec' for binary only units. If `strict`, parsing will be case-sensitive and
634
634
  expect the 'B' suffix.
635
635
  """
@@ -659,7 +659,7 @@ def parse_size(size_string: str, mode: str = 'si/iec', unit: str = '', strict: b
659
659
  """Parse the given data size
660
660
 
661
661
  If passed and not explicitly given, 'unit' will be assumed.
662
- Mode can be either 'si/iec' to parse decimal (SI) and binary (IEC) units, or
662
+ Mode can be either 'si/iec' to parse decimal (SI) and binary (IEC) units, or
663
663
  'jedec' for binary only units. If `strict`, parsing will be case-sensitive and
664
664
  expect the 'B' suffix.
665
665
  """
@@ -910,3 +910,16 @@ def store_cores_config(spdk_cpu_mask):
910
910
  logger.info(f"JSON file successfully written to {file_path}")
911
911
  except subprocess.CalledProcessError as e:
912
912
  logger.error(f"Error writing to file: {e}")
913
+
914
+
915
+ def get_random_snapshot_vuid():
916
+ from simplyblock_core.db_controller import DBController
917
+ db_controller = DBController()
918
+ used_vuids = []
919
+ for snap in db_controller.get_snapshots():
920
+ used_vuids.append(snap.vuid)
921
+
922
+ r = 1 + int(random.random() * 1000000)
923
+ while r in used_vuids:
924
+ r = 1 + int(random.random() * 1000000)
925
+ return r
File without changes
File without changes
File without changes
File without changes