sbcli-dev 5.2.7__tar.gz → 5.2.9__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 (149) hide show
  1. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/PKG-INFO +1 -1
  2. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/env_var +1 -1
  3. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/device_controller.py +3 -1
  5. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/lvol_controller.py +7 -7
  6. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/distr_controller.py +5 -3
  7. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/tasks_runner_migration.py +1 -1
  8. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/tasks_runner_new_dev_migration.py +1 -1
  9. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/storage_node_ops.py +5 -4
  10. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/README.md +0 -0
  11. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/pyproject.toml +0 -0
  12. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  13. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  14. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/sbcli_dev.egg-info/entry_points.txt +0 -0
  15. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/sbcli_dev.egg-info/requires.txt +0 -0
  16. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/sbcli_dev.egg-info/top_level.txt +0 -0
  17. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/setup.cfg +0 -0
  18. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/setup.py +0 -0
  19. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_cli/cli.py +0 -0
  20. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_cli/main.py +0 -0
  21. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/__init__.py +0 -0
  22. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/cluster_ops.py +0 -0
  23. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/cnode_client.py +0 -0
  24. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/compute_node_ops.py +0 -0
  25. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/constants.py +0 -0
  26. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/__init__.py +0 -0
  27. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  28. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/cluster_events.py +0 -0
  29. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/device_events.py +0 -0
  30. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/events_controller.py +0 -0
  31. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/health_controller.py +0 -0
  32. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/lvol_events.py +0 -0
  33. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/mgmt_events.py +0 -0
  34. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/pool_controller.py +0 -0
  35. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/pool_events.py +0 -0
  36. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  37. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/snapshot_events.py +0 -0
  38. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/storage_events.py +0 -0
  39. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/tasks_controller.py +0 -0
  40. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/controllers/tasks_events.py +0 -0
  41. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/kv_store.py +0 -0
  42. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/mgmt_node_ops.py +0 -0
  43. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/__init__.py +0 -0
  44. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/base_model.py +0 -0
  45. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/caching_node.py +0 -0
  46. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/cluster.py +0 -0
  47. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/compute_node.py +0 -0
  48. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/deployer.py +0 -0
  49. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/events.py +0 -0
  50. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/global_settings.py +0 -0
  51. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/iface.py +0 -0
  52. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/job_schedule.py +0 -0
  53. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/lvol_model.py +0 -0
  54. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/mgmt_node.py +0 -0
  55. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/nvme_device.py +0 -0
  56. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/pool.py +0 -0
  57. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/port_stat.py +0 -0
  58. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/snapshot.py +0 -0
  59. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/stats.py +0 -0
  60. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/models/storage_node.py +0 -0
  61. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/pci_utils.py +0 -0
  62. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/rpc_client.py +0 -0
  63. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/__init__.py +0 -0
  64. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  65. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  66. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  67. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/config_docker.sh +0 -0
  68. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboard.yml +0 -0
  69. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  70. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  71. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  72. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  73. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  74. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  75. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/datasource.yml +0 -0
  76. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/db_config_double.sh +0 -0
  77. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/db_config_single.sh +0 -0
  78. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  79. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  80. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  81. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/haproxy.cfg +0 -0
  82. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/install_deps.sh +0 -0
  83. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/objstore.yml +0 -0
  84. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/prometheus.yml +0 -0
  85. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/run_ssh.sh +0 -0
  86. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/set_db_config.sh +0 -0
  87. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  88. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/__init__.py +0 -0
  89. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  90. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/caching_node_monitor.py +0 -0
  91. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/cap_monitor.py +0 -0
  92. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  93. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/device_monitor.py +0 -0
  94. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  100. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  101. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/new_device_discovery.py +0 -0
  102. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/port_stat_collector.py +0 -0
  103. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  106. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/storage_node_monitor.py +0 -0
  107. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  108. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  109. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  110. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/shell_utils.py +0 -0
  111. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/snode_client.py +0 -0
  112. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_core/utils.py +0 -0
  113. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/__init__.py +0 -0
  114. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/app.py +0 -0
  115. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/auth_middleware.py +0 -0
  116. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/__init__.py +0 -0
  117. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  118. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  119. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  120. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  121. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  122. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/snode_ops.py +0 -0
  123. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  124. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  125. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  126. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  127. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_device.py +0 -0
  128. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  129. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  130. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  131. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  132. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  133. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/caching_node_app.py +0 -0
  134. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/caching_node_app_k8s.py +0 -0
  135. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/node_utils.py +0 -0
  136. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/node_webapp.py +0 -0
  137. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/snode_app.py +0 -0
  138. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/snode_app_k8s.py +0 -0
  139. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/delete.py +0 -0
  140. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/deploy.py +0 -0
  141. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  142. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  143. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/is_up.py +0 -0
  144. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/list_deps.py +0 -0
  145. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/rpac.yaml +0 -0
  146. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/static/tst.py +0 -0
  147. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  148. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-5.2.7 → sbcli_dev-5.2.9}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 5.2.7
3
+ Version: 5.2.9
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=5.2.7
2
+ SIMPLY_BLOCK_VERSION=5.2.9
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
5
5
  DOCKER_USER=hamdysimplyblock
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 5.2.7
3
+ Version: 5.2.9
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -42,6 +42,8 @@ def device_set_state(device_id, state):
42
42
  device.status = state
43
43
  snode.write_to_db(db_controller.kv_store)
44
44
 
45
+ distr_controller.send_cluster_map_to_node(snode)
46
+
45
47
  if state == NVMeDevice.STATUS_ONLINE:
46
48
  snode = db_controller.get_storage_node_by_id(dev.node_id)
47
49
  logger.info("Make other nodes connect to the node devices")
@@ -53,8 +55,8 @@ def device_set_state(device_id, state):
53
55
  if node.enable_ha_jm:
54
56
  node.remote_jm_devices = storage_node_ops._connect_to_remote_jm_devs(node)
55
57
  node.write_to_db()
58
+ distr_controller.send_cluster_map_to_node(node)
56
59
 
57
- distr_controller.send_dev_status_event(device, device.status)
58
60
  device_events.device_status_change(device, device.status, old_status)
59
61
  return True
60
62
 
@@ -715,6 +715,11 @@ def recreate_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
715
715
  ret = rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid)
716
716
  logger.debug(ret)
717
717
 
718
+ logger.info("Add BDev to subsystem")
719
+ ret = rpc_client.nvmf_subsystem_add_ns(lvol.nqn, lvol.top_bdev, lvol.uuid, lvol.guid)
720
+ if not ret:
721
+ return False, "Failed to add bdev to subsystem"
722
+
718
723
  cluster = db_controller.get_cluster_by_id(snode.cluster_id)
719
724
  # add listeners
720
725
  logger.info("adding listeners")
@@ -732,18 +737,13 @@ def recreate_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
732
737
  logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
733
738
  ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
734
739
  is_optimized = False
735
- # if lvol.node_id == snode.get_id():
736
- # is_optimized = True
740
+ if lvol.node_id == snode.get_id():
741
+ is_optimized = True
737
742
  logger.info(f"Setting ANA state: {is_optimized}")
738
743
  ret = rpc_client.nvmf_subsystem_listener_set_ana_state(
739
744
  lvol.nqn, iface.ip4_address, "4420", is_optimized)
740
745
 
741
746
 
742
- logger.info("Add BDev to subsystem")
743
- ret = rpc_client.nvmf_subsystem_add_ns(lvol.nqn, lvol.top_bdev, lvol.uuid, lvol.guid)
744
- if not ret:
745
- return False, "Failed to add bdev to subsystem"
746
-
747
747
  return True, None
748
748
 
749
749
 
@@ -115,9 +115,11 @@ def get_distr_cluster_map(snodes, target_node):
115
115
  "status": dev_status,
116
116
  # "physical_label": dev.physical_label
117
117
  }
118
- dev_w_map.append({
119
- "weight": dev_w,
120
- "id": dev.cluster_device_order})
118
+ if dev.status in [NVMeDevice.STATUS_FAILED, NVMeDevice.STATUS_FAILED_AND_MIGRATED]:
119
+ dev_w_map.append({"weight": dev_w, "id": -1})
120
+ else:
121
+ dev_w_map.append({"weight": dev_w, "id": dev.cluster_device_order})
122
+
121
123
  node_status = snode.status
122
124
  if node_status == StorageNode.STATUS_SCHEDULABLE:
123
125
  node_status = StorageNode.STATUS_UNREACHABLE
@@ -87,7 +87,7 @@ def task_runner(task):
87
87
  res = rpc_client.distr_migration_status(**mig_info)
88
88
  for st in res:
89
89
  if st['status'] == "completed":
90
- if st['error'] == 1:
90
+ if st['error'] != 0:
91
91
  task.function_result = "mig completed with errors, retrying"
92
92
  task.retry += 1
93
93
  task.status = JobSchedule.STATUS_SUSPENDED
@@ -93,7 +93,7 @@ def task_runner(task):
93
93
  res_data = res[0]
94
94
  migration_status = res_data["status"]
95
95
  if migration_status == "completed":
96
- if res_data['error'] == 1:
96
+ if res_data['error'] != 0:
97
97
  task.function_result = "mig completed with errors, retrying"
98
98
  task.retry += 1
99
99
  task.status = JobSchedule.STATUS_SUSPENDED
@@ -700,7 +700,7 @@ def _prepare_cluster_devices_on_restart(snode):
700
700
 
701
701
  rpc_client = RPCClient(
702
702
  snode.mgmt_ip, snode.rpc_port,
703
- snode.rpc_username, snode.rpc_password)
703
+ snode.rpc_username, snode.rpc_password, timeout=5*60)
704
704
 
705
705
  for index, nvme in enumerate(snode.nvme_devices):
706
706
  if nvme.status == NVMeDevice.STATUS_JM:
@@ -1817,7 +1817,8 @@ def restart_storage_node(
1817
1817
  ret = _prepare_cluster_devices_on_restart(snode)
1818
1818
  if not ret:
1819
1819
  logger.error("Failed to prepare cluster devices")
1820
- # return False
1820
+ return False
1821
+
1821
1822
  snode.write_to_db(kv_store)
1822
1823
 
1823
1824
  logger.info("Connecting to remote devices")
@@ -2721,12 +2722,12 @@ def recreate_lvstore(snode):
2721
2722
  ret = temp_rpc_client.bdev_examine(snode.raid)
2722
2723
  time.sleep(5)
2723
2724
  ret = temp_rpc_client.bdev_wait_for_examine()
2724
- time.sleep(1)
2725
+ time.sleep(3)
2725
2726
 
2726
2727
  if snode.lvols:
2727
2728
  db_controller = DBController()
2728
2729
  for lvol_id in snode.lvols:
2729
- time.sleep(5)
2730
+ # time.sleep(1)
2730
2731
  lvol = lvol_controller.recreate_lvol(lvol_id, snode)
2731
2732
  if not lvol:
2732
2733
  logger.error(f"Failed to recreate LVol: {lvol_id}")
File without changes
File without changes
File without changes
File without changes