sbcli-dev 3.8.50__zip → 3.8.51__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.50 → sbcli_dev-3.8.51}/PKG-INFO +1 -1
  2. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/env_var +1 -1
  3. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/distr_controller.py +5 -2
  5. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/storage_node_monitor.py +36 -33
  6. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/utils.py +1 -1
  7. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/README.md +0 -0
  8. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/pyproject.toml +0 -0
  9. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  10. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  11. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/sbcli_dev.egg-info/entry_points.txt +0 -0
  12. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/sbcli_dev.egg-info/requires.txt +0 -0
  13. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/sbcli_dev.egg-info/top_level.txt +0 -0
  14. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/setup.cfg +0 -0
  15. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/setup.py +0 -0
  16. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_cli/cli.py +0 -0
  17. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_cli/main.py +0 -0
  18. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/__init__.py +0 -0
  19. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/cluster_ops.py +0 -0
  20. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/cnode_client.py +0 -0
  21. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/compute_node_ops.py +0 -0
  22. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/constants.py +0 -0
  23. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/__init__.py +0 -0
  24. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  25. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/cluster_events.py +0 -0
  26. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/device_controller.py +0 -0
  27. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/device_events.py +0 -0
  28. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/events_controller.py +0 -0
  29. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/health_controller.py +0 -0
  30. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/lvol_controller.py +0 -0
  31. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/lvol_events.py +0 -0
  32. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/mgmt_events.py +0 -0
  33. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/pool_controller.py +0 -0
  34. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/pool_events.py +0 -0
  35. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  36. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/snapshot_events.py +0 -0
  37. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/storage_events.py +0 -0
  38. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/tasks_controller.py +0 -0
  39. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/controllers/tasks_events.py +0 -0
  40. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/kv_store.py +0 -0
  41. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/mgmt_node_ops.py +0 -0
  42. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/__init__.py +0 -0
  43. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/base_model.py +0 -0
  44. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/caching_node.py +0 -0
  45. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/cluster.py +0 -0
  46. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/compute_node.py +0 -0
  47. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/deployer.py +0 -0
  48. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/events.py +0 -0
  49. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/global_settings.py +0 -0
  50. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/iface.py +0 -0
  51. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/job_schedule.py +0 -0
  52. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/lvol_model.py +0 -0
  53. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/mgmt_node.py +0 -0
  54. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/nvme_device.py +0 -0
  55. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/pool.py +0 -0
  56. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/port_stat.py +0 -0
  57. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/snapshot.py +0 -0
  58. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/stats.py +0 -0
  59. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/models/storage_node.py +0 -0
  60. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/pci_utils.py +0 -0
  61. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/rpc_client.py +0 -0
  62. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/__init__.py +0 -0
  63. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  64. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  65. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  66. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/config_docker.sh +0 -0
  67. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboard.yml +0 -0
  68. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  69. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  70. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  71. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  72. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  73. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  74. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/datasource.yml +0 -0
  75. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/db_config_double.sh +0 -0
  76. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/db_config_single.sh +0 -0
  77. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  78. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  79. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  80. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/haproxy.cfg +0 -0
  81. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/install_deps.sh +0 -0
  82. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/objstore.yml +0 -0
  83. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/prometheus.yml +0 -0
  84. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/run_ssh.sh +0 -0
  85. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/set_db_config.sh +0 -0
  86. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  87. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/__init__.py +0 -0
  88. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  89. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/caching_node_monitor.py +0 -0
  90. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/cap_monitor.py +0 -0
  91. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  92. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/device_monitor.py +0 -0
  93. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/distr_event_collector.py +0 -0
  94. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  100. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  101. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/new_device_discovery.py +0 -0
  102. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/port_stat_collector.py +0 -0
  103. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  106. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  107. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  108. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  109. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  110. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/shell_utils.py +0 -0
  111. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/snode_client.py +0 -0
  112. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_core/storage_node_ops.py +0 -0
  113. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/__init__.py +0 -0
  114. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/app.py +0 -0
  115. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/auth_middleware.py +0 -0
  116. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/__init__.py +0 -0
  117. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  118. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  119. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  120. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  121. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  122. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/snode_ops.py +0 -0
  123. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  124. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  125. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  126. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  127. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_device.py +0 -0
  128. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  129. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  130. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  131. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  132. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  133. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/caching_node_app.py +0 -0
  134. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/caching_node_app_k8s.py +0 -0
  135. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/node_utils.py +0 -0
  136. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/node_webapp.py +0 -0
  137. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/snode_app.py +0 -0
  138. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/snode_app_k8s.py +0 -0
  139. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/delete.py +0 -0
  140. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/deploy.py +0 -0
  141. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  142. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  143. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/is_up.py +0 -0
  144. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/list_deps.py +0 -0
  145. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/rpac.yaml +0 -0
  146. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/static/tst.py +0 -0
  147. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  148. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-3.8.50 → sbcli_dev-3.8.51}/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.50
3
+ Version: 3.8.51
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.50
2
+ SIMPLY_BLOCK_VERSION=3.8.51
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.50
3
+ Version: 3.8.51
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -151,8 +151,11 @@ def parse_distr_cluster_map(map_string):
151
151
  }
152
152
  nd = db_controller.get_storage_node_by_id(node_id)
153
153
  if nd:
154
- data["Actual Status"] = nd.status
155
- if nd.status == status:
154
+ node_status = nd.status
155
+ if node_status == StorageNode.STATUS_SCHEDULABLE:
156
+ node_status = StorageNode.STATUS_UNREACHABLE
157
+ data["Actual Status"] = node_status
158
+ if node_status == status:
156
159
  data["Results"] = "ok"
157
160
  else:
158
161
  data["Results"] = "failed"
@@ -130,26 +130,44 @@ while True:
130
130
  # 1- check node ping
131
131
  ping_check = health_controller._check_node_ping(snode.mgmt_ip)
132
132
  logger.info(f"Check: ping mgmt ip {snode.mgmt_ip} ... {ping_check}")
133
+ if not ping_check:
134
+ time.sleep(1)
135
+ ping_check = health_controller._check_node_ping(snode.mgmt_ip)
136
+ logger.info(f"Check 2: ping mgmt ip {snode.mgmt_ip} ... {ping_check}")
133
137
 
134
138
  # 2- check node API
135
- node_api_check = health_controller._check_node_api(snode.mgmt_ip)
136
- logger.info(f"Check: node API {snode.mgmt_ip}:5000 ... {node_api_check}")
137
-
138
- # 3- check spdk_process
139
- spdk_process = health_controller._check_spdk_process_up(snode.mgmt_ip)
140
- logger.info(f"Check: spdk process {snode.mgmt_ip}:5000 ... {spdk_process}")
141
-
142
- # node_rpc_check = True
143
- # 3- check node RPC
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}")
147
-
148
- # 4- docker API
149
- node_docker_check = health_controller._check_node_docker_api(snode.mgmt_ip)
150
- logger.info(f"Check: node docker API {snode.mgmt_ip}:2375 ... {node_docker_check}")
151
-
152
- is_node_online = ping_check and node_api_check and node_rpc_check and node_docker_check and spdk_process
139
+ node_api_check = False
140
+ spdk_process = False
141
+ node_rpc_check = False
142
+ if ping_check:
143
+ node_api_check = health_controller._check_node_api(snode.mgmt_ip)
144
+ logger.info(f"Check: node API {snode.mgmt_ip}:5000 ... {node_api_check}")
145
+
146
+ # 3- check spdk_process
147
+ spdk_process = health_controller._check_spdk_process_up(snode.mgmt_ip)
148
+ logger.info(f"Check: spdk process {snode.mgmt_ip}:5000 ... {spdk_process}")
149
+
150
+ # node_rpc_check = True
151
+ # 3- check node RPC
152
+ node_rpc_check = health_controller._check_node_rpc(
153
+ snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=1)
154
+ logger.info(f"Check: node RPC {snode.mgmt_ip}:{snode.rpc_port} ... {node_rpc_check}")
155
+
156
+ # check JM device
157
+ if snode.jm_device:
158
+ if snode.jm_device.status in [JMDevice.STATUS_ONLINE, JMDevice.STATUS_UNAVAILABLE]:
159
+ ret = health_controller.check_jm_device(snode.jm_device.get_id())
160
+ if ret:
161
+ logger.info(f"JM bdev is online: {snode.jm_device.get_id()}")
162
+ if snode.jm_device.status != JMDevice.STATUS_ONLINE:
163
+ device_controller.set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
164
+ else:
165
+ logger.error(f"JM bdev is offline: {snode.jm_device.get_id()}")
166
+ if snode.jm_device.status != JMDevice.STATUS_UNAVAILABLE:
167
+ device_controller.set_jm_device_state(snode.jm_device.get_id(),
168
+ JMDevice.STATUS_UNAVAILABLE)
169
+
170
+ is_node_online = ping_check and node_api_check and node_rpc_check and spdk_process
153
171
  if is_node_online:
154
172
  set_node_online(snode)
155
173
  else:
@@ -163,21 +181,6 @@ while True:
163
181
  if cluster.status != Cluster.STATUS_UNREADY:
164
182
  tasks_controller.add_node_to_auto_restart(snode)
165
183
 
166
- continue
167
-
168
- # check JM device
169
- if snode.jm_device:
170
- if snode.jm_device.status in [JMDevice.STATUS_ONLINE, JMDevice.STATUS_UNAVAILABLE]:
171
- ret = health_controller.check_jm_device(snode.jm_device.get_id())
172
- if ret:
173
- logger.info(f"JM bdev is online: {snode.jm_device.get_id()}")
174
- if snode.jm_device.status != JMDevice.STATUS_ONLINE:
175
- device_controller.set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
176
- else:
177
- logger.error(f"JM bdev is offline: {snode.jm_device.get_id()}")
178
- if snode.jm_device.status != JMDevice.STATUS_UNAVAILABLE:
179
- device_controller.set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_UNAVAILABLE)
180
-
181
184
  update_cluster_status(cluster_id)
182
185
 
183
186
  logger.info(f"Sleeping for {constants.NODE_MONITOR_INTERVAL_SEC} seconds")
@@ -261,7 +261,7 @@ def process_records(records, records_count):
261
261
 
262
262
  def ping_host(ip):
263
263
  logger.debug(f"Pinging ip ... {ip}")
264
- response = os.system(f"ping -c 1 -W 3 {ip} > /dev/null")
264
+ response = os.system(f"ping -c 3 -W 3 {ip} > /dev/null")
265
265
  if response == 0:
266
266
  logger.debug(f"{ip} is UP")
267
267
  return True
File without changes
File without changes
File without changes
File without changes