sbcli-dev 3.8.46__zip → 3.8.48__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.46 → sbcli_dev-3.8.48}/PKG-INFO +1 -1
  2. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/env_var +1 -1
  3. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/constants.py +0 -1
  5. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/health_controller.py +3 -3
  6. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/distr_controller.py +5 -5
  7. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/storage_node_monitor.py +8 -17
  8. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/tasks_runner_failed_migration.py +8 -1
  9. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/tasks_runner_migration.py +10 -2
  10. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/tasks_runner_new_dev_migration.py +6 -1
  11. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/storage_node_ops.py +1 -1
  12. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/README.md +0 -0
  13. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/pyproject.toml +0 -0
  14. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  15. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  16. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/sbcli_dev.egg-info/entry_points.txt +0 -0
  17. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/sbcli_dev.egg-info/requires.txt +0 -0
  18. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/sbcli_dev.egg-info/top_level.txt +0 -0
  19. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/setup.cfg +0 -0
  20. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/setup.py +0 -0
  21. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_cli/cli.py +0 -0
  22. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_cli/main.py +0 -0
  23. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/__init__.py +0 -0
  24. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/cluster_ops.py +0 -0
  25. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/cnode_client.py +0 -0
  26. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/compute_node_ops.py +0 -0
  27. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/__init__.py +0 -0
  28. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  29. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/cluster_events.py +0 -0
  30. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/device_controller.py +0 -0
  31. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/device_events.py +0 -0
  32. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/events_controller.py +0 -0
  33. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/lvol_controller.py +0 -0
  34. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/lvol_events.py +0 -0
  35. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/mgmt_events.py +0 -0
  36. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/pool_controller.py +0 -0
  37. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/pool_events.py +0 -0
  38. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  39. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/snapshot_events.py +0 -0
  40. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/storage_events.py +0 -0
  41. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/tasks_controller.py +0 -0
  42. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/controllers/tasks_events.py +0 -0
  43. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/kv_store.py +0 -0
  44. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/mgmt_node_ops.py +0 -0
  45. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/__init__.py +0 -0
  46. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/base_model.py +0 -0
  47. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/caching_node.py +0 -0
  48. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/cluster.py +0 -0
  49. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/compute_node.py +0 -0
  50. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/deployer.py +0 -0
  51. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/events.py +0 -0
  52. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/global_settings.py +0 -0
  53. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/iface.py +0 -0
  54. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/job_schedule.py +0 -0
  55. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/lvol_model.py +0 -0
  56. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/mgmt_node.py +0 -0
  57. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/nvme_device.py +0 -0
  58. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/pool.py +0 -0
  59. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/port_stat.py +0 -0
  60. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/snapshot.py +0 -0
  61. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/stats.py +0 -0
  62. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/models/storage_node.py +0 -0
  63. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/pci_utils.py +0 -0
  64. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/rpc_client.py +0 -0
  65. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/__init__.py +0 -0
  66. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  67. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  68. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  69. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/config_docker.sh +0 -0
  70. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboard.yml +0 -0
  71. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  72. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  73. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  74. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  75. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  76. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  77. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/datasource.yml +0 -0
  78. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/db_config_double.sh +0 -0
  79. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/db_config_single.sh +0 -0
  80. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  81. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  82. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  83. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/haproxy.cfg +0 -0
  84. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/install_deps.sh +0 -0
  85. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/objstore.yml +0 -0
  86. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/prometheus.yml +0 -0
  87. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/run_ssh.sh +0 -0
  88. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/set_db_config.sh +0 -0
  89. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  90. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/__init__.py +0 -0
  91. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  92. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/caching_node_monitor.py +0 -0
  93. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/cap_monitor.py +0 -0
  94. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  95. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/device_monitor.py +0 -0
  96. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/distr_event_collector.py +0 -0
  97. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/health_check_service.py +0 -0
  98. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/install_service.sh +0 -0
  99. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/log_agg_service.py +0 -0
  100. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/lvol_monitor.py +0 -0
  101. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  102. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  103. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  104. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/new_device_discovery.py +0 -0
  105. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/port_stat_collector.py +0 -0
  106. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/remove_service.sh +0 -0
  107. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/service_template.service +0 -0
  108. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  109. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  110. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/shell_utils.py +0 -0
  111. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/snode_client.py +0 -0
  112. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_core/utils.py +0 -0
  113. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/__init__.py +0 -0
  114. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/app.py +0 -0
  115. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/auth_middleware.py +0 -0
  116. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/__init__.py +0 -0
  117. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  118. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  119. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  120. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  121. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  122. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/snode_ops.py +0 -0
  123. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  124. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  125. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  126. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  127. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_device.py +0 -0
  128. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  129. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  130. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  131. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  132. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  133. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/caching_node_app.py +0 -0
  134. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/caching_node_app_k8s.py +0 -0
  135. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/node_utils.py +0 -0
  136. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/node_webapp.py +0 -0
  137. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/snode_app.py +0 -0
  138. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/snode_app_k8s.py +0 -0
  139. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/delete.py +0 -0
  140. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/deploy.py +0 -0
  141. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  142. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  143. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/is_up.py +0 -0
  144. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/list_deps.py +0 -0
  145. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/rpac.yaml +0 -0
  146. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/static/tst.py +0 -0
  147. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  148. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-3.8.46 → sbcli_dev-3.8.48}/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.46
3
+ Version: 3.8.48
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.46
2
+ SIMPLY_BLOCK_VERSION=3.8.48
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.46
3
+ Version: 3.8.48
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -58,7 +58,6 @@ TASK_EXEC_INTERVAL_SEC = 30
58
58
  TASK_EXEC_RETRY_COUNT = 8
59
59
 
60
60
  SIMPLY_BLOCK_SPDK_CORE_IMAGE = "simplyblock/spdk-core:latest"
61
- SIMPLY_BLOCK_SPDK_CORE_IMAGE_ARM64 = "simplyblock/spdk-core:latest-arm64"
62
61
  SIMPLY_BLOCK_SPDK_ULTRA_IMAGE = "simplyblock/spdk:main-latest"
63
62
  SIMPLY_BLOCK_SPDK_ULTRA_IMAGE_JM = "simplyblock/spdk:feature-journal-ha-latest"
64
63
 
@@ -66,11 +66,11 @@ def _check_node_docker_api(ip):
66
66
  # return False
67
67
 
68
68
 
69
- def _check_node_rpc(rpc_ip, rpc_port, rpc_username, rpc_password):
69
+ def _check_node_rpc(rpc_ip, rpc_port, rpc_username, rpc_password, timeout=60, retry=3):
70
70
  try:
71
71
  rpc_client = RPCClient(
72
72
  rpc_ip, rpc_port, rpc_username, rpc_password,
73
- timeout=60, retry=3)
73
+ timeout=timeout, retry=retry)
74
74
  ret = rpc_client.get_version()
75
75
  if ret:
76
76
  logger.debug(f"SPDK version: {ret['version']}")
@@ -319,7 +319,7 @@ def check_remote_device(device_id):
319
319
  if node.get_id() == snode.get_id():
320
320
  continue
321
321
  logger.info(f"Connecting to node: {node.get_id()}")
322
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
322
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=5, retry=1)
323
323
  name = f"remote_{device.alceml_bdev}n1"
324
324
  ret = rpc_client.get_bdevs(name)
325
325
  if ret:
@@ -27,7 +27,7 @@ def send_node_status_event(node, node_status):
27
27
  if node.status != node.STATUS_ONLINE:
28
28
  continue
29
29
  logger.info(f"Sending to: {node.get_id()}")
30
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
30
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=5, retry=1)
31
31
  ret = rpc_client.distr_status_events_update(events)
32
32
 
33
33
 
@@ -47,7 +47,7 @@ def send_dev_status_event(device, dev_status):
47
47
  if node.status != node.STATUS_ONLINE:
48
48
  continue
49
49
  logger.info(f"Sending to: {node.get_id()}")
50
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
50
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=5, retry=1)
51
51
  ret = rpc_client.distr_status_events_update(events)
52
52
  if not ret:
53
53
  logger.warning("Failed to send event update")
@@ -60,7 +60,7 @@ def disconnect_device(device):
60
60
  if node.status != node.STATUS_ONLINE:
61
61
  continue
62
62
  new_remote_devices = []
63
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
63
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=5, retry=1)
64
64
  for rem_dev in node.remote_devices:
65
65
  if rem_dev.get_id() == device.get_id():
66
66
  ctrl_name = rem_dev.remote_bdev[:-2]
@@ -186,7 +186,7 @@ def parse_distr_cluster_map(map_string):
186
186
  def send_cluster_map_to_node(node):
187
187
  db_controller = DBController()
188
188
  snodes = db_controller.get_storage_nodes_by_cluster_id(node.cluster_id)
189
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
189
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=5, retry=1)
190
190
  cluster_map_data = get_distr_cluster_map(snodes, node)
191
191
  cluster_map_data['UUID_node_target'] = node.get_id()
192
192
  ret = rpc_client.distr_send_cluster_map(cluster_map_data)
@@ -204,7 +204,7 @@ def send_cluster_map_add_node(snode):
204
204
  if node.status != node.STATUS_ONLINE:
205
205
  continue
206
206
  logger.info(f"Sending to: {node.get_id()}")
207
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
207
+ rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=5, retry=1)
208
208
 
209
209
  cluster_map_data = get_distr_cluster_map([snode], node)
210
210
  cl_map = {
@@ -107,20 +107,7 @@ def set_node_offline(node):
107
107
  if node.status != StorageNode.STATUS_UNREACHABLE:
108
108
  for dev in node.nvme_devices:
109
109
  device_controller.device_set_unavailable(dev.get_id())
110
-
111
- storage_node_ops.set_node_status(snode.get_id(), StorageNode.STATUS_UNREACHABLE)
112
- # add node to auto restart
113
- tasks_controller.add_node_to_auto_restart(node)
114
-
115
-
116
- def set_jm_device_status(node):
117
- if node.status != StorageNode.STATUS_UNREACHABLE:
118
- for dev in node.nvme_devices:
119
- device_controller.device_set_unavailable(dev.get_id())
120
-
121
110
  storage_node_ops.set_node_status(snode.get_id(), StorageNode.STATUS_UNREACHABLE)
122
- # add node to auto restart
123
- tasks_controller.add_node_to_auto_restart(node)
124
111
 
125
112
 
126
113
  logger.info("Starting node monitor")
@@ -152,11 +139,11 @@ while True:
152
139
  spdk_process = health_controller._check_spdk_process_up(snode.mgmt_ip)
153
140
  logger.info(f"Check: spdk process {snode.mgmt_ip}:5000 ... {spdk_process}")
154
141
 
155
- node_rpc_check = True
142
+ # node_rpc_check = True
156
143
  # 3- check node RPC
157
- # node_rpc_check = health_controller._check_node_rpc(
158
- # snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
159
- # logger.info(f"Check: node RPC {snode.mgmt_ip}:{snode.rpc_port} ... {node_rpc_check}")
144
+ node_rpc_check = health_controller._check_node_rpc(
145
+ snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=1)
146
+ logger.info(f"Check: node RPC {snode.mgmt_ip}:{snode.rpc_port} ... {node_rpc_check}")
160
147
 
161
148
  # 4- docker API
162
149
  node_docker_check = health_controller._check_node_docker_api(snode.mgmt_ip)
@@ -167,6 +154,10 @@ while True:
167
154
  set_node_online(snode)
168
155
  else:
169
156
  set_node_offline(snode)
157
+ if ping_check and node_api_check and not spdk_process:
158
+ # add node to auto restart
159
+ if cluster.status != Cluster.STATUS_UNREADY:
160
+ tasks_controller.add_node_to_auto_restart(snode)
170
161
 
171
162
  # check JM device
172
163
  if snode.jm_device:
@@ -20,7 +20,11 @@ from simplyblock_core.rpc_client import RPCClient
20
20
  def task_runner(task):
21
21
 
22
22
  snode = db_controller.get_storage_node_by_id(task.node_id)
23
- rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=2)
23
+ if not snode:
24
+ task.status = JobSchedule.STATUS_DONE
25
+ task.function_result = f"Node not found: {task.node_id}"
26
+ task.write_to_db(db_controller.kv_store)
27
+ return True
24
28
 
25
29
  if task.canceled:
26
30
  task.function_result = "canceled"
@@ -40,6 +44,8 @@ def task_runner(task):
40
44
  task.write_to_db(db_controller.kv_store)
41
45
  return False
42
46
 
47
+ rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password,
48
+ timeout=5, retry=2)
43
49
  if "migration" not in task.function_params:
44
50
  device = db_controller.get_storage_devices(task.device_id)
45
51
  distr_name = task.function_params["distr_name"]
@@ -50,6 +56,7 @@ def task_runner(task):
50
56
  task.write_to_db(db_controller.kv_store)
51
57
  return True
52
58
 
59
+
53
60
  rsp = rpc_client.distr_migration_failure_start(distr_name, device.cluster_device_order)
54
61
  if not rsp:
55
62
  logger.error(f"Failed to start device migration task, storage_ID: {device.cluster_device_order}")
@@ -17,7 +17,11 @@ from simplyblock_core.rpc_client import RPCClient
17
17
  def task_runner(task):
18
18
 
19
19
  snode = db_controller.get_storage_node_by_id(task.node_id)
20
- rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=2)
20
+ if not snode:
21
+ task.status = JobSchedule.STATUS_DONE
22
+ task.function_result = f"Node not found: {task.node_id}"
23
+ task.write_to_db(db_controller.kv_store)
24
+ return True
21
25
 
22
26
  if task.canceled:
23
27
  task.function_result = "canceled"
@@ -37,11 +41,15 @@ def task_runner(task):
37
41
  task.write_to_db(db_controller.kv_store)
38
42
  return False
39
43
 
44
+ rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password,
45
+ timeout=5, retry=2)
40
46
  if "migration" not in task.function_params:
41
47
  all_devs_online = True
42
48
  for node in db_controller.get_storage_nodes_by_cluster_id(task.cluster_id):
43
49
  for dev in node.nvme_devices:
44
- if dev.status not in [NVMeDevice.STATUS_ONLINE, NVMeDevice.STATUS_FAILED_AND_MIGRATED]:
50
+ if dev.status not in [NVMeDevice.STATUS_ONLINE,
51
+ NVMeDevice.STATUS_FAILED,
52
+ NVMeDevice.STATUS_FAILED_AND_MIGRATED]:
45
53
  all_devs_online = False
46
54
  break
47
55
 
@@ -20,7 +20,11 @@ from simplyblock_core.rpc_client import RPCClient
20
20
  def task_runner(task):
21
21
 
22
22
  snode = db_controller.get_storage_node_by_id(task.node_id)
23
- rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=2)
23
+ if not snode:
24
+ task.status = JobSchedule.STATUS_DONE
25
+ task.function_result = f"Node not found: {task.node_id}"
26
+ task.write_to_db(db_controller.kv_store)
27
+ return True
24
28
 
25
29
  if task.canceled:
26
30
  task.function_result = "canceled"
@@ -40,6 +44,7 @@ def task_runner(task):
40
44
  task.write_to_db(db_controller.kv_store)
41
45
  return False
42
46
 
47
+ rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=2)
43
48
  if "migration" not in task.function_params:
44
49
  all_devs_online = True
45
50
  for node in db_controller.get_storage_nodes_by_cluster_id(task.cluster_id):
@@ -1853,7 +1853,7 @@ def shutdown_storage_node(node_id, force=False):
1853
1853
  storage_events.snode_status_change(snode, snode.status, old_status)
1854
1854
 
1855
1855
  rpc_client = RPCClient(
1856
- snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
1856
+ snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=10, retry=1)
1857
1857
 
1858
1858
  logger.debug("Removing LVols")
1859
1859
  _remove_bdev_stack(snode.lvstore_stack, rpc_client, remove_distr_only=True)
File without changes
File without changes
File without changes
File without changes