sbcli-dev 3.8.41__zip → 3.8.43__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 (149) hide show
  1. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/PKG-INFO +1 -1
  2. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/env_var +1 -1
  3. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/constants.py +1 -1
  5. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/distr_controller.py +5 -2
  6. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/rpc_client.py +2 -1
  7. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/main_distr_event_collector.py +30 -28
  8. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/storage_node_ops.py +1 -1
  9. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/README.md +0 -0
  10. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/pyproject.toml +0 -0
  11. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  12. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  13. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/sbcli_dev.egg-info/entry_points.txt +0 -0
  14. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/sbcli_dev.egg-info/requires.txt +0 -0
  15. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/sbcli_dev.egg-info/top_level.txt +0 -0
  16. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/setup.cfg +0 -0
  17. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/setup.py +0 -0
  18. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_cli/cli.py +0 -0
  19. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_cli/main.py +0 -0
  20. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/__init__.py +0 -0
  21. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/cluster_ops.py +0 -0
  22. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/compute_node_ops.py +0 -0
  24. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/device_controller.py +0 -0
  28. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/device_events.py +0 -0
  29. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/events_controller.py +0 -0
  30. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/health_controller.py +0 -0
  31. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/lvol_controller.py +0 -0
  32. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/lvol_events.py +0 -0
  33. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/mgmt_events.py +0 -0
  34. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/pool_controller.py +0 -0
  35. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/pool_events.py +0 -0
  36. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  37. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/snapshot_events.py +0 -0
  38. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/storage_events.py +0 -0
  39. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/tasks_controller.py +0 -0
  40. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/controllers/tasks_events.py +0 -0
  41. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/kv_store.py +0 -0
  42. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/mgmt_node_ops.py +0 -0
  43. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/__init__.py +0 -0
  44. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/base_model.py +0 -0
  45. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/caching_node.py +0 -0
  46. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/cluster.py +0 -0
  47. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/compute_node.py +0 -0
  48. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/deployer.py +0 -0
  49. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/events.py +0 -0
  50. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/global_settings.py +0 -0
  51. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/iface.py +0 -0
  52. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/job_schedule.py +0 -0
  53. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/lvol_model.py +0 -0
  54. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/mgmt_node.py +0 -0
  55. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/nvme_device.py +0 -0
  56. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/pool.py +0 -0
  57. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/port_stat.py +0 -0
  58. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/snapshot.py +0 -0
  59. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/stats.py +0 -0
  60. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/models/storage_node.py +0 -0
  61. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/pci_utils.py +0 -0
  62. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/__init__.py +0 -0
  63. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  64. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  65. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  66. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/config_docker.sh +0 -0
  67. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboard.yml +0 -0
  68. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  69. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  70. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  71. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  72. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  73. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  74. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/datasource.yml +0 -0
  75. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/db_config_double.sh +0 -0
  76. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/db_config_single.sh +0 -0
  77. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  78. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  79. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  80. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/haproxy.cfg +0 -0
  81. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/install_deps.sh +0 -0
  82. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/objstore.yml +0 -0
  83. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/prometheus.yml +0 -0
  84. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/run_ssh.sh +0 -0
  85. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/set_db_config.sh +0 -0
  86. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  87. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/__init__.py +0 -0
  88. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  89. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/caching_node_monitor.py +0 -0
  90. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/cap_monitor.py +0 -0
  91. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  92. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/device_monitor.py +0 -0
  93. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/distr_event_collector.py +0 -0
  94. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  100. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/new_device_discovery.py +0 -0
  101. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/port_stat_collector.py +0 -0
  102. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/remove_service.sh +0 -0
  103. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/service_template.service +0 -0
  104. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/storage_node_monitor.py +0 -0
  105. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  106. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  107. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  108. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  109. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  110. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/shell_utils.py +0 -0
  111. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/snode_client.py +0 -0
  112. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_core/utils.py +0 -0
  113. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/__init__.py +0 -0
  114. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/app.py +0 -0
  115. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/auth_middleware.py +0 -0
  116. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/__init__.py +0 -0
  117. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  118. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  119. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  120. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  121. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  122. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/snode_ops.py +0 -0
  123. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  124. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  125. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  126. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  127. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_device.py +0 -0
  128. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  129. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  130. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  131. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  132. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  133. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/caching_node_app.py +0 -0
  134. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/caching_node_app_k8s.py +0 -0
  135. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/node_utils.py +0 -0
  136. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/node_webapp.py +0 -0
  137. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/snode_app.py +0 -0
  138. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/snode_app_k8s.py +0 -0
  139. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/delete.py +0 -0
  140. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/deploy.py +0 -0
  141. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  142. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  143. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/is_up.py +0 -0
  144. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/list_deps.py +0 -0
  145. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/rpac.yaml +0 -0
  146. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/static/tst.py +0 -0
  147. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  148. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-3.8.41 → sbcli_dev-3.8.43}/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.41
3
+ Version: 3.8.43
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.41
2
+ SIMPLY_BLOCK_VERSION=3.8.43
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.41
3
+ Version: 3.8.43
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -59,7 +59,7 @@ TASK_EXEC_RETRY_COUNT = 8
59
59
 
60
60
  SIMPLY_BLOCK_SPDK_CORE_IMAGE = "simplyblock/spdk-core:latest"
61
61
  SIMPLY_BLOCK_SPDK_CORE_IMAGE_ARM64 = "simplyblock/spdk-core:latest-arm64"
62
- SIMPLY_BLOCK_SPDK_ULTRA_IMAGE = "simplyblock/spdk:348-temp-migration-2-latest"
62
+ SIMPLY_BLOCK_SPDK_ULTRA_IMAGE = "simplyblock/spdk:main-latest"
63
63
  SIMPLY_BLOCK_SPDK_ULTRA_IMAGE_JM = "simplyblock/spdk:feature-journal-ha-latest"
64
64
 
65
65
  GELF_PORT = 12201
@@ -74,7 +74,8 @@ def disconnect_device(device):
74
74
  def get_distr_cluster_map(snodes, target_node):
75
75
  map_cluster = {}
76
76
  map_prob = []
77
- for snode in snodes:
77
+ local_node_index = 0
78
+ for index, snode in enumerate(snodes):
78
79
  dev_map = {}
79
80
  dev_w_map = []
80
81
  node_w = 0
@@ -88,6 +89,7 @@ def get_distr_cluster_map(snodes, target_node):
88
89
  if snode.get_id() == target_node.get_id():
89
90
  name = dev.alceml_bdev
90
91
  dev_status = dev.status
92
+ local_node_index = index
91
93
  else:
92
94
  for dev2 in target_node.remote_devices:
93
95
  if dev2.get_id() == dev.get_id():
@@ -118,7 +120,8 @@ def get_distr_cluster_map(snodes, target_node):
118
120
  "UUID_node_target": "",
119
121
  "timestamp": datetime.datetime.now().isoformat("T", "seconds")+'Z',
120
122
  "map_cluster": map_cluster,
121
- "map_prob": map_prob
123
+ "map_prob": map_prob,
124
+ 'ppln1': local_node_index
122
125
  }
123
126
  return cl_map
124
127
 
@@ -385,10 +385,11 @@ class RPCClient:
385
385
  "block_size": block_size,
386
386
  "chunk_size": chunk_size,
387
387
  "pba_page_size": pba_page_size,
388
- "ha_is_non_leader": ha_is_non_leader,
389
388
  }
390
389
  if jm_vuid > 0:
391
390
  params["jm_vuid"] = jm_vuid
391
+ params["ha_is_non_leader"] = ha_is_non_leader
392
+
392
393
  if ha_comm_addrs:
393
394
  params['ha_comm_addrs'] = ha_comm_addrs
394
395
  params['ha_inode_self'] = ha_inode_self
@@ -3,7 +3,7 @@ import threading
3
3
  import time
4
4
 
5
5
 
6
- from simplyblock_core import constants, kv_store, utils, rpc_client
6
+ from simplyblock_core import constants, kv_store, utils, rpc_client, distr_controller
7
7
  from simplyblock_core.controllers import events_controller, device_controller, lvol_events
8
8
  from simplyblock_core.models.lvol_model import LVol
9
9
 
@@ -25,7 +25,6 @@ def process_device_event(event):
25
25
  storage_id = event.storage_id
26
26
 
27
27
  device = None
28
- device_node = None
29
28
  for node in db_controller.get_storage_nodes():
30
29
  for dev in node.nvme_devices:
31
30
  if dev.cluster_device_order == storage_id:
@@ -35,7 +34,6 @@ def process_device_event(event):
35
34
  return
36
35
 
37
36
  device = dev
38
- device_node = node
39
37
  break
40
38
 
41
39
  if not device:
@@ -44,32 +42,36 @@ def process_device_event(event):
44
42
  return
45
43
 
46
44
  device_id = device.get_id()
47
- if event.message == 'SPDK_BDEV_EVENT_REMOVE':
48
- if device.node_id == node_id:
49
- logger.info(f"Removing storage id: {storage_id} from node: {node_id}")
50
- device_controller.device_remove(device_id)
51
- else:
52
- logger.info(f"Removing remote storage id: {storage_id} from node: {node_id}")
53
- new_remote_devices = []
54
- rpc_client = RPCClient(device_node.mgmt_ip, device_node.rpc_port,
55
- device_node.rpc_username, device_node.rpc_password)
56
- for rem_dev in device_node.remote_devices:
57
- if rem_dev.get_id() == device.get_id():
58
- ctrl_name = rem_dev.remote_bdev[:-2]
59
- rpc_client.bdev_nvme_detach_controller(ctrl_name)
60
- else:
61
- new_remote_devices.append(rem_dev)
62
- device_node.remote_devices = new_remote_devices
63
- device_node.write_to_db(db_controller.kv_store)
64
-
65
- elif event.message in ['error_write', 'error_unmap']:
66
- logger.info(f"Setting device to read-only")
67
- device_controller.device_set_io_error(device_id, True)
68
- device_controller.device_set_read_only(device_id)
45
+ node = db_controller.get_storage_node_by_id(node_id)
46
+ if device.node_id != node_id:
47
+ logger.info(f"Removing remote storage id: {storage_id} from node: {node_id}")
48
+ new_remote_devices = []
49
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port,
50
+ node.rpc_username, node.rpc_password)
51
+ for rem_dev in node.remote_devices:
52
+ if rem_dev.get_id() == device.get_id():
53
+ ctrl_name = rem_dev.remote_bdev[:-2]
54
+ rpc_client.bdev_nvme_detach_controller(ctrl_name)
55
+ else:
56
+ new_remote_devices.append(rem_dev)
57
+ node.remote_devices = new_remote_devices
58
+ node.write_to_db(db_controller.kv_store)
59
+ distr_controller.send_cluster_map_to_node(node)
60
+
69
61
  else:
70
- logger.info(f"Setting device to unavailable")
71
- device_controller.device_set_io_error(device_id, True)
72
- device_controller.device_set_unavailable(device_id)
62
+ if event.message == 'SPDK_BDEV_EVENT_REMOVE':
63
+ if device.node_id == node_id:
64
+ logger.info(f"Removing storage id: {storage_id} from node: {node_id}")
65
+ device_controller.device_remove(device_id)
66
+
67
+ elif event.message in ['error_write', 'error_unmap']:
68
+ logger.info(f"Setting device to read-only")
69
+ device_controller.device_set_io_error(device_id, True)
70
+ device_controller.device_set_read_only(device_id)
71
+ else:
72
+ logger.info(f"Setting device to unavailable")
73
+ device_controller.device_set_io_error(device_id, True)
74
+ device_controller.device_set_unavailable(device_id)
73
75
 
74
76
  event.status = 'processed'
75
77
 
@@ -2678,7 +2678,7 @@ def _create_bdev_stack(snode, lvstore_stack=None):
2678
2678
  else:
2679
2679
  if created_bdevs:
2680
2680
  # rollback
2681
- _remove_bdev_stack(created_bdevs, rpc_client)
2681
+ _remove_bdev_stack(created_bdevs[::-1], rpc_client)
2682
2682
  return False, f"Failed to create BDev: {name}"
2683
2683
 
2684
2684
  return True, None
File without changes
File without changes
File without changes
File without changes