sbcli-dev 10.7.4__tar.gz → 10.7.6__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 (154) hide show
  1. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/PKG-INFO +1 -1
  2. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/sbcli_dev.egg-info/PKG-INFO +1 -1
  3. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/cluster_ops.py +20 -2
  4. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/device_controller.py +19 -2
  5. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/lvol_controller.py +22 -2
  6. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/env_var +1 -1
  7. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/storage_node_ops.py +23 -3
  8. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/utils.py +7 -5
  9. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/README.md +0 -0
  10. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/pyproject.toml +0 -0
  11. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/requirements.txt +0 -0
  12. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  13. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  14. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/sbcli_dev.egg-info/entry_points.txt +0 -0
  15. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/sbcli_dev.egg-info/requires.txt +0 -0
  16. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/sbcli_dev.egg-info/top_level.txt +0 -0
  17. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/setup.cfg +0 -0
  18. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/setup.py +0 -0
  19. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_cli/__init__.py +0 -0
  20. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_cli/cli.py +0 -0
  21. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_cli/main.py +0 -0
  22. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/__init__.py +0 -0
  23. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/cnode_client.py +0 -0
  24. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/constants.py +0 -0
  25. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/__init__.py +0 -0
  26. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  27. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/cluster_events.py +0 -0
  28. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/device_events.py +0 -0
  29. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/events_controller.py +0 -0
  30. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/health_controller.py +0 -0
  31. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/lvol_events.py +0 -0
  32. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/mgmt_events.py +0 -0
  33. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/pool_controller.py +0 -0
  34. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/pool_events.py +0 -0
  35. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  36. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/snapshot_events.py +0 -0
  37. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/storage_events.py +0 -0
  38. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/tasks_controller.py +0 -0
  39. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/controllers/tasks_events.py +0 -0
  40. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/db_controller.py +0 -0
  41. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/distr_controller.py +0 -0
  42. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/mgmt_node_ops.py +0 -0
  43. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/__init__.py +0 -0
  44. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/base_model.py +0 -0
  45. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/caching_node.py +0 -0
  46. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/cluster.py +0 -0
  47. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/deployer.py +0 -0
  48. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/events.py +0 -0
  49. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/iface.py +0 -0
  50. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/job_schedule.py +0 -0
  51. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/lvol_model.py +0 -0
  52. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/mgmt_node.py +0 -0
  53. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/nvme_device.py +0 -0
  54. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/pool.py +0 -0
  55. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/port_stat.py +0 -0
  56. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/snapshot.py +0 -0
  57. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/stats.py +0 -0
  58. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/models/storage_node.py +0 -0
  59. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/pci_utils.py +0 -0
  60. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/rpc_client.py +0 -0
  61. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/__init__.py +0 -0
  62. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  63. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  64. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  65. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/config_docker.sh +0 -0
  66. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboard.yml +0 -0
  67. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  68. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  69. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  70. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  71. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  72. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  73. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/datasource.yml +0 -0
  74. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/db_config_double.sh +0 -0
  75. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/db_config_single.sh +0 -0
  76. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  77. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  78. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  79. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  80. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/foundation.yml +0 -0
  81. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/haproxy.cfg +0 -0
  82. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/install_deps.sh +0 -0
  83. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/objstore.yml +0 -0
  84. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  85. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/prometheus.yml +0 -0
  86. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/run_ssh.sh +0 -0
  87. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/set_db_config.sh +0 -0
  88. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  89. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/__init__.py +0 -0
  90. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  91. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/caching_node_monitor.py +0 -0
  92. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/cap_monitor.py +0 -0
  93. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  94. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/device_monitor.py +0 -0
  95. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/health_check_service.py +0 -0
  96. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/install_service.sh +0 -0
  97. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/log_agg_service.py +0 -0
  98. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/lvol_monitor.py +0 -0
  99. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  100. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  101. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  102. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/new_device_discovery.py +0 -0
  103. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/port_stat_collector.py +0 -0
  104. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/remove_service.sh +0 -0
  105. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/service_template.service +0 -0
  106. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  107. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/storage_node_monitor.py +0 -0
  108. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  109. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  110. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  111. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  112. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  113. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/shell_utils.py +0 -0
  114. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/snode_client.py +0 -0
  115. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  116. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/README.md +0 -0
  117. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/__init__.py +0 -0
  118. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/app.py +0 -0
  119. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/auth_middleware.py +0 -0
  120. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/__init__.py +0 -0
  121. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  122. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  123. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  124. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  125. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  126. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/snode_ops.py +0 -0
  127. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  128. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  129. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  130. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  131. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_device.py +0 -0
  132. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  133. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  134. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  135. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  136. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  137. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/caching_node_app.py +0 -0
  138. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/caching_node_app_k8s.py +0 -0
  139. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/node_utils.py +0 -0
  140. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/node_webapp.py +0 -0
  141. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/requirements.txt +0 -0
  142. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/snode_app.py +0 -0
  143. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/snode_app_k8s.py +0 -0
  144. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/delete.py +0 -0
  145. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/deploy.py +0 -0
  146. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  147. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  148. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/is_up.py +0 -0
  149. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/list_deps.py +0 -0
  150. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/rpac.yaml +0 -0
  151. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/static/tst.py +0 -0
  152. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  153. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  154. {sbcli_dev-10.7.4 → sbcli_dev-10.7.6}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sbcli-dev
3
- Version: 10.7.4
3
+ Version: 10.7.6
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sbcli-dev
3
- Version: 10.7.4
3
+ Version: 10.7.6
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -541,7 +541,16 @@ def get_capacity(cluster_id, history, records_count=20, is_json=False):
541
541
 
542
542
  records = db_controller.get_cluster_capacity(cluster, records_number)
543
543
 
544
- new_records = utils.process_records(records, records_count)
544
+ cap_stats_keys = [
545
+ "date",
546
+ "size_total",
547
+ "size_prov",
548
+ "size_used",
549
+ "size_free",
550
+ "size_util",
551
+ "size_prov_util",
552
+ ]
553
+ new_records = utils.process_records(records, records_count, keys=cap_stats_keys)
545
554
 
546
555
  if is_json:
547
556
  return json.dumps(new_records, indent=2)
@@ -582,8 +591,17 @@ def get_iostats_history(cluster_id, history_string, records_count=20, parse_size
582
591
 
583
592
  records = db_controller.get_cluster_stats(cluster, records_number)
584
593
 
594
+ io_stats_keys = [
595
+ "date",
596
+ "read_bytes_ps",
597
+ "read_io_ps",
598
+ "read_latency_ps",
599
+ "write_bytes_ps",
600
+ "write_io_ps",
601
+ "write_latency_ps",
602
+ ]
585
603
  # combine records
586
- new_records = utils.process_records(records, records_count)
604
+ new_records = utils.process_records(records, records_count, keys=io_stats_keys)
587
605
 
588
606
  if not parse_sizes:
589
607
  return new_records
@@ -432,7 +432,14 @@ def get_device_capacity(device_id, history, records_count=20, parse_sizes=True):
432
432
  records_number = 20
433
433
 
434
434
  records = db_controller.get_device_capacity(device, records_number)
435
- records_list = utils.process_records(records, records_count)
435
+ cap_stats_keys = [
436
+ "date",
437
+ "size_total",
438
+ "size_used",
439
+ "size_free",
440
+ "size_util",
441
+ ]
442
+ records_list = utils.process_records(records, records_count, keys=cap_stats_keys)
436
443
 
437
444
  if not parse_sizes:
438
445
  return records_list
@@ -466,7 +473,17 @@ def get_device_iostats(device_id, history, records_count=20, parse_sizes=True):
466
473
  records_number = 20
467
474
 
468
475
  records_list = db_controller.get_device_stats(device, records_number)
469
- new_records = utils.process_records(records_list, records_count)
476
+ io_stats_keys = [
477
+ "date",
478
+ "read_bytes_ps",
479
+ "read_io_ps",
480
+ "read_latency_ps",
481
+ "write_bytes_ps",
482
+ "write_io_ps",
483
+ "write_latency_ps",
484
+ ]
485
+ # combine records
486
+ new_records = utils.process_records(records_list, records_count, keys=io_stats_keys)
470
487
 
471
488
  if not parse_sizes:
472
489
  return new_records
@@ -1222,7 +1222,14 @@ def get_capacity(lvol_uuid, history, records_count=20, parse_sizes=True):
1222
1222
  records_list = db_controller.get_lvol_stats(lvol, limit=records_number)
1223
1223
  if not records_list:
1224
1224
  return False
1225
- new_records = utils.process_records(records_list, min(records_count, len(records_list)))
1225
+ cap_stats_keys = [
1226
+ "date",
1227
+ "size_total",
1228
+ "size_used",
1229
+ "size_free",
1230
+ "size_util",
1231
+ ]
1232
+ new_records = utils.process_records(records_list, records_count, keys=cap_stats_keys)
1226
1233
 
1227
1234
  if not parse_sizes:
1228
1235
  return new_records
@@ -1256,7 +1263,20 @@ def get_io_stats(lvol_uuid, history, records_count=20, parse_sizes=True):
1256
1263
  records_list = db_controller.get_lvol_stats(lvol, limit=records_number)
1257
1264
  if not records_list:
1258
1265
  return False
1259
- new_records = utils.process_records(records_list, min(records_count, len(records_list)))
1266
+ io_stats_keys = [
1267
+ "date",
1268
+ "read_bytes",
1269
+ "read_bytes_ps",
1270
+ "read_io_ps",
1271
+ "read_latency_ps",
1272
+ "write_bytes",
1273
+ "write_bytes_ps",
1274
+ "write_io_ps",
1275
+ "write_latency_ps",
1276
+ "connected_clients",
1277
+ ]
1278
+ # combine records
1279
+ new_records = utils.process_records(records_list, records_count, keys=io_stats_keys)
1260
1280
 
1261
1281
  if not parse_sizes:
1262
1282
  return new_records
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
- SIMPLY_BLOCK_VERSION=10.7.4
2
+ SIMPLY_BLOCK_VERSION=10.7.6
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
5
5
  DOCKER_USER=hamdysimplyblock
@@ -1864,7 +1864,7 @@ def restart_storage_node(
1864
1864
  snode.nvme_devices.append(dev)
1865
1865
 
1866
1866
  snode.write_to_db(db_controller.kv_store)
1867
- if node_ip:
1867
+ if node_ip and len(new_devices)>0:
1868
1868
  # prepare devices on new node
1869
1869
  if snode.num_partitions_per_dev == 0 or snode.jm_percent == 0:
1870
1870
 
@@ -2365,7 +2365,16 @@ def get_node_capacity(node_id, history, records_count=20, parse_sizes=True):
2365
2365
  records_number = 20
2366
2366
 
2367
2367
  records = db_controller.get_node_capacity(this_node, records_number)
2368
- new_records = utils.process_records(records, records_count)
2368
+ cap_stats_keys = [
2369
+ "date",
2370
+ "size_total",
2371
+ "size_prov",
2372
+ "size_used",
2373
+ "size_free",
2374
+ "size_util",
2375
+ "size_prov_util",
2376
+ ]
2377
+ new_records = utils.process_records(records, records_count, keys=cap_stats_keys)
2369
2378
 
2370
2379
  if not parse_sizes:
2371
2380
  return new_records
@@ -2400,7 +2409,18 @@ def get_node_iostats_history(node_id, history, records_count=20, parse_sizes=Tru
2400
2409
  records_number = 20
2401
2410
 
2402
2411
  records = db_controller.get_node_stats(node, records_number)
2403
- new_records = utils.process_records(records, records_count)
2412
+
2413
+ io_stats_keys = [
2414
+ "date",
2415
+ "read_bytes_ps",
2416
+ "read_io_ps",
2417
+ "read_latency_ps",
2418
+ "write_bytes_ps",
2419
+ "write_io_ps",
2420
+ "write_latency_ps",
2421
+ ]
2422
+ # combine records
2423
+ new_records = utils.process_records(records, records_count, keys=io_stats_keys)
2404
2424
 
2405
2425
  if not parse_sizes:
2406
2426
  return new_records
@@ -143,10 +143,12 @@ def get_docker_client(cluster_id=None):
143
143
  return False
144
144
 
145
145
 
146
- def dict_agg(data, mean=False):
146
+ def dict_agg(data, mean=False, keys=None):
147
147
  out = {}
148
+ if not keys and data:
149
+ keys = data[0].keys()
148
150
  for d in data:
149
- for key in d.keys():
151
+ for key in keys:
150
152
  if isinstance(d[key], int) or isinstance(d[key], float):
151
153
  if key in out:
152
154
  out[key] += d[key]
@@ -249,11 +251,11 @@ def parse_history_param(history_string):
249
251
  if ind == 'm':
250
252
  history_in_seconds += v * 60
251
253
 
252
- records_number = int(history_in_seconds/2)
254
+ records_number = int(history_in_seconds/5)
253
255
  return records_number
254
256
 
255
257
 
256
- def process_records(records, records_count):
258
+ def process_records(records, records_count, keys=None):
257
259
  # combine records
258
260
  if not records:
259
261
  return []
@@ -267,7 +269,7 @@ def process_records(records, records_count):
267
269
  last_index = (i + 1) * data_per_record
268
270
  last_index = min(last_index, len(records))
269
271
  sl = records[first_index:last_index]
270
- rec = dict_agg(sl, mean=True)
272
+ rec = dict_agg(sl, mean=True, keys=keys)
271
273
  new_records.append(rec)
272
274
  return new_records
273
275
 
File without changes
File without changes
File without changes
File without changes
File without changes