sbcli-dev 4.0.66__zip → 4.0.68__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.

Potentially problematic release.


This version of sbcli-dev might be problematic. Click here for more details.

Files changed (149) hide show
  1. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/PKG-INFO +1 -1
  2. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/env_var +1 -3
  3. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_cli/cli.py +8 -3
  5. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/cluster_ops.py +6 -3
  6. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/lvol_controller.py +4 -2
  7. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/snapshot_controller.py +2 -1
  8. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/cluster.py +2 -0
  9. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/rpc_client.py +2 -2
  10. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/storage_node_ops.py +5 -2
  11. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_cluster.py +2 -1
  12. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +4 -1
  13. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/README.md +0 -0
  14. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/pyproject.toml +0 -0
  15. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  16. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  17. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/sbcli_dev.egg-info/entry_points.txt +0 -0
  18. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/sbcli_dev.egg-info/requires.txt +0 -0
  19. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/sbcli_dev.egg-info/top_level.txt +0 -0
  20. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/setup.cfg +0 -0
  21. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/setup.py +0 -0
  22. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_cli/main.py +0 -0
  23. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/__init__.py +0 -0
  24. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/cnode_client.py +0 -0
  25. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/compute_node_ops.py +0 -0
  26. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/constants.py +0 -0
  27. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/__init__.py +0 -0
  28. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  29. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/cluster_events.py +0 -0
  30. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/device_controller.py +0 -0
  31. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/device_events.py +0 -0
  32. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/events_controller.py +0 -0
  33. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/health_controller.py +0 -0
  34. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/lvol_events.py +0 -0
  35. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/mgmt_events.py +0 -0
  36. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/pool_controller.py +0 -0
  37. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/pool_events.py +0 -0
  38. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/snapshot_events.py +0 -0
  39. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/storage_events.py +0 -0
  40. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/tasks_controller.py +0 -0
  41. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/controllers/tasks_events.py +0 -0
  42. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/distr_controller.py +0 -0
  43. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/kv_store.py +0 -0
  44. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/mgmt_node_ops.py +0 -0
  45. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/__init__.py +0 -0
  46. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/base_model.py +0 -0
  47. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/caching_node.py +0 -0
  48. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/compute_node.py +0 -0
  49. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/deployer.py +0 -0
  50. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/events.py +0 -0
  51. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/global_settings.py +0 -0
  52. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/iface.py +0 -0
  53. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/job_schedule.py +0 -0
  54. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/lvol_model.py +0 -0
  55. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/mgmt_node.py +0 -0
  56. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/nvme_device.py +0 -0
  57. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/pool.py +0 -0
  58. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/port_stat.py +0 -0
  59. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/snapshot.py +0 -0
  60. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/stats.py +0 -0
  61. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/models/storage_node.py +0 -0
  62. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/pci_utils.py +0 -0
  63. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/__init__.py +0 -0
  64. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  65. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  66. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  67. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/config_docker.sh +0 -0
  68. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboard.yml +0 -0
  69. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  70. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  71. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  72. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  73. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  74. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  75. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/datasource.yml +0 -0
  76. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/db_config_double.sh +0 -0
  77. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/db_config_single.sh +0 -0
  78. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  79. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  80. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  81. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/haproxy.cfg +0 -0
  82. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/install_deps.sh +0 -0
  83. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/objstore.yml +0 -0
  84. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/prometheus.yml +0 -0
  85. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/run_ssh.sh +0 -0
  86. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/set_db_config.sh +0 -0
  87. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  88. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/__init__.py +0 -0
  89. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  90. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/caching_node_monitor.py +0 -0
  91. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/cap_monitor.py +0 -0
  92. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  93. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/device_monitor.py +0 -0
  94. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  100. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  101. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/new_device_discovery.py +0 -0
  102. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/port_stat_collector.py +0 -0
  103. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  106. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/storage_node_monitor.py +0 -0
  107. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  108. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  109. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  110. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  111. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  112. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/shell_utils.py +0 -0
  113. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/snode_client.py +0 -0
  114. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_core/utils.py +0 -0
  115. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/__init__.py +0 -0
  116. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/app.py +0 -0
  117. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/auth_middleware.py +0 -0
  118. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/__init__.py +0 -0
  119. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  120. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  121. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  122. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  123. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  124. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/snode_ops.py +0 -0
  125. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  126. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  127. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  128. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_device.py +0 -0
  129. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  130. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  131. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  132. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  133. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  134. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/caching_node_app.py +0 -0
  135. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/caching_node_app_k8s.py +0 -0
  136. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/node_utils.py +0 -0
  137. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/node_webapp.py +0 -0
  138. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/snode_app.py +0 -0
  139. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/snode_app_k8s.py +0 -0
  140. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/delete.py +0 -0
  141. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/deploy.py +0 -0
  142. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  143. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  144. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/is_up.py +0 -0
  145. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/list_deps.py +0 -0
  146. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/rpac.yaml +0 -0
  147. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/static/tst.py +0 -0
  148. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-4.0.66 → sbcli_dev-4.0.68}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 4.0.66
3
+ Version: 4.0.68
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,7 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
- SIMPLY_BLOCK_VERSION=4.0.66
3
-
2
+ SIMPLY_BLOCK_VERSION=4.0.68
4
3
 
5
4
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
6
-
7
5
  DOCKER_USER=hamdysimplyblock
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 4.0.66
3
+ Version: 4.0.68
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -294,7 +294,8 @@ class CLIWrapper:
294
294
  sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
295
295
  dest='ha_type', choices=["single", "ha", "default"], default='single')
296
296
  sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
297
-
297
+ sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count',
298
+ default=6, choices=range(128))
298
299
  # add cluster
299
300
  sub_command = self.add_sub_command(subparser, 'add', 'Add new cluster')
300
301
  sub_command.add_argument("--blk_size", help='The block size in bytes', type=int, choices=[512, 4096], default=512)
@@ -316,6 +317,8 @@ class CLIWrapper:
316
317
  sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
317
318
  dest='ha_type', choices=["single", "ha", "default"], default='default')
318
319
  sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
320
+ sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count',
321
+ default=6, choices=range(128))
319
322
 
320
323
  # Activate cluster
321
324
  sub_command = self.add_sub_command(subparser, 'activate', 'Create distribs and raid0 bdevs on all the storage node and move the cluster to active state')
@@ -1250,10 +1253,11 @@ class CLIWrapper:
1250
1253
  distr_chunk_bs = args.distr_chunk_bs
1251
1254
  ha_type = args.ha_type
1252
1255
  enable_node_affinity = args.enable_node_affinity
1256
+ qpair_count = args.qpair_count
1253
1257
 
1254
1258
  return cluster_ops.add_cluster(
1255
1259
  blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
1256
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
1260
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count)
1257
1261
 
1258
1262
  def cluster_create(self, args):
1259
1263
  page_size_in_blocks = args.page_size
@@ -1274,12 +1278,13 @@ class CLIWrapper:
1274
1278
  contact_point = args.contact_point
1275
1279
  grafana_endpoint = args.grafana_endpoint
1276
1280
  enable_node_affinity = args.enable_node_affinity
1281
+ qpair_count = args.qpair_count
1277
1282
 
1278
1283
  return cluster_ops.create_cluster(
1279
1284
  blk_size, page_size_in_blocks,
1280
1285
  CLI_PASS, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
1281
1286
  ifname, log_del_interval, metrics_retention_period, contact_point, grafana_endpoint,
1282
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
1287
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count)
1283
1288
 
1284
1289
  def query_yes_no(self, question, default="yes"):
1285
1290
  """Ask a yes/no question via raw_input() and return their answer.
@@ -102,7 +102,8 @@ def _add_graylog_input(cluster_ip, password):
102
102
 
103
103
  def create_cluster(blk_size, page_size_in_blocks, cli_pass,
104
104
  cap_warn, cap_crit, prov_cap_warn, prov_cap_crit, ifname, log_del_interval, metrics_retention_period,
105
- contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
105
+ contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type,
106
+ enable_node_affinity, qpair_count):
106
107
  logger.info("Installing dependencies...")
107
108
  ret = scripts.install_deps()
108
109
  logger.info("Installing dependencies > Done")
@@ -169,7 +170,8 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
169
170
  else:
170
171
  c.grafana_endpoint = f"http://{DEV_IP}/grafana"
171
172
  c.enable_node_affinity = enable_node_affinity
172
-
173
+ c.qpair_count = qpair_count or 256
174
+
173
175
  alerts_template_folder = os.path.join(TOP_DIR, "simplyblock_core/scripts/alerting/")
174
176
  alert_resources_file = "alert_resources.yaml"
175
177
 
@@ -287,7 +289,7 @@ def deploy_spdk(node_docker, spdk_cpu_mask, spdk_mem):
287
289
 
288
290
 
289
291
  def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
290
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
292
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count):
291
293
  db_controller = DBController()
292
294
  clusters = db_controller.get_clusters()
293
295
  if not clusters:
@@ -319,6 +321,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
319
321
  cluster.distr_chunk_bs = distr_chunk_bs
320
322
  cluster.ha_type = ha_type
321
323
  cluster.enable_node_affinity = enable_node_affinity
324
+ cluster.qpair_count = qpair_count or 256
322
325
  if cap_warn and cap_warn > 0:
323
326
  cluster.cap_warn = cap_warn
324
327
  if cap_crit and cap_crit > 0:
@@ -635,6 +635,7 @@ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
635
635
  ret = rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid)
636
636
  logger.debug(ret)
637
637
 
638
+ cluster = db_controller.get_cluster_by_id(snode.cluster_id)
638
639
  # add listeners
639
640
  logger.info("adding listeners")
640
641
  for iface in snode.data_nics:
@@ -647,7 +648,7 @@ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
647
648
  if ty['trtype'] == tr_type:
648
649
  found = True
649
650
  if found is False:
650
- ret = rpc_client.transport_create(tr_type)
651
+ ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
651
652
  logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
652
653
  ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
653
654
  is_optimized = False
@@ -695,6 +696,7 @@ def recreate_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
695
696
  ret = rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid)
696
697
  logger.debug(ret)
697
698
 
699
+ cluster = db_controller.get_cluster_by_id(snode.cluster_id)
698
700
  # add listeners
699
701
  logger.info("adding listeners")
700
702
  for iface in snode.data_nics:
@@ -707,7 +709,7 @@ def recreate_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
707
709
  if ty['trtype'] == tr_type:
708
710
  found = True
709
711
  if found is False:
710
- ret = rpc_client.transport_create(tr_type)
712
+ ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
711
713
  logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
712
714
  ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
713
715
  is_optimized = False
@@ -307,12 +307,13 @@ def clone(snapshot_id, clone_name, new_size=0):
307
307
  logger.info("creating subsystem %s", subsystem_nqn)
308
308
  ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', lvol.uuid)
309
309
 
310
+ cluster = db_controller.get_cluster_by_id(snode.cluster_id)
310
311
  # add listeners
311
312
  logger.info("adding listeners")
312
313
  for iface in snode.data_nics:
313
314
  if iface.ip4_address:
314
315
  tr_type = iface.get_transport_type()
315
- ret = rpc_client.transport_create(tr_type)
316
+ ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
316
317
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
317
318
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
318
319
 
@@ -50,6 +50,8 @@ class Cluster(BaseModel):
50
50
  "prov_cap_warn": {"type": int, "default": 180},
51
51
  "prov_cap_crit": {"type": int, "default": 190},
52
52
 
53
+ "qpair_count": {"type": int, "default": 6},
54
+
53
55
  "secret": {"type": str, "default": ""},
54
56
  "status": {"type": str, "default": ""},
55
57
  "updated_at": {"type": str, "default": ""},
@@ -119,7 +119,7 @@ class RPCClient:
119
119
  params = {"trtype": trtype}
120
120
  return self._request("nvmf_get_transports", params)
121
121
 
122
- def transport_create(self, trtype):
122
+ def transport_create(self, trtype, qpair_count=256):
123
123
  """
124
124
  [{'trtype': 'TCP', 'max_queue_depth': 128,
125
125
  'max_io_qpairs_per_ctrlr': 127, 'in_capsule_data_size': 4096,
@@ -134,7 +134,7 @@ class RPCClient:
134
134
  """
135
135
  params = {
136
136
  "trtype": trtype,
137
- "max_io_qpairs_per_ctrlr": 256,
137
+ "max_io_qpairs_per_ctrlr": qpair_count,
138
138
  "max_queue_depth": 512,
139
139
  "abort_timeout_sec": 5,
140
140
  "ack_timeout": 512,
@@ -440,6 +440,7 @@ def _create_jm_stack_on_device(rpc_client, nvme, snode, after_restart):
440
440
 
441
441
 
442
442
  def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
443
+ db_controller = DBController()
443
444
  nvme_bdev = nvme.nvme_bdev
444
445
  if snode.enable_test_device:
445
446
  test_name = f"{nvme.nvme_bdev}_test"
@@ -478,6 +479,7 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
478
479
  logger.error(f"Failed to create pt noexcl bdev: {pt_name}")
479
480
  return False
480
481
 
482
+ cluster = db_controller.get_cluster_by_id(snode.cluster_id)
481
483
  subsystem_nqn = snode.subsystem + ":dev:" + alceml_id
482
484
  logger.info("creating subsystem %s", subsystem_nqn)
483
485
  ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', alceml_id)
@@ -492,7 +494,7 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
492
494
  if ty['trtype'] == tr_type:
493
495
  found = True
494
496
  if found is False:
495
- ret = rpc_client.transport_create(tr_type)
497
+ ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
496
498
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
497
499
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
498
500
  IP = iface.ip4_address
@@ -729,6 +731,7 @@ def _prepare_cluster_devices_on_restart(snode):
729
731
  logger.error(f"Failed to create pt noexcl bdev: {pt_name}")
730
732
  return False
731
733
 
734
+ cluster = db_controller.get_cluster_by_id(snode.cluster_id)
732
735
  subsystem_nqn = snode.subsystem + ":dev:" + jm_bdev
733
736
  logger.info("creating subsystem %s", subsystem_nqn)
734
737
  ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', jm_bdev)
@@ -743,7 +746,7 @@ def _prepare_cluster_devices_on_restart(snode):
743
746
  if ty['trtype'] == tr_type:
744
747
  found = True
745
748
  if found is False:
746
- ret = rpc_client.transport_create(tr_type)
749
+ ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
747
750
  logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
748
751
  ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
749
752
  IP = iface.ip4_address
@@ -45,9 +45,10 @@ def add_cluster():
45
45
  distr_chunk_bs = cl_data.get('distr_chunk_bs', 4096)
46
46
  ha_type = cl_data.get('ha_type', 'single')
47
47
  enable_node_affinity = cl_data.get('enable_node_affinity', False)
48
+ qpair_count = cl_data.get('qpair_count', 256)
48
49
 
49
50
  ret = cluster_ops.add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
50
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
51
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count)
51
52
 
52
53
  return utils.get_response(ret)
53
54
 
@@ -122,7 +122,10 @@ spec:
122
122
  value: "{{ RPC_USERNAME }}"
123
123
  - name: RPC_PASSWORD
124
124
  value: "{{ RPC_PASSWORD }}"
125
-
125
+ - name: MULTI_THREADING_ENABLED
126
+ value: "True"
127
+ - name: TIMEOUT
128
+ value: "300"
126
129
  - name: fluentd
127
130
  image: fluent/fluentd-kubernetes-daemonset:v1.17.1-debian-graylog-1.2
128
131
  imagePullPolicy: "Always"
File without changes
File without changes
File without changes
File without changes