sbcli-dev 6.1.7__tar.gz → 6.1.9__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.7 → sbcli_dev-6.1.9}/PKG-INFO +1 -1
  2. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/env_var +1 -1
  3. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_cli/cli.py +2 -2
  5. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/cluster_ops.py +4 -4
  6. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/constants.py +4 -1
  7. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/device_controller.py +0 -17
  8. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/lvol_controller.py +3 -17
  9. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/snapshot_controller.py +0 -1
  10. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/storage_node_ops.py +22 -35
  11. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/README.md +0 -0
  12. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/pyproject.toml +0 -0
  13. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  14. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  15. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/sbcli_dev.egg-info/entry_points.txt +0 -0
  16. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/sbcli_dev.egg-info/requires.txt +0 -0
  17. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/sbcli_dev.egg-info/top_level.txt +0 -0
  18. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/setup.cfg +0 -0
  19. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/setup.py +0 -0
  20. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_cli/main.py +0 -0
  21. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/__init__.py +0 -0
  22. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/compute_node_ops.py +0 -0
  24. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/device_events.py +0 -0
  28. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/events_controller.py +0 -0
  29. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/health_controller.py +0 -0
  30. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/lvol_events.py +0 -0
  31. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/mgmt_events.py +0 -0
  32. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/pool_controller.py +0 -0
  33. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/pool_events.py +0 -0
  34. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/snapshot_events.py +0 -0
  35. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/storage_events.py +0 -0
  36. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/tasks_controller.py +0 -0
  37. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/controllers/tasks_events.py +0 -0
  38. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/distr_controller.py +0 -0
  39. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/kv_store.py +0 -0
  40. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/mgmt_node_ops.py +0 -0
  41. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/__init__.py +0 -0
  42. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/base_model.py +0 -0
  43. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/caching_node.py +0 -0
  44. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/cluster.py +0 -0
  45. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/compute_node.py +0 -0
  46. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/deployer.py +0 -0
  47. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/events.py +0 -0
  48. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/global_settings.py +0 -0
  49. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/iface.py +0 -0
  50. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/job_schedule.py +0 -0
  51. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/lvol_model.py +0 -0
  52. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/mgmt_node.py +0 -0
  53. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/nvme_device.py +0 -0
  54. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/pool.py +0 -0
  55. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/port_stat.py +0 -0
  56. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/snapshot.py +0 -0
  57. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/stats.py +0 -0
  58. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/models/storage_node.py +0 -0
  59. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/pci_utils.py +0 -0
  60. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/rpc_client.py +0 -0
  61. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/__init__.py +0 -0
  62. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  63. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  64. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  65. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/config_docker.sh +0 -0
  66. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboard.yml +0 -0
  67. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  68. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  69. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  70. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  71. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  72. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  73. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/datasource.yml +0 -0
  74. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/db_config_double.sh +0 -0
  75. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/db_config_single.sh +0 -0
  76. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  77. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  78. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  79. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  80. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/foundation.yml +0 -0
  81. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/haproxy.cfg +0 -0
  82. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/install_deps.sh +0 -0
  83. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/objstore.yml +0 -0
  84. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  85. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/prometheus.yml +0 -0
  86. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/run_ssh.sh +0 -0
  87. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/set_db_config.sh +0 -0
  88. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  89. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/__init__.py +0 -0
  90. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  91. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/caching_node_monitor.py +0 -0
  92. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/cap_monitor.py +0 -0
  93. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  94. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/device_monitor.py +0 -0
  95. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/health_check_service.py +0 -0
  96. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/install_service.sh +0 -0
  97. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/log_agg_service.py +0 -0
  98. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/lvol_monitor.py +0 -0
  99. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  100. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  101. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  102. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/new_device_discovery.py +0 -0
  103. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/port_stat_collector.py +0 -0
  104. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/remove_service.sh +0 -0
  105. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/service_template.service +0 -0
  106. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  107. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/storage_node_monitor.py +0 -0
  108. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  109. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  110. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  111. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  112. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  113. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/shell_utils.py +0 -0
  114. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/snode_client.py +0 -0
  115. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_core/utils.py +0 -0
  116. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/__init__.py +0 -0
  117. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/app.py +0 -0
  118. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/auth_middleware.py +0 -0
  119. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/__init__.py +0 -0
  120. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  121. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  122. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  123. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  124. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  125. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/snode_ops.py +0 -0
  126. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  127. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  128. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  129. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  130. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_device.py +0 -0
  131. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  132. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  133. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  134. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  135. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  136. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/caching_node_app.py +0 -0
  137. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/caching_node_app_k8s.py +0 -0
  138. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/node_utils.py +0 -0
  139. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/node_webapp.py +0 -0
  140. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/snode_app.py +0 -0
  141. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/snode_app_k8s.py +0 -0
  142. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/delete.py +0 -0
  143. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/deploy.py +0 -0
  144. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  145. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  146. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/is_up.py +0 -0
  147. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/list_deps.py +0 -0
  148. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/rpac.yaml +0 -0
  149. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/static/tst.py +0 -0
  150. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  151. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  152. {sbcli_dev-6.1.7 → sbcli_dev-6.1.9}/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.7
3
+ Version: 6.1.9
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.7
2
+ SIMPLY_BLOCK_VERSION=6.1.9
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.7
3
+ Version: 6.1.9
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):
@@ -105,4 +105,7 @@ INSTANCE_STORAGE_DATA = {
105
105
  MAX_SNAP_COUNT = 15
106
106
 
107
107
  SPDK_PROXY_MULTI_THREADING_ENABLED=True
108
- SPDK_PROXY_TIMEOUT=60*5
108
+ SPDK_PROXY_TIMEOUT=60*5
109
+ LVOL_NVME_CONNECT_RECONNECT_DELAY=3
110
+ LVOL_NVME_CONNECT_CTRL_LOSS_TMO=-1
111
+ QPAIR_COUNT=6
@@ -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():
@@ -1113,7 +1097,9 @@ def connect_lvol(uuid):
1113
1097
  "ip": ip,
1114
1098
  "port": port,
1115
1099
  "nqn": lvol.nqn,
1116
- "connect": f"sudo nvme connect --reconnect-delay=1 --ctrl-loss-tmo=600 --transport={transport} --traddr={ip} --trsvcid={port} --nqn={lvol.nqn}",
1100
+ "connect": f"sudo nvme connect --reconnect-delay={constants.LVOL_NVME_CONNECT_RECONNECT_DELAY} "
1101
+ f"--ctrl-loss-tmo={constants.LVOL_NVME_CONNECT_CTRL_LOSS_TMO} --transport={transport} "
1102
+ f"--traddr={ip} --trsvcid={port} --nqn={lvol.nqn}",
1117
1103
  })
1118
1104
  return out
1119
1105
 
@@ -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")
@@ -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,16 @@ 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
+ if is_secondary_node:
1259
+ qpair=max(len(db_controller.get_storage_nodes_by_cluster_id(cluster_id)), 5) * cluster.qpair_count
1260
+ else:
1261
+ qpair=cluster.qpair_count
1262
+
1263
+ ret = rpc_client.transport_create("TCP", qpair)
1264
+ if not ret:
1265
+ logger.error(f"Failed to create transport TCP with qpair: {qpair}")
1266
+ # return False
1267
+
1292
1268
  # 7- set jc singleton mask
1293
1269
  if snode.jc_singleton_mask:
1294
1270
  ret = rpc_client.jc_set_hint_lcpu_mask(snode.jc_singleton_mask)
@@ -1784,6 +1760,17 @@ def restart_storage_node(
1784
1760
  logger.error("Failed to set nvme options")
1785
1761
  return False
1786
1762
 
1763
+
1764
+ if snode.is_secondary_node:
1765
+ qpair=max(len(db_controller.get_storage_nodes_by_cluster_id(snode.cluster_id)), 5) * cluster.qpair_count
1766
+ else:
1767
+ qpair=cluster.qpair_count
1768
+
1769
+ ret = rpc_client.transport_create("TCP", qpair)
1770
+ if not ret:
1771
+ logger.error(f"Failed to create transport TCP with qpair: {qpair}")
1772
+ # return False
1773
+
1787
1774
  # 7- set jc singleton mask
1788
1775
  if snode.jc_singleton_mask:
1789
1776
  ret = rpc_client.jc_set_hint_lcpu_mask(snode.jc_singleton_mask)
File without changes
File without changes
File without changes
File without changes