sbcli-dev 3.8.52__zip → 3.8.54__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.
Files changed (150) hide show
  1. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/PKG-INFO +1 -1
  2. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/env_var +1 -1
  3. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_cli/cli.py +2 -1
  5. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/cluster_ops.py +6 -4
  6. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/distr_controller.py +1 -2
  7. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/spdk_http_proxy_server.py +6 -14
  8. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/tasks_runner_restart.py +1 -1
  9. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/README.md +0 -0
  10. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/pyproject.toml +0 -0
  11. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  12. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  13. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/sbcli_dev.egg-info/entry_points.txt +0 -0
  14. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/sbcli_dev.egg-info/requires.txt +0 -0
  15. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/sbcli_dev.egg-info/top_level.txt +0 -0
  16. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/setup.cfg +0 -0
  17. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/setup.py +0 -0
  18. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_cli/main.py +0 -0
  19. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/__init__.py +0 -0
  20. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/cnode_client.py +0 -0
  21. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/compute_node_ops.py +0 -0
  22. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/constants.py +0 -0
  23. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/__init__.py +0 -0
  24. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  25. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/cluster_events.py +0 -0
  26. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/device_controller.py +0 -0
  27. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/device_events.py +0 -0
  28. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/events_controller.py +0 -0
  29. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/health_controller.py +0 -0
  30. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/lvol_controller.py +0 -0
  31. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/lvol_events.py +0 -0
  32. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/mgmt_events.py +0 -0
  33. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/pool_controller.py +0 -0
  34. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/pool_events.py +0 -0
  35. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  36. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/snapshot_events.py +0 -0
  37. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/storage_events.py +0 -0
  38. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/tasks_controller.py +0 -0
  39. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/controllers/tasks_events.py +0 -0
  40. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/kv_store.py +0 -0
  41. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/mgmt_node_ops.py +0 -0
  42. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/__init__.py +0 -0
  43. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/base_model.py +0 -0
  44. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/caching_node.py +0 -0
  45. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/cluster.py +0 -0
  46. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/compute_node.py +0 -0
  47. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/deployer.py +0 -0
  48. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/events.py +0 -0
  49. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/global_settings.py +0 -0
  50. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/iface.py +0 -0
  51. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/job_schedule.py +0 -0
  52. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/lvol_model.py +0 -0
  53. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/mgmt_node.py +0 -0
  54. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/nvme_device.py +0 -0
  55. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/pool.py +0 -0
  56. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/port_stat.py +0 -0
  57. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/snapshot.py +0 -0
  58. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/stats.py +0 -0
  59. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/models/storage_node.py +0 -0
  60. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/pci_utils.py +0 -0
  61. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/rpc_client.py +0 -0
  62. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/__init__.py +0 -0
  63. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  64. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  65. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  66. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/config_docker.sh +0 -0
  67. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboard.yml +0 -0
  68. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  69. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  70. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  71. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  72. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  73. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  74. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/datasource.yml +0 -0
  75. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/db_config_double.sh +0 -0
  76. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/db_config_single.sh +0 -0
  77. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  78. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  79. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  80. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/haproxy.cfg +0 -0
  81. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/install_deps.sh +0 -0
  82. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/objstore.yml +0 -0
  83. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/prometheus.yml +0 -0
  84. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/run_ssh.sh +0 -0
  85. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/set_db_config.sh +0 -0
  86. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  87. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/__init__.py +0 -0
  88. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  89. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/caching_node_monitor.py +0 -0
  90. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/cap_monitor.py +0 -0
  91. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  92. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/device_monitor.py +0 -0
  93. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/distr_event_collector.py +0 -0
  94. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  100. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  101. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/new_device_discovery.py +0 -0
  102. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/port_stat_collector.py +0 -0
  103. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/storage_node_monitor.py +0 -0
  106. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  107. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  108. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  109. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  110. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/shell_utils.py +0 -0
  111. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/snode_client.py +0 -0
  112. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/storage_node_ops.py +0 -0
  113. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_core/utils.py +0 -0
  114. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/__init__.py +0 -0
  115. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/app.py +0 -0
  116. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/auth_middleware.py +0 -0
  117. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/__init__.py +0 -0
  118. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  119. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  120. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  121. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  122. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  123. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/snode_ops.py +0 -0
  124. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  125. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  126. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  127. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  128. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_device.py +0 -0
  129. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  130. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  131. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  132. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  133. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  134. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/caching_node_app.py +0 -0
  135. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/caching_node_app_k8s.py +0 -0
  136. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/node_utils.py +0 -0
  137. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/node_webapp.py +0 -0
  138. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/snode_app.py +0 -0
  139. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/snode_app_k8s.py +0 -0
  140. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/delete.py +0 -0
  141. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/deploy.py +0 -0
  142. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  143. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  144. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/is_up.py +0 -0
  145. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/list_deps.py +0 -0
  146. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/rpac.yaml +0 -0
  147. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/static/tst.py +0 -0
  148. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  150. {sbcli_dev-3.8.52 → sbcli_dev-3.8.54}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 3.8.52
3
+ Version: 3.8.54
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=3.8.52
2
+ SIMPLY_BLOCK_VERSION=3.8.54
3
3
 
4
4
 
5
5
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 3.8.52
3
+ Version: 3.8.54
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -295,6 +295,7 @@ class CLIWrapper:
295
295
  # Activate cluster
296
296
  sub_command = self.add_sub_command(subparser, 'activate', 'Create distribs and raid0 bdevs on all the storage node and move the cluster to active state')
297
297
  sub_command.add_argument("cluster_id", help='the cluster UUID')
298
+ sub_command.add_argument("--force", help='Force recreate distr and lv stores', required=False, action='store_true')
298
299
 
299
300
  # show cluster list
300
301
  self.add_sub_command(subparser, 'list', 'Show clusters list')
@@ -889,7 +890,7 @@ class CLIWrapper:
889
890
  ret = self.cluster_add(args)
890
891
  elif sub_command == 'activate':
891
892
  cluster_id = args.cluster_id
892
- ret = cluster_ops.cluster_activate(cluster_id)
893
+ ret = cluster_ops.cluster_activate(cluster_id, args.force)
893
894
  elif sub_command == 'status':
894
895
  cluster_id = args.cluster_id
895
896
  ret = cluster_ops.show_cluster(cluster_id)
@@ -336,7 +336,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
336
336
  return cluster.get_id()
337
337
 
338
338
 
339
- def cluster_activate(cl_id):
339
+ def cluster_activate(cl_id, force=False):
340
340
  db_controller = DBController()
341
341
  cluster = db_controller.get_cluster_by_id(cl_id)
342
342
  if not cluster:
@@ -344,7 +344,8 @@ def cluster_activate(cl_id):
344
344
  return False
345
345
  if cluster.status != Cluster.STATUS_UNREADY:
346
346
  logger.error(f"Failed to activate cluster, Cluster is not in an UNREADY state")
347
- return False
347
+ if not force:
348
+ return False
348
349
  set_cluster_status(cl_id, Cluster.STATUS_IN_ACTIVATION)
349
350
  snodes = db_controller.get_storage_nodes_by_cluster_id(cl_id)
350
351
  online_nodes = []
@@ -367,7 +368,8 @@ def cluster_activate(cl_id):
367
368
  for snode in snodes:
368
369
  if snode.lvstore:
369
370
  logger.info(f"Node {snode.get_id()} already has lvstore {snode.lvstore}... skipping")
370
- continue
371
+ if not force:
372
+ continue
371
373
  ret = storage_node_ops.create_lvstore(snode, cluster.distr_ndcs, cluster.distr_npcs, cluster.distr_bs,
372
374
  cluster.distr_chunk_bs, cluster.page_size_in_blocks, max_size, snodes)
373
375
  if not ret:
@@ -375,9 +377,9 @@ def cluster_activate(cl_id):
375
377
  set_cluster_status(cl_id, Cluster.STATUS_UNREADY)
376
378
  return False
377
379
 
378
- cluster.status = Cluster.STATUS_ACTIVE
379
380
  cluster.cluster_max_size = max_size
380
381
  cluster.write_to_db(db_controller.kv_store)
382
+ set_cluster_status(cl_id, Cluster.STATUS_ACTIVE)
381
383
  logger.info("Cluster activated successfully")
382
384
  return True
383
385
 
@@ -86,9 +86,9 @@ def get_distr_cluster_map(snodes, target_node):
86
86
  dev_w = int(dev.size/(1024*1024*1024)) or 1
87
87
  node_w += dev_w
88
88
  name = None
89
+ dev_status = dev.status
89
90
  if snode.get_id() == target_node.get_id():
90
91
  name = dev.alceml_bdev
91
- dev_status = dev.status
92
92
  local_node_index = index
93
93
  else:
94
94
  for dev2 in target_node.remote_devices:
@@ -98,7 +98,6 @@ def get_distr_cluster_map(snodes, target_node):
98
98
  break
99
99
  if not name:
100
100
  name = f"remote_{dev.alceml_bdev}n1"
101
- dev_status = NVMeDevice.STATUS_UNAVAILABLE
102
101
  dev_map[dev.cluster_device_order] = {
103
102
  "UUID": dev.get_id(),
104
103
  "bdev_name": name,
@@ -8,14 +8,11 @@ import socket
8
8
  import ssl
9
9
  import sys
10
10
 
11
- try:
12
- from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
13
- except ImportError:
14
- from http.server import HTTPServer
15
- from http.server import BaseHTTPRequestHandler
11
+ from http.server import ThreadingHTTPServer
12
+ from http.server import BaseHTTPRequestHandler
13
+
16
14
 
17
- TIMEOUT = 30
18
- TIMEOUT_LONG = 5*60 # 5 min
15
+ TIMEOUT = 5*60 # 5 min
19
16
  rpc_sock = '/var/tmp/spdk.sock'
20
17
  logger_handler = logging.StreamHandler(stream=sys.stdout)
21
18
  logger_handler.setFormatter(logging.Formatter('%(asctime)s: %(levelname)s: %(message)s'))
@@ -37,12 +34,8 @@ def get_env_var(name, default=None, is_required=False):
37
34
  def rpc_call(req):
38
35
  req_data = json.loads(req.decode('ascii'))
39
36
  print(req_data)
40
- method = req_data['method']
41
37
  sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
42
- if "create" in method or "delete" in method:
43
- sock.settimeout(TIMEOUT_LONG)
44
- else:
45
- sock.settimeout(TIMEOUT)
38
+ sock.settimeout(TIMEOUT)
46
39
  sock.connect(rpc_sock)
47
40
  sock.sendall(req)
48
41
 
@@ -54,7 +47,6 @@ def rpc_call(req):
54
47
  closed = False
55
48
  response = None
56
49
 
57
-
58
50
  while not closed:
59
51
  newdata = sock.recv(1024)
60
52
  if (newdata == b''):
@@ -135,7 +127,7 @@ def run_server(host, port, user, password, cert=None):
135
127
 
136
128
  try:
137
129
  ServerHandler.key = key
138
- httpd = HTTPServer((host, port), ServerHandler)
130
+ httpd = ThreadingHTTPServer((host, port), ServerHandler)
139
131
  httpd.timeout = TIMEOUT
140
132
  if cert is not None:
141
133
  httpd.socket = ssl.wrap_socket(httpd.socket, certfile=cert, server_side=True)
@@ -186,7 +186,7 @@ def task_runner_node(task):
186
186
  logger.info(f"Node restart succeeded")
187
187
 
188
188
  time.sleep(5)
189
- if _get_node_unavailable_devices_count(node.get_id()) == 0 and node.status == StorageNode.STATUS_ONLINE:
189
+ if node.status == StorageNode.STATUS_ONLINE:
190
190
  logger.info(f"Node is online: {node.get_id()}")
191
191
  task.function_result = "done"
192
192
  task.status = JobSchedule.STATUS_DONE
File without changes
File without changes
File without changes
File without changes