sbcli-dev 3.8.88__zip → 3.8.90__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/PKG-INFO +1 -1
  2. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/env_var +1 -1
  3. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_cli/cli.py +6 -2
  5. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/cluster_ops.py +4 -2
  6. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/distr_controller.py +5 -2
  7. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/cluster.py +2 -1
  8. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/rpc_client.py +1 -1
  9. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_cluster.py +3 -1
  10. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/README.md +0 -0
  11. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/pyproject.toml +0 -0
  12. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  13. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  14. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/sbcli_dev.egg-info/entry_points.txt +0 -0
  15. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/sbcli_dev.egg-info/requires.txt +0 -0
  16. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/sbcli_dev.egg-info/top_level.txt +0 -0
  17. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/setup.cfg +0 -0
  18. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/setup.py +0 -0
  19. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_cli/main.py +0 -0
  20. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/__init__.py +0 -0
  21. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/cnode_client.py +0 -0
  22. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/compute_node_ops.py +0 -0
  23. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/constants.py +0 -0
  24. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/device_controller.py +0 -0
  28. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/device_events.py +0 -0
  29. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/events_controller.py +0 -0
  30. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/health_controller.py +0 -0
  31. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/lvol_controller.py +0 -0
  32. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/lvol_events.py +0 -0
  33. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/mgmt_events.py +0 -0
  34. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/pool_controller.py +0 -0
  35. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/pool_events.py +0 -0
  36. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  37. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/snapshot_events.py +0 -0
  38. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/storage_events.py +0 -0
  39. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/tasks_controller.py +0 -0
  40. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/controllers/tasks_events.py +0 -0
  41. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/kv_store.py +0 -0
  42. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/mgmt_node_ops.py +0 -0
  43. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/__init__.py +0 -0
  44. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/base_model.py +0 -0
  45. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/caching_node.py +0 -0
  46. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/compute_node.py +0 -0
  47. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/deployer.py +0 -0
  48. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/events.py +0 -0
  49. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/global_settings.py +0 -0
  50. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/iface.py +0 -0
  51. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/job_schedule.py +0 -0
  52. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/lvol_model.py +0 -0
  53. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/mgmt_node.py +0 -0
  54. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/nvme_device.py +0 -0
  55. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/pool.py +0 -0
  56. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/port_stat.py +0 -0
  57. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/snapshot.py +0 -0
  58. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/stats.py +0 -0
  59. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/models/storage_node.py +0 -0
  60. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/pci_utils.py +0 -0
  61. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/__init__.py +0 -0
  62. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  63. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  64. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  65. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/config_docker.sh +0 -0
  66. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboard.yml +0 -0
  67. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  68. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  69. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  70. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  71. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  72. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  73. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/datasource.yml +0 -0
  74. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/db_config_double.sh +0 -0
  75. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/db_config_single.sh +0 -0
  76. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  77. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  78. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  79. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/haproxy.cfg +0 -0
  80. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/install_deps.sh +0 -0
  81. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/objstore.yml +0 -0
  82. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/prometheus.yml +0 -0
  83. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/run_ssh.sh +0 -0
  84. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/set_db_config.sh +0 -0
  85. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  86. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/__init__.py +0 -0
  87. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  88. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/caching_node_monitor.py +0 -0
  89. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/cap_monitor.py +0 -0
  90. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  91. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/device_monitor.py +0 -0
  92. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/distr_event_collector.py +0 -0
  93. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/health_check_service.py +0 -0
  94. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/install_service.sh +0 -0
  95. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/log_agg_service.py +0 -0
  96. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/lvol_monitor.py +0 -0
  97. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  98. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  99. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  100. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/new_device_discovery.py +0 -0
  101. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/port_stat_collector.py +0 -0
  102. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/remove_service.sh +0 -0
  103. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/service_template.service +0 -0
  104. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  105. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/storage_node_monitor.py +0 -0
  106. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  107. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  108. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  109. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  110. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  111. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/shell_utils.py +0 -0
  112. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/snode_client.py +0 -0
  113. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/storage_node_ops.py +0 -0
  114. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_core/utils.py +0 -0
  115. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/__init__.py +0 -0
  116. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/app.py +0 -0
  117. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/auth_middleware.py +0 -0
  118. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/__init__.py +0 -0
  119. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  120. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  121. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  122. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  123. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  124. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/snode_ops.py +0 -0
  125. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  126. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  127. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  128. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_device.py +0 -0
  129. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  130. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  131. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  132. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  133. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  134. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/caching_node_app.py +0 -0
  135. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/caching_node_app_k8s.py +0 -0
  136. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/node_utils.py +0 -0
  137. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/node_webapp.py +0 -0
  138. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/snode_app.py +0 -0
  139. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/snode_app_k8s.py +0 -0
  140. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/delete.py +0 -0
  141. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/deploy.py +0 -0
  142. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  143. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  144. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/is_up.py +0 -0
  145. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/list_deps.py +0 -0
  146. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/rpac.yaml +0 -0
  147. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/static/tst.py +0 -0
  148. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  150. {sbcli_dev-3.8.88 → sbcli_dev-3.8.90}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 3.8.88
3
+ Version: 3.8.90
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
- SIMPLY_BLOCK_VERSION=3.8.88
2
+ SIMPLY_BLOCK_VERSION=3.8.90
3
3
 
4
4
 
5
5
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 3.8.88
3
+ Version: 3.8.90
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -285,6 +285,7 @@ class CLIWrapper:
285
285
  default=4096)
286
286
  sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
287
287
  dest='ha_type', choices=["single", "ha", "default"], default='single')
288
+ sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
288
289
 
289
290
  # add cluster
290
291
  sub_command = self.add_sub_command(subparser, 'add', 'Add new cluster')
@@ -306,6 +307,7 @@ class CLIWrapper:
306
307
  default=4096)
307
308
  sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
308
309
  dest='ha_type', choices=["single", "ha", "default"], default='default')
310
+ sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
309
311
 
310
312
  # Activate cluster
311
313
  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')
@@ -1234,10 +1236,11 @@ class CLIWrapper:
1234
1236
  distr_bs = args.distr_bs
1235
1237
  distr_chunk_bs = args.distr_chunk_bs
1236
1238
  ha_type = args.ha_type
1239
+ enable_node_affinity = args.enable_node_affinity
1237
1240
 
1238
1241
  return cluster_ops.add_cluster(
1239
1242
  blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
1240
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type)
1243
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
1241
1244
 
1242
1245
  def cluster_create(self, args):
1243
1246
  page_size_in_blocks = args.page_size
@@ -1257,12 +1260,13 @@ class CLIWrapper:
1257
1260
  metrics_retention_period = args.metrics_retention_period
1258
1261
  contact_point = args.contact_point
1259
1262
  grafana_endpoint = args.grafana_endpoint
1263
+ enable_node_affinity = args.enable_node_affinity
1260
1264
 
1261
1265
  return cluster_ops.create_cluster(
1262
1266
  blk_size, page_size_in_blocks,
1263
1267
  CLI_PASS, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
1264
1268
  ifname, log_del_interval, metrics_retention_period, contact_point, grafana_endpoint,
1265
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type)
1269
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
1266
1270
 
1267
1271
  def query_yes_no(self, question, default="yes"):
1268
1272
  """Ask a yes/no question via raw_input() and return their answer.
@@ -108,7 +108,7 @@ def _add_graylog_input(cluster_ip, password):
108
108
 
109
109
  def create_cluster(blk_size, page_size_in_blocks, cli_pass,
110
110
  cap_warn, cap_crit, prov_cap_warn, prov_cap_crit, ifname, log_del_interval, metrics_retention_period,
111
- contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type):
111
+ contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
112
112
  logger.info("Installing dependencies...")
113
113
  ret = scripts.install_deps()
114
114
  logger.info("Installing dependencies > Done")
@@ -171,6 +171,7 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
171
171
  c.distr_chunk_bs = distr_chunk_bs
172
172
  c.ha_type = ha_type
173
173
  c.grafana_endpoint = grafana_endpoint
174
+ c.enable_node_affinity = enable_node_affinity
174
175
 
175
176
  alerts_template_folder = os.path.join(TOP_DIR, "simplyblock_core/scripts/alerting/")
176
177
  alert_resources_file = "alert_resources.yaml"
@@ -288,7 +289,7 @@ def deploy_spdk(node_docker, spdk_cpu_mask, spdk_mem):
288
289
 
289
290
 
290
291
  def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
291
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type):
292
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
292
293
  db_controller = DBController()
293
294
  clusters = db_controller.get_clusters()
294
295
  if not clusters:
@@ -319,6 +320,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
319
320
  cluster.distr_bs = distr_bs
320
321
  cluster.distr_chunk_bs = distr_chunk_bs
321
322
  cluster.ha_type = ha_type
323
+ cluster.enable_node_affinity = enable_node_affinity
322
324
  if cap_warn and cap_warn > 0:
323
325
  cluster.cap_warn = cap_warn
324
326
  if cap_crit and cap_crit > 0:
@@ -75,6 +75,8 @@ def get_distr_cluster_map(snodes, target_node):
75
75
  map_cluster = {}
76
76
  map_prob = []
77
77
  local_node_index = 0
78
+ db_controller = DBController()
79
+ cluster = db_controller.get_cluster_by_id(target_node.cluster_id)
78
80
  for index, snode in enumerate(snodes):
79
81
  dev_map = {}
80
82
  dev_w_map = []
@@ -122,9 +124,10 @@ def get_distr_cluster_map(snodes, target_node):
122
124
  "UUID_node_target": "",
123
125
  "timestamp": datetime.datetime.now().isoformat("T", "seconds")+'Z',
124
126
  "map_cluster": map_cluster,
125
- "map_prob": map_prob,
126
- 'ppln1': local_node_index
127
+ "map_prob": map_prob
127
128
  }
129
+ if cluster.enable_node_affinity:
130
+ cl_map['ppln1'] = local_node_index
128
131
  return cl_map
129
132
 
130
133
 
@@ -53,7 +53,8 @@ class Cluster(BaseModel):
53
53
  "secret": {"type": str, "default": ""},
54
54
  "status": {"type": str, "default": ""},
55
55
  "updated_at": {"type": str, "default": ""},
56
- "grafana_endpoint": {"type": str, "default": ""}
56
+ "grafana_endpoint": {"type": str, "default": ""},
57
+ "enable_node_affinity": {"type": bool, 'default': False},
57
58
  }
58
59
 
59
60
  def __init__(self, data=None):
@@ -550,7 +550,7 @@ class RPCClient:
550
550
  "reconnect_delay_sec": 1,
551
551
  "keep_alive_timeout_ms": 200,
552
552
  "transport_ack_timeout": 7,
553
- "timeout_us": 100000
553
+ "timeout_us": 500000
554
554
  }
555
555
  return self._request("bdev_nvme_set_options", params)
556
556
 
@@ -30,6 +30,7 @@ def add_cluster():
30
30
  prov_cap_warn = 0
31
31
  prov_cap_crit = 0
32
32
 
33
+
33
34
  cl_data = request.get_json()
34
35
  if 'blk_size' in cl_data:
35
36
  if cl_data['blk_size'] not in [512, 4096]:
@@ -44,9 +45,10 @@ def add_cluster():
44
45
  distr_bs = cl_data.get('distr_bs', 4096)
45
46
  distr_chunk_bs = cl_data.get('distr_chunk_bs', 4096)
46
47
  ha_type = cl_data.get('ha_type', 'single')
48
+ enable_node_affinity = cl_data.get('enable_node_affinity', False)
47
49
 
48
50
  ret = cluster_ops.add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
49
- distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type)
51
+ distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
50
52
 
51
53
  return utils.get_response(ret)
52
54
 
File without changes
File without changes
File without changes
File without changes