sbcli-pre 25.3.17__tar.gz → 25.5.0__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 (193) hide show
  1. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/PKG-INFO +9 -19
  2. sbcli-pre-25.5.0/README.md +39 -0
  3. sbcli-pre-25.5.0/pyproject.toml +3 -0
  4. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/requirements.txt +6 -3
  5. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/PKG-INFO +9 -19
  6. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/SOURCES.txt +19 -8
  7. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/requires.txt +6 -3
  8. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/setup.py +5 -5
  9. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/cli.py +253 -265
  10. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/clibase.py +160 -128
  11. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/cluster_ops.py +163 -85
  12. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/constants.py +20 -6
  13. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/caching_node_controller.py +5 -52
  14. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/device_controller.py +24 -11
  15. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/events_controller.py +2 -11
  16. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/health_controller.py +229 -85
  17. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/lvol_controller.py +171 -129
  18. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/pool_controller.py +81 -34
  19. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/snapshot_controller.py +4 -4
  20. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/tasks_controller.py +37 -27
  21. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/db_controller.py +71 -35
  22. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/distr_controller.py +34 -34
  23. sbcli-pre-25.5.0/simplyblock_core/env_var +6 -0
  24. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/base_model.py +23 -5
  25. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/caching_node.py +2 -2
  26. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/cluster.py +4 -0
  27. sbcli-pre-25.5.0/simplyblock_core/models/hublvol.py +17 -0
  28. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/lvol_model.py +5 -0
  29. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/nvme_device.py +7 -8
  30. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/pool.py +1 -0
  31. sbcli-pre-25.5.0/simplyblock_core/models/storage_node.py +253 -0
  32. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/rpc_client.py +111 -63
  33. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/__init__.py +1 -1
  34. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/alerting/alert_rules.yaml +2 -2
  35. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/config_docker.sh +12 -8
  36. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/nodes.json +4 -4
  37. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +3 -24
  38. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/docker-compose-swarm.yml +31 -18
  39. sbcli-pre-25.5.0/simplyblock_core/scripts/helpers/deploy_cluster.sh +24 -0
  40. sbcli-pre-25.5.0/simplyblock_core/scripts/helpers/destroy_cluster.sh +31 -0
  41. sbcli-pre-25.5.0/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +47 -0
  42. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/install_deps.sh +2 -1
  43. sbcli-pre-25.3.17/simplyblock_core/scripts/prometheus.yml → sbcli-pre-25.5.0/simplyblock_core/scripts/prometheus.yml.j2 +9 -3
  44. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/__init__.py +1 -1
  45. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/cached_lvol_stat_collector.py +5 -5
  46. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/caching_node_monitor.py +4 -4
  47. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/cap_monitor.py +5 -5
  48. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/capacity_and_stats_collector.py +29 -18
  49. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/device_monitor.py +4 -4
  50. sbcli-pre-25.5.0/simplyblock_core/services/health_check_service.py +275 -0
  51. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/lvol_monitor.py +16 -20
  52. sbcli-pre-25.5.0/simplyblock_core/services/lvol_stat_collector.py +302 -0
  53. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/main_distr_event_collector.py +20 -19
  54. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/mgmt_node_monitor.py +4 -4
  55. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/new_device_discovery.py +6 -4
  56. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/spdk_http_proxy_server.py +1 -1
  57. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/storage_node_monitor.py +103 -64
  58. sbcli-pre-25.5.0/simplyblock_core/services/tasks_cluster_status.py +119 -0
  59. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_failed_migration.py +22 -32
  60. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_migration.py +40 -30
  61. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_new_dev_migration.py +25 -33
  62. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_node_add.py +9 -9
  63. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_restart.py +32 -31
  64. sbcli-pre-25.5.0/simplyblock_core/shell_utils.py +12 -0
  65. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/snode_client.py +46 -18
  66. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/storage_node_ops.py +1133 -1084
  67. sbcli-pre-25.5.0/simplyblock_core/test/test_models.py +47 -0
  68. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/test/test_utils.py +9 -7
  69. sbcli-pre-25.5.0/simplyblock_core/utils.py +1751 -0
  70. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/workers/cleanup_foundationdb.py +2 -12
  71. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/app.py +7 -10
  72. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/auth_middleware.py +4 -3
  73. sbcli-pre-25.5.0/simplyblock_web/blueprints/__init__.py +0 -0
  74. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/caching_node_ops.py +43 -130
  75. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/caching_node_ops_k8s.py +19 -22
  76. sbcli-pre-25.5.0/simplyblock_web/blueprints/node_api_basic.py +177 -0
  77. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/node_api_caching_docker.py +58 -38
  78. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/node_api_caching_ks.py +54 -37
  79. sbcli-pre-25.5.0/simplyblock_web/blueprints/snode_ops.py +617 -0
  80. sbcli-pre-25.5.0/simplyblock_web/blueprints/snode_ops_k8s.py +528 -0
  81. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/swagger_ui_blueprint.py +1 -2
  82. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_caching_node.py +11 -11
  83. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_cluster.py +35 -21
  84. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_deployer.py +9 -9
  85. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_device.py +9 -9
  86. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_lvol.py +18 -25
  87. sbcli-pre-25.5.0/simplyblock_web/blueprints/web_api_metrics.py +256 -0
  88. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_mgmt_node.py +4 -4
  89. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_pool.py +33 -27
  90. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_snapshot.py +2 -2
  91. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_storage_node.py +22 -46
  92. sbcli-pre-25.5.0/simplyblock_web/node_configure.py +63 -0
  93. sbcli-pre-25.5.0/simplyblock_web/node_utils.py +286 -0
  94. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/node_utils_k8s.py +4 -3
  95. sbcli-pre-25.5.0/simplyblock_web/node_webapp.py +57 -0
  96. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +148 -1413
  97. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/deploy_cnode.yaml +2 -2
  98. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/deploy_spdk.yaml +4 -3
  99. sbcli-pre-25.5.0/simplyblock_web/static/swagger.yaml +20353 -0
  100. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +34 -1
  101. sbcli-pre-25.5.0/simplyblock_web/test/api/test_lvol.py +91 -0
  102. sbcli-pre-25.5.0/simplyblock_web/test/api/test_pool.py +80 -0
  103. sbcli-pre-25.5.0/simplyblock_web/test/api/test_snapshot.py +46 -0
  104. sbcli-pre-25.5.0/simplyblock_web/test/api/test_storage_node.py +105 -0
  105. sbcli-pre-25.5.0/simplyblock_web/test/conftest.py +59 -0
  106. sbcli-pre-25.5.0/simplyblock_web/test/pytest.ini +3 -0
  107. sbcli-pre-25.5.0/simplyblock_web/test/requirements.txt +3 -0
  108. sbcli-pre-25.5.0/simplyblock_web/test/util.py +55 -0
  109. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/utils.py +36 -6
  110. sbcli-pre-25.3.17/README.md +0 -49
  111. sbcli-pre-25.3.17/pyproject.toml +0 -3
  112. sbcli-pre-25.3.17/simplyblock_core/env_var +0 -5
  113. sbcli-pre-25.3.17/simplyblock_core/models/storage_node.py +0 -89
  114. sbcli-pre-25.3.17/simplyblock_core/services/health_check_service.py +0 -326
  115. sbcli-pre-25.3.17/simplyblock_core/services/lvol_stat_collector.py +0 -234
  116. sbcli-pre-25.3.17/simplyblock_core/services/spdk_stats_collector.py +0 -73
  117. sbcli-pre-25.3.17/simplyblock_core/shell_utils.py +0 -9
  118. sbcli-pre-25.3.17/simplyblock_core/utils.py +0 -925
  119. sbcli-pre-25.3.17/simplyblock_web/blueprints/node_api_basic.py +0 -110
  120. sbcli-pre-25.3.17/simplyblock_web/blueprints/snode_ops.py +0 -533
  121. sbcli-pre-25.3.17/simplyblock_web/blueprints/snode_ops_k8s.py +0 -433
  122. sbcli-pre-25.3.17/simplyblock_web/caching_node_app.py +0 -33
  123. sbcli-pre-25.3.17/simplyblock_web/caching_node_app_k8s.py +0 -33
  124. sbcli-pre-25.3.17/simplyblock_web/node_utils.py +0 -214
  125. sbcli-pre-25.3.17/simplyblock_web/node_webapp.py +0 -56
  126. sbcli-pre-25.3.17/simplyblock_web/requirements.txt +0 -12
  127. sbcli-pre-25.3.17/simplyblock_web/snode_app.py +0 -33
  128. sbcli-pre-25.3.17/simplyblock_web/snode_app_k8s.py +0 -32
  129. sbcli-pre-25.3.17/simplyblock_web/static/swagger.yaml +0 -57873
  130. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/dependency_links.txt +0 -0
  131. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/entry_points.txt +0 -0
  132. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/top_level.txt +0 -0
  133. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/setup.cfg +0 -0
  134. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/__init__.py +0 -0
  135. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/main.py +0 -0
  136. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/__init__.py +0 -0
  137. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/cnode_client.py +0 -0
  138. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/__init__.py +0 -0
  139. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/cluster_events.py +0 -0
  140. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/device_events.py +0 -0
  141. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/lvol_events.py +0 -0
  142. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/mgmt_events.py +0 -0
  143. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/pool_events.py +0 -0
  144. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/snapshot_events.py +0 -0
  145. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/storage_events.py +0 -0
  146. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/tasks_events.py +0 -0
  147. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
  148. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/mgmt_node_ops.py +0 -0
  149. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/__init__.py +0 -0
  150. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/deployer.py +0 -0
  151. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/events.py +0 -0
  152. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/iface.py +0 -0
  153. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/job_schedule.py +0 -0
  154. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/mgmt_node.py +0 -0
  155. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/port_stat.py +0 -0
  156. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/snapshot.py +0 -0
  157. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/stats.py +0 -0
  158. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/pci_utils.py +0 -0
  159. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  160. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  161. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboard.yml +0 -0
  162. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  163. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  164. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  165. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  166. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  167. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/datasource.yml +0 -0
  168. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/db_config_double.sh +0 -0
  169. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/db_config_single.sh +0 -0
  170. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  171. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  172. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/foundation.yml +0 -0
  173. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/haproxy.cfg +0 -0
  174. {sbcli-pre-25.3.17/simplyblock_core/services/spdk → sbcli-pre-25.5.0/simplyblock_core/scripts/helpers}/__init__.py +0 -0
  175. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/objstore.yml +0 -0
  176. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  177. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/run_ssh.sh +0 -0
  178. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/set_db_config.sh +0 -0
  179. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  180. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/install_service.sh +0 -0
  181. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/remove_service.sh +0 -0
  182. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/service_template.service +0 -0
  183. {sbcli-pre-25.3.17/simplyblock_web → sbcli-pre-25.5.0/simplyblock_core/services/spdk}/__init__.py +0 -0
  184. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/spdk/client.py +0 -0
  185. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/README.md +0 -0
  186. {sbcli-pre-25.3.17/simplyblock_web/blueprints → sbcli-pre-25.5.0/simplyblock_web}/__init__.py +0 -0
  187. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/delete.py +0 -0
  188. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/deploy.py +0 -0
  189. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/is_up.py +0 -0
  190. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/list_deps.py +0 -0
  191. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/rpac.yaml +0 -0
  192. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/tst.py +0 -0
  193. {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 25.3.17
3
+ Version: 25.5.0
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -10,21 +10,16 @@ Platform: UNKNOWN
10
10
  Description-Content-Type: text/markdown
11
11
 
12
12
 
13
- # Simply Block
14
- [![Docker Image Build](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
15
-
16
- [![Python Unit Testing](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
13
+ # SBCLI (SimplyBlock CLI)
17
14
 
15
+ Simplyblock provides a feature-rich CLI (command line interface) to deploy SimplyBlock Cluster and to manage the SimplyBlock Control plane
18
16
 
19
17
  ## Install
20
- Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
21
18
 
22
- ```bash
23
- aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
19
+ The CLI can be installed using pypi package [sbctl](https://pypi.org/project/sbctl/)
20
+
24
21
  ```
25
- Install package
26
- ```bash
27
- pip install --extra-index-url https://pypi.org/simple sbcli
22
+ pip install --upgrade sbctl
28
23
  ```
29
24
 
30
25
  # Components
@@ -33,14 +28,11 @@ pip install --extra-index-url https://pypi.org/simple sbcli
33
28
  Contains core logic and controllers for the simplyblock cluster
34
29
 
35
30
  ## Simply Block CLI
36
- Please see this document
37
- [README.md](../main/simplyblock_cli/README.md)
38
-
31
+ The list of all the available CLI options can be here [CLI docs](./simplyblock_cli/README.md)
39
32
 
40
- ## Simply Block Web API
41
- Please see this document
42
- [README.md](../main/simplyblock_web/README.md)
33
+ ## SimplyBlock Web API
43
34
 
35
+ Web app that provides API to manage the cluster. More about this in [README.md](./simplyblock_web/README.md)
44
36
 
45
37
 
46
38
  ### local development
@@ -51,10 +43,8 @@ Depending on the OS architecture, please install the appropriate version from th
51
43
  ```
52
44
  wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
53
45
  ```
54
-
55
46
  setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
56
47
 
57
-
58
48
  ```
59
49
  sudo docker compose -f docker-compose-dev.yml up --build -d
60
50
  ```
@@ -0,0 +1,39 @@
1
+
2
+ # SBCLI (SimplyBlock CLI)
3
+
4
+ Simplyblock provides a feature-rich CLI (command line interface) to deploy SimplyBlock Cluster and to manage the SimplyBlock Control plane
5
+
6
+ ## Install
7
+
8
+ The CLI can be installed using pypi package [sbctl](https://pypi.org/project/sbctl/)
9
+
10
+ ```
11
+ pip install --upgrade sbctl
12
+ ```
13
+
14
+ # Components
15
+
16
+ ## Simply Block Core
17
+ Contains core logic and controllers for the simplyblock cluster
18
+
19
+ ## Simply Block CLI
20
+ The list of all the available CLI options can be here [CLI docs](./simplyblock_cli/README.md)
21
+
22
+ ## SimplyBlock Web API
23
+
24
+ Web app that provides API to manage the cluster. More about this in [README.md](./simplyblock_web/README.md)
25
+
26
+
27
+ ### local development
28
+
29
+ FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
30
+ Depending on the OS architecture, please install the appropriate version from the official github repo
31
+
32
+ ```
33
+ wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
34
+ ```
35
+ setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
36
+
37
+ ```
38
+ sudo docker compose -f docker-compose-dev.yml up --build -d
39
+ ```
@@ -0,0 +1,3 @@
1
+ [build-system]
2
+ requires = ['setuptools>70']
3
+ build-backend = 'setuptools.build_meta'
@@ -1,13 +1,11 @@
1
1
  foundationdb==7.3.3
2
2
  requests
3
- numpy
4
3
  prettytable>=3.10.0
5
4
  docker
6
5
  psutil
7
6
  py-cpuinfo
8
7
  pytest
9
8
  mock
10
- setuptools
11
9
  flask
12
10
  kubernetes
13
11
  PyYAML
@@ -17,4 +15,9 @@ boto3
17
15
  jinja2
18
16
  argcomplete
19
17
  jc
20
- prometheus_client
18
+ sentry-sdk
19
+ prometheus-client
20
+ ec2-metadata
21
+ flask-swagger-ui
22
+ sentry-sdk[flask]
23
+ flask-openapi3
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 25.3.17
3
+ Version: 25.5.0
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -10,21 +10,16 @@ Platform: UNKNOWN
10
10
  Description-Content-Type: text/markdown
11
11
 
12
12
 
13
- # Simply Block
14
- [![Docker Image Build](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
15
-
16
- [![Python Unit Testing](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
13
+ # SBCLI (SimplyBlock CLI)
17
14
 
15
+ Simplyblock provides a feature-rich CLI (command line interface) to deploy SimplyBlock Cluster and to manage the SimplyBlock Control plane
18
16
 
19
17
  ## Install
20
- Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
21
18
 
22
- ```bash
23
- aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
19
+ The CLI can be installed using pypi package [sbctl](https://pypi.org/project/sbctl/)
20
+
24
21
  ```
25
- Install package
26
- ```bash
27
- pip install --extra-index-url https://pypi.org/simple sbcli
22
+ pip install --upgrade sbctl
28
23
  ```
29
24
 
30
25
  # Components
@@ -33,14 +28,11 @@ pip install --extra-index-url https://pypi.org/simple sbcli
33
28
  Contains core logic and controllers for the simplyblock cluster
34
29
 
35
30
  ## Simply Block CLI
36
- Please see this document
37
- [README.md](../main/simplyblock_cli/README.md)
38
-
31
+ The list of all the available CLI options can be here [CLI docs](./simplyblock_cli/README.md)
39
32
 
40
- ## Simply Block Web API
41
- Please see this document
42
- [README.md](../main/simplyblock_web/README.md)
33
+ ## SimplyBlock Web API
43
34
 
35
+ Web app that provides API to manage the cluster. More about this in [README.md](./simplyblock_web/README.md)
44
36
 
45
37
 
46
38
  ### local development
@@ -51,10 +43,8 @@ Depending on the OS architecture, please install the appropriate version from th
51
43
  ```
52
44
  wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
53
45
  ```
54
-
55
46
  setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
56
47
 
57
-
58
48
  ```
59
49
  sudo docker compose -f docker-compose-dev.yml up --build -d
60
50
  ```
@@ -50,6 +50,7 @@ simplyblock_core/models/caching_node.py
50
50
  simplyblock_core/models/cluster.py
51
51
  simplyblock_core/models/deployer.py
52
52
  simplyblock_core/models/events.py
53
+ simplyblock_core/models/hublvol.py
53
54
  simplyblock_core/models/iface.py
54
55
  simplyblock_core/models/job_schedule.py
55
56
  simplyblock_core/models/lvol_model.py
@@ -76,7 +77,7 @@ simplyblock_core/scripts/haproxy.cfg
76
77
  simplyblock_core/scripts/install_deps.sh
77
78
  simplyblock_core/scripts/objstore.yml
78
79
  simplyblock_core/scripts/prepare_fdb.sh
79
- simplyblock_core/scripts/prometheus.yml
80
+ simplyblock_core/scripts/prometheus.yml.j2
80
81
  simplyblock_core/scripts/run_ssh.sh
81
82
  simplyblock_core/scripts/set_db_config.sh
82
83
  simplyblock_core/scripts/stack_deploy_wait.sh
@@ -88,6 +89,10 @@ simplyblock_core/scripts/dashboards/lvols.json
88
89
  simplyblock_core/scripts/dashboards/node-exporter.json
89
90
  simplyblock_core/scripts/dashboards/nodes.json
90
91
  simplyblock_core/scripts/dashboards/pools.json
92
+ simplyblock_core/scripts/helpers/__init__.py
93
+ simplyblock_core/scripts/helpers/deploy_cluster.sh
94
+ simplyblock_core/scripts/helpers/destroy_cluster.sh
95
+ simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py
91
96
  simplyblock_core/services/__init__.py
92
97
  simplyblock_core/services/cached_lvol_stat_collector.py
93
98
  simplyblock_core/services/caching_node_monitor.py
@@ -104,8 +109,8 @@ simplyblock_core/services/new_device_discovery.py
104
109
  simplyblock_core/services/remove_service.sh
105
110
  simplyblock_core/services/service_template.service
106
111
  simplyblock_core/services/spdk_http_proxy_server.py
107
- simplyblock_core/services/spdk_stats_collector.py
108
112
  simplyblock_core/services/storage_node_monitor.py
113
+ simplyblock_core/services/tasks_cluster_status.py
109
114
  simplyblock_core/services/tasks_runner_failed_migration.py
110
115
  simplyblock_core/services/tasks_runner_migration.py
111
116
  simplyblock_core/services/tasks_runner_new_dev_migration.py
@@ -113,20 +118,17 @@ simplyblock_core/services/tasks_runner_node_add.py
113
118
  simplyblock_core/services/tasks_runner_restart.py
114
119
  simplyblock_core/services/spdk/__init__.py
115
120
  simplyblock_core/services/spdk/client.py
121
+ simplyblock_core/test/test_models.py
116
122
  simplyblock_core/test/test_utils.py
117
123
  simplyblock_core/workers/cleanup_foundationdb.py
118
124
  simplyblock_web/README.md
119
125
  simplyblock_web/__init__.py
120
126
  simplyblock_web/app.py
121
127
  simplyblock_web/auth_middleware.py
122
- simplyblock_web/caching_node_app.py
123
- simplyblock_web/caching_node_app_k8s.py
128
+ simplyblock_web/node_configure.py
124
129
  simplyblock_web/node_utils.py
125
130
  simplyblock_web/node_utils_k8s.py
126
131
  simplyblock_web/node_webapp.py
127
- simplyblock_web/requirements.txt
128
- simplyblock_web/snode_app.py
129
- simplyblock_web/snode_app_k8s.py
130
132
  simplyblock_web/utils.py
131
133
  simplyblock_web/blueprints/__init__.py
132
134
  simplyblock_web/blueprints/caching_node_ops.py
@@ -142,6 +144,7 @@ simplyblock_web/blueprints/web_api_cluster.py
142
144
  simplyblock_web/blueprints/web_api_deployer.py
143
145
  simplyblock_web/blueprints/web_api_device.py
144
146
  simplyblock_web/blueprints/web_api_lvol.py
147
+ simplyblock_web/blueprints/web_api_metrics.py
145
148
  simplyblock_web/blueprints/web_api_mgmt_node.py
146
149
  simplyblock_web/blueprints/web_api_pool.py
147
150
  simplyblock_web/blueprints/web_api_snapshot.py
@@ -157,4 +160,12 @@ simplyblock_web/static/rpac.yaml
157
160
  simplyblock_web/static/swagger.yaml
158
161
  simplyblock_web/static/tst.py
159
162
  simplyblock_web/templates/caching_deploy_spdk.yaml.j2
160
- simplyblock_web/templates/storage_deploy_spdk.yaml.j2
163
+ simplyblock_web/templates/storage_deploy_spdk.yaml.j2
164
+ simplyblock_web/test/conftest.py
165
+ simplyblock_web/test/pytest.ini
166
+ simplyblock_web/test/requirements.txt
167
+ simplyblock_web/test/util.py
168
+ simplyblock_web/test/api/test_lvol.py
169
+ simplyblock_web/test/api/test_pool.py
170
+ simplyblock_web/test/api/test_snapshot.py
171
+ simplyblock_web/test/api/test_storage_node.py
@@ -1,13 +1,11 @@
1
1
  foundationdb==7.3.3
2
2
  requests
3
- numpy
4
3
  prettytable>=3.10.0
5
4
  docker
6
5
  psutil
7
6
  py-cpuinfo
8
7
  pytest
9
8
  mock
10
- setuptools
11
9
  flask
12
10
  kubernetes
13
11
  PyYAML
@@ -17,4 +15,9 @@ boto3
17
15
  jinja2
18
16
  argcomplete
19
17
  jc
20
- prometheus_client
18
+ sentry-sdk
19
+ prometheus-client
20
+ ec2-metadata
21
+ flask-swagger-ui
22
+ sentry-sdk[flask]
23
+ flask-openapi3
@@ -8,13 +8,11 @@ from setuptools.command.install import install as _install
8
8
  def _post_install():
9
9
  from subprocess import getstatusoutput
10
10
  _, out = getstatusoutput('activate-global-python-argcomplete --user')
11
- print(out)
11
+ if out:
12
+ print(out)
12
13
 
13
14
  if os.environ.get("SHELL") and os.environ.get("HOME"):
14
- if "zsh" in os.environ.get("SHELL", ""):
15
- path = f"{os.environ.get('HOME')}/.zshenv"
16
- else:
17
- path = f"{os.environ.get('HOME')}/.bash_completion"
15
+ path = f"{os.environ.get('HOME')}/.bash_completion"
18
16
  if os.path.isfile(path):
19
17
  _, out = getstatusoutput(f'source {path}')
20
18
  found = False
@@ -87,6 +85,7 @@ data_files.append(('', ["requirements.txt"]))
87
85
  setup(
88
86
  name=COMMAND_NAME,
89
87
  version=VERSION,
88
+ requires_python='>= 3.9',
90
89
  packages=find_packages(exclude=["e2e*"]),
91
90
  url='https://www.simplyblock.io/',
92
91
  author='Hamdy',
@@ -98,6 +97,7 @@ setup(
98
97
  entry_points={
99
98
  'console_scripts': [
100
99
  f'{COMMAND_NAME}=simplyblock_cli.cli:main',
100
+ # 'sbctl=simplyblock_cli.cli:main',
101
101
  ]
102
102
  },
103
103
  include_package_data=True,