sbcli-dev 4.0.22__zip → 4.0.24__zip

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.

Potentially problematic release.


This version of sbcli-dev might be problematic. Click here for more details.

Files changed (149) hide show
  1. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/PKG-INFO +1 -1
  2. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/env_var +1 -1
  3. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/device_controller.py +89 -28
  5. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/storage_node_ops.py +2 -1
  6. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/auth_middleware.py +0 -3
  7. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_cluster.py +8 -18
  8. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/README.md +0 -0
  9. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/pyproject.toml +0 -0
  10. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  11. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  12. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/entry_points.txt +0 -0
  13. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/requires.txt +0 -0
  14. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/top_level.txt +0 -0
  15. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/setup.cfg +0 -0
  16. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/setup.py +0 -0
  17. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_cli/cli.py +0 -0
  18. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_cli/main.py +0 -0
  19. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/__init__.py +0 -0
  20. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/cluster_ops.py +0 -0
  21. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/cnode_client.py +0 -0
  22. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/compute_node_ops.py +0 -0
  23. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/constants.py +0 -0
  24. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/device_events.py +0 -0
  28. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/events_controller.py +0 -0
  29. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/health_controller.py +0 -0
  30. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/lvol_controller.py +0 -0
  31. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/lvol_events.py +0 -0
  32. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/mgmt_events.py +0 -0
  33. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/pool_controller.py +0 -0
  34. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/pool_events.py +0 -0
  35. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  36. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/snapshot_events.py +0 -0
  37. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/storage_events.py +0 -0
  38. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/tasks_controller.py +0 -0
  39. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/tasks_events.py +0 -0
  40. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/distr_controller.py +0 -0
  41. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/kv_store.py +0 -0
  42. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/mgmt_node_ops.py +0 -0
  43. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/__init__.py +0 -0
  44. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/base_model.py +0 -0
  45. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/caching_node.py +0 -0
  46. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/cluster.py +0 -0
  47. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/compute_node.py +0 -0
  48. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/deployer.py +0 -0
  49. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/events.py +0 -0
  50. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/global_settings.py +0 -0
  51. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/iface.py +0 -0
  52. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/job_schedule.py +0 -0
  53. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/lvol_model.py +0 -0
  54. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/mgmt_node.py +0 -0
  55. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/nvme_device.py +0 -0
  56. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/pool.py +0 -0
  57. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/port_stat.py +0 -0
  58. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/snapshot.py +0 -0
  59. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/stats.py +0 -0
  60. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/storage_node.py +0 -0
  61. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/pci_utils.py +0 -0
  62. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/rpc_client.py +0 -0
  63. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/__init__.py +0 -0
  64. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  65. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  66. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  67. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/config_docker.sh +0 -0
  68. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboard.yml +0 -0
  69. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  70. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  71. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  72. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  73. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  74. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  75. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/datasource.yml +0 -0
  76. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/db_config_double.sh +0 -0
  77. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/db_config_single.sh +0 -0
  78. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  79. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  80. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  81. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/haproxy.cfg +0 -0
  82. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/install_deps.sh +0 -0
  83. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/objstore.yml +0 -0
  84. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/prometheus.yml +0 -0
  85. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/run_ssh.sh +0 -0
  86. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/set_db_config.sh +0 -0
  87. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  88. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/__init__.py +0 -0
  89. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  90. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/caching_node_monitor.py +0 -0
  91. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/cap_monitor.py +0 -0
  92. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  93. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/device_monitor.py +0 -0
  94. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  100. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  101. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/new_device_discovery.py +0 -0
  102. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/port_stat_collector.py +0 -0
  103. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  106. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/storage_node_monitor.py +0 -0
  107. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  108. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  109. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  110. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  111. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  112. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/shell_utils.py +0 -0
  113. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/snode_client.py +0 -0
  114. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/utils.py +0 -0
  115. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/__init__.py +0 -0
  116. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/app.py +0 -0
  117. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/__init__.py +0 -0
  118. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  119. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  120. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  121. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  122. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  123. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/snode_ops.py +0 -0
  124. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  125. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  126. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  127. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_device.py +0 -0
  128. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  129. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  130. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  131. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  132. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  133. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/caching_node_app.py +0 -0
  134. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/caching_node_app_k8s.py +0 -0
  135. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/node_utils.py +0 -0
  136. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/node_webapp.py +0 -0
  137. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/snode_app.py +0 -0
  138. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/snode_app_k8s.py +0 -0
  139. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/delete.py +0 -0
  140. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/deploy.py +0 -0
  141. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  142. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  143. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/is_up.py +0 -0
  144. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/list_deps.py +0 -0
  145. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/rpac.yaml +0 -0
  146. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/tst.py +0 -0
  147. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  148. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 4.0.22
3
+ Version: 4.0.24
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
- SIMPLY_BLOCK_VERSION=4.0.22
2
+ SIMPLY_BLOCK_VERSION=4.0.24
3
3
 
4
4
 
5
5
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main-dev
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 4.0.22
3
+ Version: 4.0.24
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -171,14 +171,6 @@ def _def_create_device_stack(device_obj, snode, force=False):
171
171
  logger.info(f"Adding {pt_name} to the subsystem")
172
172
  ret = rpc_client.nvmf_subsystem_add_ns(subsystem_nqn, pt_name)
173
173
 
174
- if hasattr(device_obj, 'jm_bdev') and device_obj.jm_bdev:
175
- ret = rpc_client.bdev_jm_create(device_obj.jm_bdev, device_obj.alceml_bdev,
176
- jm_cpu_mask=snode.jm_cpu_mask)
177
- if not ret:
178
- logger.error(f"Failed to create jm bdev: {device_obj.jm_bdev}")
179
- if not force:
180
- return False
181
-
182
174
  if snode.enable_test_device:
183
175
  device_obj.testing_bdev = test_name
184
176
  device_obj.alceml_bdev = alceml_name
@@ -820,29 +812,98 @@ def restart_jm_device(device_id, force=False, format_alceml=False):
820
812
  return False
821
813
 
822
814
  # add to jm raid
823
- if snode.jm_device and snode.jm_device.raid_bdev:
815
+ if snode.jm_device:
824
816
  rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
825
- bdevs_names = [d['name'] for d in rpc_client.get_bdevs()]
826
- jm_nvme_bdevs = []
827
- for dev in snode.nvme_devices:
828
- if dev.status != NVMeDevice.STATUS_ONLINE:
829
- continue
830
- dev_part = f"{dev.nvme_bdev[:-2]}p1"
831
- if dev_part in bdevs_names:
832
- if dev_part not in jm_nvme_bdevs:
833
- jm_nvme_bdevs.append(dev_part)
834
-
835
- if len(jm_nvme_bdevs) > 0:
836
- new_jm = storage_node_ops._create_jm_stack_on_raid(
837
- rpc_client, jm_nvme_bdevs, snode, after_restart=not format_alceml)
838
- if not new_jm:
839
- logger.error("failed to create jm stack")
817
+ if snode.jm_device.raid_bdev:
818
+ bdevs_names = [d['name'] for d in rpc_client.get_bdevs()]
819
+ jm_nvme_bdevs = []
820
+ for dev in snode.nvme_devices:
821
+ if dev.status != NVMeDevice.STATUS_ONLINE:
822
+ continue
823
+ dev_part = f"{dev.nvme_bdev[:-2]}p1"
824
+ if dev_part in bdevs_names:
825
+ if dev_part not in jm_nvme_bdevs:
826
+ jm_nvme_bdevs.append(dev_part)
827
+
828
+ if len(jm_nvme_bdevs) > 0:
829
+ new_jm = storage_node_ops._create_jm_stack_on_raid(
830
+ rpc_client, jm_nvme_bdevs, snode, after_restart=not format_alceml)
831
+ if not new_jm:
832
+ logger.error("failed to create jm stack")
833
+ return False
834
+
835
+ else:
836
+ snode = db_controller.get_storage_node_by_id(snode.get_id())
837
+ snode.jm_device = new_jm
838
+ snode.write_to_db(db_controller.kv_store)
839
+ set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
840
+ else:
841
+ nvme_bdev = jm_device.nvme_bdev
842
+ if snode.enable_test_device:
843
+ ret = rpc_client.bdev_passtest_create(jm_device.testing_bdev, jm_device.nvme_bdev)
844
+ if not ret:
845
+ logger.error(f"Failed to create passtest bdev {jm_device.testing_bdev}")
846
+ return False
847
+ nvme_bdev = jm_device.testing_bdev
848
+ alceml_cpu_mask = ""
849
+ alceml_worker_cpu_mask = ""
850
+
851
+ if snode.alceml_cpu_cores:
852
+ alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
853
+ snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
854
+
855
+ if snode.alceml_worker_cpu_cores:
856
+ alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
857
+ snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
858
+ snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
859
+
860
+ ret = rpc_client.bdev_alceml_create(jm_device.alceml_bdev, nvme_bdev, jm_device.get_id(),
861
+ pba_init_mode=1, alceml_cpu_mask=alceml_cpu_mask,
862
+ alceml_worker_cpu_mask=alceml_worker_cpu_mask)
863
+
864
+ if not ret:
865
+ logger.error(f"Failed to create alceml bdev: {jm_device.alceml_bdev}")
866
+ return False
867
+
868
+ jm_bdev = f"jm_{snode.get_id()}"
869
+ ret = rpc_client.bdev_jm_create(jm_bdev, jm_device.alceml_bdev, jm_cpu_mask=snode.jm_cpu_mask)
870
+ if not ret:
871
+ logger.error(f"Failed to create {jm_bdev}")
840
872
  return False
841
873
 
842
- else:
843
- snode = db_controller.get_storage_node_by_id(snode.get_id())
844
- snode.jm_device = new_jm
845
- snode.write_to_db(db_controller.kv_store)
874
+ if snode.enable_ha_jm:
875
+ # add pass through
876
+ pt_name = f"{jm_bdev}_PT"
877
+ ret = rpc_client.bdev_PT_NoExcl_create(pt_name, jm_bdev)
878
+ if not ret:
879
+ logger.error(f"Failed to create pt noexcl bdev: {pt_name}")
880
+ return False
881
+
882
+ subsystem_nqn = snode.subsystem + ":dev:" + jm_bdev
883
+ logger.info("creating subsystem %s", subsystem_nqn)
884
+ ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', jm_bdev)
885
+ IP = None
886
+ for iface in snode.data_nics:
887
+ if iface.ip4_address:
888
+ tr_type = iface.get_transport_type()
889
+ ret = rpc_client.transport_list()
890
+ found = False
891
+ if ret:
892
+ for ty in ret:
893
+ if ty['trtype'] == tr_type:
894
+ found = True
895
+ if found is False:
896
+ ret = rpc_client.transport_create(tr_type)
897
+ logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
898
+ ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
899
+ IP = iface.ip4_address
900
+ break
901
+ logger.info(f"add {pt_name} to subsystem")
902
+ ret = rpc_client.nvmf_subsystem_add_ns(subsystem_nqn, pt_name)
903
+ if not ret:
904
+ logger.error(f"Failed to add: {pt_name} to the subsystem: {subsystem_nqn}")
905
+ return False
906
+
846
907
  set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
847
908
 
848
909
  return True
@@ -743,7 +743,8 @@ def _prepare_cluster_devices_on_restart(snode):
743
743
  logger.error(f"Failed to add: {pt_name} to the subsystem: {subsystem_nqn}")
744
744
  return False
745
745
 
746
- return True
746
+ device_controller.set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
747
+ return True
747
748
 
748
749
 
749
750
  def _connect_to_remote_devs(this_node):
@@ -10,9 +10,6 @@ from simplyblock_core import kv_store
10
10
  def token_required(f):
11
11
  @wraps(f)
12
12
  def decorated(*args, **kwargs):
13
- #TODO: added for e2e tests automation
14
- if request.method == "GET" and request.path.startswith("/cluster"):
15
- return f(*args, **kwargs)
16
13
  cluster_id = None
17
14
  cluster_secret = None
18
15
  if "Authorization" in request.headers:
@@ -55,24 +55,14 @@ def add_cluster():
55
55
  @bp.route('/cluster', methods=['GET'], defaults={'uuid': None})
56
56
  @bp.route('/cluster/<string:uuid>', methods=['GET'])
57
57
  def list_clusters(uuid):
58
- clusters_list = []
59
- if uuid:
60
- cl = db_controller.get_cluster_by_id(uuid)
61
- if cl:
62
- clusters_list.append(cl)
63
- else:
64
- return utils.get_response_error(f"Cluster not found: {uuid}", 404)
65
- else:
66
- cls = db_controller.get_clusters()
67
- if cls:
68
- clusters_list.extend(cls)
69
-
70
- data = []
71
- for cluster in clusters_list:
72
- d = cluster.get_clean_dict()
73
- d['status_code'] = cluster.get_status_code()
74
- data.append(d)
75
- return utils.get_response(data)
58
+ cluster_id = utils.get_cluster_id(request)
59
+ cluster = db_controller.get_cluster_by_id(cluster_id)
60
+ if not cluster:
61
+ return utils.get_response_error(f"Cluster not found: {cluster_id}", 404)
62
+
63
+ d = cluster.get_clean_dict()
64
+ d['status_code'] = cluster.get_status_code()
65
+ return utils.get_response(d)
76
66
 
77
67
 
78
68
  @bp.route('/cluster/capacity/<string:uuid>/history/<string:history>', methods=['GET'])
File without changes
File without changes
File without changes
File without changes