sbcli-dev 6.1.8__tar.gz → 6.2.0__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.1.8 → sbcli_dev-6.2.0}/PKG-INFO +1 -1
  2. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/env_var +1 -1
  3. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_cli/cli.py +2 -2
  5. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/cluster_ops.py +4 -4
  6. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/constants.py +2 -1
  7. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/device_controller.py +0 -17
  8. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/lvol_controller.py +0 -16
  9. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/snapshot_controller.py +0 -1
  10. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/storage_node_ops.py +21 -36
  11. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/README.md +0 -0
  12. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/pyproject.toml +0 -0
  13. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  14. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  15. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/entry_points.txt +0 -0
  16. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/requires.txt +0 -0
  17. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/top_level.txt +0 -0
  18. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/setup.cfg +0 -0
  19. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/setup.py +0 -0
  20. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_cli/main.py +0 -0
  21. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/__init__.py +0 -0
  22. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/compute_node_ops.py +0 -0
  24. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/device_events.py +0 -0
  28. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/events_controller.py +0 -0
  29. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/health_controller.py +0 -0
  30. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/lvol_events.py +0 -0
  31. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/mgmt_events.py +0 -0
  32. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/pool_controller.py +0 -0
  33. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/pool_events.py +0 -0
  34. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/snapshot_events.py +0 -0
  35. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/storage_events.py +0 -0
  36. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/tasks_controller.py +0 -0
  37. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/tasks_events.py +0 -0
  38. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/distr_controller.py +0 -0
  39. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/kv_store.py +0 -0
  40. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/mgmt_node_ops.py +0 -0
  41. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/__init__.py +0 -0
  42. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/base_model.py +0 -0
  43. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/caching_node.py +0 -0
  44. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/cluster.py +0 -0
  45. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/compute_node.py +0 -0
  46. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/deployer.py +0 -0
  47. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/events.py +0 -0
  48. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/global_settings.py +0 -0
  49. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/iface.py +0 -0
  50. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/job_schedule.py +0 -0
  51. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/lvol_model.py +0 -0
  52. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/mgmt_node.py +0 -0
  53. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/nvme_device.py +0 -0
  54. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/pool.py +0 -0
  55. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/port_stat.py +0 -0
  56. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/snapshot.py +0 -0
  57. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/stats.py +0 -0
  58. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/storage_node.py +0 -0
  59. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/pci_utils.py +0 -0
  60. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/rpc_client.py +0 -0
  61. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/__init__.py +0 -0
  62. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  63. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  64. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  65. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/config_docker.sh +0 -0
  66. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboard.yml +0 -0
  67. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  68. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  69. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  70. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  71. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  72. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  73. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/datasource.yml +0 -0
  74. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/db_config_double.sh +0 -0
  75. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/db_config_single.sh +0 -0
  76. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  77. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  78. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  79. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  80. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/foundation.yml +0 -0
  81. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/haproxy.cfg +0 -0
  82. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/install_deps.sh +0 -0
  83. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/objstore.yml +0 -0
  84. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  85. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/prometheus.yml +0 -0
  86. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/run_ssh.sh +0 -0
  87. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/set_db_config.sh +0 -0
  88. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  89. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/__init__.py +0 -0
  90. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  91. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/caching_node_monitor.py +0 -0
  92. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/cap_monitor.py +0 -0
  93. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  94. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/device_monitor.py +0 -0
  95. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/health_check_service.py +0 -0
  96. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/install_service.sh +0 -0
  97. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/log_agg_service.py +0 -0
  98. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/lvol_monitor.py +0 -0
  99. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  100. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  101. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  102. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/new_device_discovery.py +0 -0
  103. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/port_stat_collector.py +0 -0
  104. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/remove_service.sh +0 -0
  105. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/service_template.service +0 -0
  106. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  107. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/storage_node_monitor.py +0 -0
  108. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  109. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  110. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  111. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  112. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  113. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/shell_utils.py +0 -0
  114. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/snode_client.py +0 -0
  115. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/utils.py +0 -0
  116. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/__init__.py +0 -0
  117. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/app.py +0 -0
  118. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/auth_middleware.py +0 -0
  119. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/__init__.py +0 -0
  120. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  121. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  122. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  123. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  124. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  125. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/snode_ops.py +0 -0
  126. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  127. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  128. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  129. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  130. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_device.py +0 -0
  131. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  132. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  133. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  134. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  135. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  136. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/caching_node_app.py +0 -0
  137. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/caching_node_app_k8s.py +0 -0
  138. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/node_utils.py +0 -0
  139. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/node_webapp.py +0 -0
  140. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/snode_app.py +0 -0
  141. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/snode_app_k8s.py +0 -0
  142. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/delete.py +0 -0
  143. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/deploy.py +0 -0
  144. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  145. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  146. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/is_up.py +0 -0
  147. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/list_deps.py +0 -0
  148. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/rpac.yaml +0 -0
  149. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/tst.py +0 -0
  150. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  151. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  152. {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 6.1.8
3
+ Version: 6.2.0
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.1.8
2
+ SIMPLY_BLOCK_VERSION=6.2.0
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.1.8
3
+ Version: 6.2.0
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -298,7 +298,7 @@ class CLIWrapper:
298
298
  dest='ha_type', choices=["single", "ha"], default='single')
299
299
  sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
300
300
  sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count',
301
- default=20, choices=range(128))
301
+ default=0, choices=range(128))
302
302
  sub_command.add_argument("--max-queue-size", help='The max size the queue will grow', type=int, default=128)
303
303
  sub_command.add_argument("--inflight-io-threshold", help='The number of inflight IOs allowed before the IO queuing starts', type=int, default=4)
304
304
  sub_command.add_argument("--enable-qos", help='Enable qos bdev for storage nodes', action='store_true', dest='enable_qos')
@@ -328,7 +328,7 @@ class CLIWrapper:
328
328
  dest='ha_type', choices=["single", "ha"], default='single')
329
329
  sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
330
330
  sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count',
331
- default=6, choices=range(128))
331
+ default=0, choices=range(128))
332
332
  sub_command.add_argument("--max-queue-size", help='The max size the queue will grow', type=int, default=128)
333
333
  sub_command.add_argument("--inflight-io-threshold", help='The number of inflight IOs allowed before the IO queuing starts', type=int, default=4)
334
334
  sub_command.add_argument("--enable-qos", help='Enable qos bdev for storage nodes', action='store_true', dest='enable_qos')
@@ -173,7 +173,7 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
173
173
  else:
174
174
  c.grafana_endpoint = f"http://{DEV_IP}/grafana"
175
175
  c.enable_node_affinity = enable_node_affinity
176
- c.qpair_count = qpair_count or 6
176
+ c.qpair_count = qpair_count or constants.QPAIR_COUNT
177
177
 
178
178
  c.max_queue_size = max_queue_size
179
179
  c.inflight_io_threshold = inflight_io_threshold
@@ -324,7 +324,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
324
324
  _create_update_user(cluster.uuid, cluster.grafana_endpoint, cluster.grafana_secret, cluster.secret)
325
325
 
326
326
  if distr_ndcs == 0 and distr_npcs == 0:
327
- cluster.distr_ndcs = 4
327
+ cluster.distr_ndcs = 2
328
328
  cluster.distr_npcs = 1
329
329
  else:
330
330
  cluster.distr_ndcs = distr_ndcs
@@ -333,7 +333,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
333
333
  cluster.distr_chunk_bs = distr_chunk_bs
334
334
  cluster.ha_type = ha_type
335
335
  cluster.enable_node_affinity = enable_node_affinity
336
- cluster.qpair_count = qpair_count or 6
336
+ cluster.qpair_count = qpair_count or constants.QPAIR_COUNT
337
337
  cluster.max_queue_size = max_queue_size
338
338
  cluster.inflight_io_threshold = inflight_io_threshold
339
339
  cluster.enable_qos = enable_qos
@@ -710,7 +710,7 @@ def get_cluster(cl_id):
710
710
  logger.error(f"Cluster not found {cl_id}")
711
711
  return False
712
712
 
713
- return json.dumps(cluster.get_clean_dict(), indent=2)
713
+ return json.dumps(cluster.get_clean_dict(), indent=2, sort_keys=True)
714
714
 
715
715
 
716
716
  def update_cluster(cl_id):
@@ -66,7 +66,7 @@ GELF_PORT = 12202
66
66
 
67
67
  MIN_HUGE_PAGE_MEMORY_FOR_LVOL = 209715200
68
68
  MIN_SYS_MEMORY_FOR_LVOL = 524288000
69
- EXTRA_SMALL_POOL_COUNT = 1024
69
+ EXTRA_SMALL_POOL_COUNT = 4096
70
70
  EXTRA_LARGE_POOL_COUNT = 16000
71
71
  # EXTRA_SMALL_POOL_COUNT = 0
72
72
  # EXTRA_LARGE_POOL_COUNT = 0
@@ -108,3 +108,4 @@ 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=10
@@ -163,15 +163,6 @@ def _def_create_device_stack(device_obj, snode, force=False):
163
163
  for iface in snode.data_nics:
164
164
  if iface.ip4_address:
165
165
  tr_type = iface.get_transport_type()
166
- ret = rpc_client.transport_list()
167
- found = False
168
- if ret:
169
- for ty in ret:
170
- if ty['trtype'] == tr_type:
171
- found = True
172
- if found is False:
173
- ret = rpc_client.transport_create(tr_type)
174
- # logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
175
166
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
176
167
  IP = iface.ip4_address
177
168
  break
@@ -910,14 +901,6 @@ def restart_jm_device(device_id, force=False, format_alceml=False):
910
901
  for iface in snode.data_nics:
911
902
  if iface.ip4_address:
912
903
  tr_type = iface.get_transport_type()
913
- ret = rpc_client.transport_list()
914
- found = False
915
- if ret:
916
- for ty in ret:
917
- if ty['trtype'] == tr_type:
918
- found = True
919
- if found is False:
920
- ret = rpc_client.transport_create(tr_type)
921
904
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
922
905
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
923
906
  IP = iface.ip4_address
@@ -621,14 +621,6 @@ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=0):
621
621
  for iface in snode.data_nics:
622
622
  if iface.ip4_address:
623
623
  tr_type = iface.get_transport_type()
624
- ret = rpc_client.transport_list()
625
- found = False
626
- if ret:
627
- for ty in ret:
628
- if ty['trtype'] == tr_type:
629
- found = True
630
- if found is False:
631
- ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
632
624
  logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
633
625
  ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
634
626
  is_optimized = False
@@ -707,14 +699,6 @@ def recreate_lvol_on_node(lvol, snode, ha_inode_self=0, ana_state=None):
707
699
  for iface in snode.data_nics:
708
700
  if iface.ip4_address:
709
701
  tr_type = iface.get_transport_type()
710
- ret = rpc_client.transport_list()
711
- found = False
712
- if ret:
713
- for ty in ret:
714
- if ty['trtype'] == tr_type:
715
- found = True
716
- if found is False:
717
- ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
718
702
  if not ana_state:
719
703
  ana_state = "non_optimized"
720
704
  if lvol.node_id == snode.get_id():
@@ -315,7 +315,6 @@ def clone(snapshot_id, clone_name, new_size=0):
315
315
  for iface in snode.data_nics:
316
316
  if iface.ip4_address:
317
317
  tr_type = iface.get_transport_type()
318
- ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
319
318
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
320
319
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
321
320
 
@@ -310,14 +310,6 @@ def _create_jm_stack_on_raid(rpc_client, jm_nvme_bdevs, snode, after_restart):
310
310
  for iface in snode.data_nics:
311
311
  if iface.ip4_address:
312
312
  tr_type = iface.get_transport_type()
313
- ret = rpc_client.transport_list()
314
- found = False
315
- if ret:
316
- for ty in ret:
317
- if ty['trtype'] == tr_type:
318
- found = True
319
- if found is False:
320
- ret = rpc_client.transport_create(tr_type)
321
313
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
322
314
  ana_state = "optimized"
323
315
  if after_restart:
@@ -408,14 +400,6 @@ def _create_jm_stack_on_device(rpc_client, nvme, snode, after_restart):
408
400
  for iface in snode.data_nics:
409
401
  if iface.ip4_address:
410
402
  tr_type = iface.get_transport_type()
411
- ret = rpc_client.transport_list()
412
- found = False
413
- if ret:
414
- for ty in ret:
415
- if ty['trtype'] == tr_type:
416
- found = True
417
- if found is False:
418
- ret = rpc_client.transport_create(tr_type)
419
403
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
420
404
  ana_state = "optimized"
421
405
  if after_restart:
@@ -509,14 +493,6 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
509
493
  for iface in snode.data_nics:
510
494
  if iface.ip4_address:
511
495
  tr_type = iface.get_transport_type()
512
- ret = rpc_client.transport_list()
513
- found = False
514
- if ret:
515
- for ty in ret:
516
- if ty['trtype'] == tr_type:
517
- found = True
518
- if found is False:
519
- ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
520
496
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
521
497
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
522
498
  IP = iface.ip4_address
@@ -789,14 +765,6 @@ def _prepare_cluster_devices_on_restart(snode):
789
765
  for iface in snode.data_nics:
790
766
  if iface.ip4_address:
791
767
  tr_type = iface.get_transport_type()
792
- ret = rpc_client.transport_list()
793
- found = False
794
- if ret:
795
- for ty in ret:
796
- if ty['trtype'] == tr_type:
797
- found = True
798
- if found is False:
799
- ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
800
768
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
801
769
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420",
802
770
  ana_state="inaccessible")
@@ -1076,7 +1044,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
1076
1044
  # for jm
1077
1045
  number_of_alceml_devices += 1
1078
1046
  if is_secondary_node:
1079
- number_of_distribs *= 3
1047
+ number_of_distribs *= 5
1080
1048
  small_pool_count, large_pool_count = utils.calculate_pool_count(
1081
1049
  number_of_alceml_devices, number_of_distribs, cpu_count, len(poller_cpu_cores) or cpu_count)
1082
1050
 
@@ -1121,9 +1089,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
1121
1089
  logger.error(f"Failed to Join docker swarm: {err}")
1122
1090
  return False
1123
1091
 
1124
- #rpc_user, rpc_pass = utils.generate_rpc_user_and_pass()
1125
- rpc_user = "rpc_username"
1126
- rpc_pass = "rpc_password"
1092
+ rpc_user, rpc_pass = utils.generate_rpc_user_and_pass()
1127
1093
  mgmt_ip = node_info['network_interface'][iface_name]['ip']
1128
1094
  if not spdk_image:
1129
1095
  spdk_image = constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE
@@ -1289,6 +1255,15 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
1289
1255
  logger.error("Failed to set nvme options")
1290
1256
  return False
1291
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
+
1262
+ ret = rpc_client.transport_create("TCP", qpair)
1263
+ if not ret:
1264
+ logger.error(f"Failed to create transport TCP with qpair: {qpair}")
1265
+ # return False
1266
+
1292
1267
  # 7- set jc singleton mask
1293
1268
  if snode.jc_singleton_mask:
1294
1269
  ret = rpc_client.jc_set_hint_lcpu_mask(snode.jc_singleton_mask)
@@ -1784,6 +1759,16 @@ def restart_storage_node(
1784
1759
  logger.error("Failed to set nvme options")
1785
1760
  return False
1786
1761
 
1762
+ qpair = max(max(len(db_controller.get_storage_nodes_by_cluster_id(snode.cluster_id)), 5) * snode.number_of_distribs,
1763
+ constants.QPAIR_COUNT)
1764
+ if snode.is_secondary_node:
1765
+ qpair *= 2
1766
+
1767
+ ret = rpc_client.transport_create("TCP", qpair)
1768
+ if not ret:
1769
+ logger.error(f"Failed to create transport TCP with qpair: {qpair}")
1770
+ # return False
1771
+
1787
1772
  # 7- set jc singleton mask
1788
1773
  if snode.jc_singleton_mask:
1789
1774
  ret = rpc_client.jc_set_hint_lcpu_mask(snode.jc_singleton_mask)
File without changes
File without changes
File without changes
File without changes