sbcli-dev 6.3.0__tar.gz → 6.3.2__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 (152) hide show
  1. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/PKG-INFO +1 -1
  2. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/env_var +1 -1
  3. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/constants.py +2 -1
  5. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/health_controller.py +2 -1
  6. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/lvol_controller.py +4 -2
  7. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/lvol_stat_collector.py +4 -3
  8. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/new_device_discovery.py +2 -14
  9. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/storage_node_monitor.py +11 -7
  10. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/storage_node_ops.py +11 -16
  11. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/README.md +0 -0
  12. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/pyproject.toml +0 -0
  13. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  14. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  15. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/sbcli_dev.egg-info/entry_points.txt +0 -0
  16. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/sbcli_dev.egg-info/requires.txt +0 -0
  17. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/sbcli_dev.egg-info/top_level.txt +0 -0
  18. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/setup.cfg +0 -0
  19. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/setup.py +0 -0
  20. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_cli/cli.py +0 -0
  21. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_cli/main.py +0 -0
  22. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/__init__.py +0 -0
  23. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/cluster_ops.py +0 -0
  24. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/cnode_client.py +0 -0
  25. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/compute_node_ops.py +0 -0
  26. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/__init__.py +0 -0
  27. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  28. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/cluster_events.py +0 -0
  29. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/device_controller.py +0 -0
  30. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/device_events.py +0 -0
  31. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/events_controller.py +0 -0
  32. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/lvol_events.py +0 -0
  33. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/mgmt_events.py +0 -0
  34. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/pool_controller.py +0 -0
  35. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/pool_events.py +0 -0
  36. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  37. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/snapshot_events.py +0 -0
  38. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/storage_events.py +0 -0
  39. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/tasks_controller.py +0 -0
  40. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/controllers/tasks_events.py +0 -0
  41. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/distr_controller.py +0 -0
  42. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/kv_store.py +0 -0
  43. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/mgmt_node_ops.py +0 -0
  44. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/__init__.py +0 -0
  45. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/base_model.py +0 -0
  46. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/caching_node.py +0 -0
  47. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/cluster.py +0 -0
  48. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/compute_node.py +0 -0
  49. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/deployer.py +0 -0
  50. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/events.py +0 -0
  51. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/global_settings.py +0 -0
  52. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/iface.py +0 -0
  53. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/job_schedule.py +0 -0
  54. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/lvol_model.py +0 -0
  55. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/mgmt_node.py +0 -0
  56. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/nvme_device.py +0 -0
  57. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/pool.py +0 -0
  58. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/port_stat.py +0 -0
  59. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/snapshot.py +0 -0
  60. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/stats.py +0 -0
  61. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/models/storage_node.py +0 -0
  62. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/pci_utils.py +0 -0
  63. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/rpc_client.py +0 -0
  64. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/__init__.py +0 -0
  65. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  66. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  67. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  68. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/config_docker.sh +0 -0
  69. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboard.yml +0 -0
  70. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  71. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  72. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  73. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  74. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  75. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  76. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/datasource.yml +0 -0
  77. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/db_config_double.sh +0 -0
  78. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/db_config_single.sh +0 -0
  79. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  80. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  81. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  82. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  83. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/foundation.yml +0 -0
  84. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/haproxy.cfg +0 -0
  85. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/install_deps.sh +0 -0
  86. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/objstore.yml +0 -0
  87. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  88. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/prometheus.yml +0 -0
  89. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/run_ssh.sh +0 -0
  90. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/set_db_config.sh +0 -0
  91. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  92. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/__init__.py +0 -0
  93. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  94. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/caching_node_monitor.py +0 -0
  95. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/cap_monitor.py +0 -0
  96. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  97. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/device_monitor.py +0 -0
  98. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/health_check_service.py +0 -0
  99. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/install_service.sh +0 -0
  100. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/log_agg_service.py +0 -0
  101. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/lvol_monitor.py +0 -0
  102. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  103. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  104. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/port_stat_collector.py +0 -0
  105. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/remove_service.sh +0 -0
  106. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/service_template.service +0 -0
  107. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  108. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  109. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  110. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  111. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  112. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  113. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/shell_utils.py +0 -0
  114. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/snode_client.py +0 -0
  115. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_core/utils.py +0 -0
  116. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/__init__.py +0 -0
  117. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/app.py +0 -0
  118. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/auth_middleware.py +0 -0
  119. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/__init__.py +0 -0
  120. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  121. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  122. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  123. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  124. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  125. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/snode_ops.py +0 -0
  126. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  127. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  128. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  129. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  130. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_device.py +0 -0
  131. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  132. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  133. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  134. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  135. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  136. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/caching_node_app.py +0 -0
  137. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/caching_node_app_k8s.py +0 -0
  138. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/node_utils.py +0 -0
  139. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/node_webapp.py +0 -0
  140. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/snode_app.py +0 -0
  141. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/snode_app_k8s.py +0 -0
  142. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/delete.py +0 -0
  143. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/deploy.py +0 -0
  144. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  145. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  146. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/is_up.py +0 -0
  147. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/list_deps.py +0 -0
  148. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/rpac.yaml +0 -0
  149. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/static/tst.py +0 -0
  150. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  151. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  152. {sbcli_dev-6.3.0 → sbcli_dev-6.3.2}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 6.3.0
3
+ Version: 6.3.2
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=6.3.0
2
+ SIMPLY_BLOCK_VERSION=6.3.2
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: 6.3.0
3
+ Version: 6.3.2
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -108,5 +108,6 @@ SPDK_PROXY_MULTI_THREADING_ENABLED=True
108
108
  SPDK_PROXY_TIMEOUT=60*5
109
109
  LVOL_NVME_CONNECT_RECONNECT_DELAY=3
110
110
  LVOL_NVME_CONNECT_CTRL_LOSS_TMO=-1
111
- QPAIR_COUNT=20
111
+ LVOL_NVME_CONNECT_NR_IO_QUEUES=6
112
+ QPAIR_COUNT=32
112
113
  NVME_TIMEOUT_US=20000000
@@ -276,7 +276,8 @@ def check_node(node_id, with_devices=True):
276
276
 
277
277
  if snode.secondary_node_id:
278
278
  second_node_1 = db_controller.get_storage_node_by_id(snode.secondary_node_id)
279
- lvstore_check &= _check_node_lvstore(lvstore_stack, second_node_1)
279
+ if second_node_1.status == StorageNode.STATUS_ONLINE:
280
+ lvstore_check &= _check_node_lvstore(lvstore_stack, second_node_1)
280
281
 
281
282
  if snode.is_secondary_node:
282
283
  for node in db_controller.get_storage_nodes():
@@ -1099,9 +1099,11 @@ def connect_lvol(uuid):
1099
1099
  "nqn": lvol.nqn,
1100
1100
  "reconnect-delay": constants.LVOL_NVME_CONNECT_RECONNECT_DELAY,
1101
1101
  "ctrl-loss-tmo": constants.LVOL_NVME_CONNECT_CTRL_LOSS_TMO,
1102
+ "nr-io-queues": constants.LVOL_NVME_CONNECT_NR_IO_QUEUES,
1102
1103
  "connect": f"sudo nvme connect --reconnect-delay={constants.LVOL_NVME_CONNECT_RECONNECT_DELAY} "
1103
- f"--ctrl-loss-tmo={constants.LVOL_NVME_CONNECT_CTRL_LOSS_TMO} --transport={transport} "
1104
- f"--traddr={ip} --trsvcid={port} --nqn={lvol.nqn}",
1104
+ f"--ctrl-loss-tmo={constants.LVOL_NVME_CONNECT_CTRL_LOSS_TMO} "
1105
+ f"--nr-io-queues={constants.LVOL_NVME_CONNECT_NR_IO_QUEUES} "
1106
+ f"--transport={transport} --traddr={ip} --trsvcid={port} --nqn={lvol.nqn}",
1105
1107
  })
1106
1108
  return out
1107
1109
 
@@ -1,10 +1,10 @@
1
1
  # coding=utf-8
2
2
  import time
3
- from email.policy import default
4
3
 
5
4
  from simplyblock_core import constants, kv_store, utils
6
5
  from simplyblock_core.controllers import lvol_events
7
6
  from simplyblock_core.models.stats import LVolStatObject, PoolStatObject
7
+ from simplyblock_core.models.storage_node import StorageNode
8
8
  from simplyblock_core.rpc_client import RPCClient
9
9
 
10
10
 
@@ -210,12 +210,13 @@ while True:
210
210
  hosts=[lvol.node_id]
211
211
  for host in hosts:
212
212
  snode = db_controller.get_storage_node_by_id(host)
213
+ if snode.status != StorageNode.STATUS_ONLINE:
214
+ continue
213
215
  rpc_client = RPCClient(
214
216
  snode.mgmt_ip, snode.rpc_port,
215
217
  snode.rpc_username, snode.rpc_password,
216
218
  timeout=1, retry=2)
217
-
218
- logger.info("Getting lVol stats: %s", lvol.uuid)
219
+ logger.info("Getting lVol stats: %s from node: %s", lvol.uuid, host)
219
220
  stats_dict = rpc_client.get_lvol_stats(lvol.top_bdev)
220
221
  if stats_dict and stats_dict['bdevs']:
221
222
  stats.append( stats_dict['bdevs'][0])
@@ -1,25 +1,13 @@
1
1
  # coding=utf-8
2
- import logging
3
2
  import time
4
- import sys
5
3
 
6
- from simplyblock_core import constants, kv_store, storage_node_ops
4
+ from simplyblock_core import constants, kv_store, storage_node_ops, utils
7
5
  from simplyblock_core.models.nvme_device import NVMeDevice
8
6
  from simplyblock_core.models.storage_node import StorageNode
9
7
 
10
- # Import the GELF logger
11
- from graypy import GELFTCPHandler
12
-
13
8
  from simplyblock_core.snode_client import SNodeClient
14
9
 
15
- # configure logging
16
- logger_handler = logging.StreamHandler(stream=sys.stdout)
17
- logger_handler.setFormatter(logging.Formatter('%(asctime)s: %(levelname)s: %(message)s'))
18
- gelf_handler = GELFTCPHandler('0.0.0.0', constants.GELF_PORT)
19
- logger = logging.getLogger()
20
- logger.addHandler(gelf_handler)
21
- logger.addHandler(logger_handler)
22
- logger.setLevel(logging.DEBUG)
10
+ logger = utils.get_logger(__name__)
23
11
 
24
12
  # get DB controller
25
13
  db_store = kv_store.KVStore()
@@ -182,8 +182,8 @@ def update_cluster_status(cluster_id):
182
182
  def set_node_online(node):
183
183
  if node.status != StorageNode.STATUS_ONLINE:
184
184
 
185
- if not node.is_secondary_node and node.status == StorageNode.STATUS_UNREACHABLE and node.lvol:
186
- if cluster.status in [Cluster.STATUS_ACTIVE, Cluster.STATUS_DEGRADED, Cluster.STATUS_SUSPENDED]:
185
+ if not node.is_secondary_node and node.status == StorageNode.STATUS_UNREACHABLE and node.lvols and \
186
+ cluster.status in [Cluster.STATUS_ACTIVE, Cluster.STATUS_DEGRADED, Cluster.STATUS_SUSPENDED]:
187
187
  tasks_controller.add_node_to_auto_restart(node)
188
188
  return
189
189
 
@@ -262,13 +262,17 @@ while True:
262
262
  if snode.status == StorageNode.STATUS_SCHEDULABLE and not ping_check and not node_api_check:
263
263
  continue
264
264
 
265
- # 3- check spdk_process
266
- spdk_process = health_controller._check_spdk_process_up(snode.mgmt_ip)
265
+ spdk_process = False
266
+ if node_api_check:
267
+ # 3- check spdk_process
268
+ spdk_process = health_controller._check_spdk_process_up(snode.mgmt_ip)
267
269
  logger.info(f"Check: spdk process {snode.mgmt_ip}:5000 ... {spdk_process}")
268
270
 
269
- # 4- check rpc
270
- node_rpc_check = health_controller._check_node_rpc(
271
- snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
271
+ node_rpc_check = False
272
+ if spdk_process:
273
+ # 4- check rpc
274
+ node_rpc_check = health_controller._check_node_rpc(
275
+ snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
272
276
  logger.info(f"Check: node RPC {snode.mgmt_ip}:{snode.rpc_port} ... {node_rpc_check}")
273
277
 
274
278
  is_node_online = ping_check and node_api_check and spdk_process and node_rpc_check
@@ -1255,14 +1255,11 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
1255
1255
  logger.error("Failed to set nvme options")
1256
1256
  return False
1257
1257
 
1258
- qpair = min(max(len(db_controller.get_storage_nodes_by_cluster_id(cluster_id)), 5) * snode.number_of_distribs, constants.QPAIR_COUNT)
1259
- if is_secondary_node:
1260
- qpair *= 2
1261
-
1258
+ qpair = cluster.qpair_count
1262
1259
  ret = rpc_client.transport_create("TCP", qpair)
1263
1260
  if not ret:
1264
1261
  logger.error(f"Failed to create transport TCP with qpair: {qpair}")
1265
- # return False
1262
+ return False
1266
1263
 
1267
1264
  # 7- set jc singleton mask
1268
1265
  if snode.jc_singleton_mask:
@@ -1756,15 +1753,11 @@ def restart_storage_node(
1756
1753
  logger.error("Failed to set nvme options")
1757
1754
  return False
1758
1755
 
1759
- qpair = max(max(len(db_controller.get_storage_nodes_by_cluster_id(snode.cluster_id)), 5) * snode.number_of_distribs,
1760
- constants.QPAIR_COUNT)
1761
- if snode.is_secondary_node:
1762
- qpair *= 2
1763
-
1756
+ qpair = cluster.qpair_count
1764
1757
  ret = rpc_client.transport_create("TCP", qpair)
1765
1758
  if not ret:
1766
1759
  logger.error(f"Failed to create transport TCP with qpair: {qpair}")
1767
- # return False
1760
+ return False
1768
1761
 
1769
1762
  # 7- set jc singleton mask
1770
1763
  if snode.jc_singleton_mask:
@@ -2971,7 +2964,7 @@ def recreate_lvstore(snode):
2971
2964
  lvol.health_check = True
2972
2965
  lvol.write_to_db(db_controller.kv_store)
2973
2966
 
2974
- time.sleep(2)
2967
+ time.sleep(10)
2975
2968
 
2976
2969
  if sec_node and sec_node.status == StorageNode.STATUS_ONLINE:
2977
2970
  sec_rpc_client = RPCClient(sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password, timeout=3, retry=2)
@@ -3273,10 +3266,8 @@ def get_cluster_map(node_id):
3273
3266
  return False
3274
3267
 
3275
3268
  distribs_list = []
3276
- nodes = []
3277
-
3269
+ nodes = [snode]
3278
3270
  if snode.is_secondary_node:
3279
- nodes = [snode]
3280
3271
  for node in db_controller.get_storage_nodes():
3281
3272
  if node.secondary_node_id == snode.get_id():
3282
3273
  for bdev in node.lvstore_stack:
@@ -3285,7 +3276,11 @@ def get_cluster_map(node_id):
3285
3276
  distribs_list.extend(bdev["distribs_list"])
3286
3277
 
3287
3278
  else:
3288
- nodes = [snode, db_controller.get_storage_node_by_id(snode.secondary_node_id)]
3279
+ if snode.secondary_node_id:
3280
+ sec = db_controller.get_storage_node_by_id(snode.secondary_node_id)
3281
+ if sec:
3282
+ nodes.append(sec)
3283
+
3289
3284
  for bdev in snode.lvstore_stack:
3290
3285
  type = bdev['type']
3291
3286
  if type == "bdev_raid":
File without changes
File without changes
File without changes
File without changes