sbcli-dev 17.2.2__tar.gz → 17.2.3__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 (158) hide show
  1. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/PKG-INFO +1 -1
  2. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/sbcli_dev.egg-info/PKG-INFO +1 -1
  3. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_cli/clibase.py +2 -1
  4. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/pool_controller.py +39 -22
  5. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/env_var +1 -1
  6. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_pool.py +17 -11
  7. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/README.md +0 -0
  8. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/pyproject.toml +0 -0
  9. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/requirements.txt +0 -0
  10. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  11. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  12. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/sbcli_dev.egg-info/entry_points.txt +0 -0
  13. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/sbcli_dev.egg-info/requires.txt +0 -0
  14. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/sbcli_dev.egg-info/top_level.txt +0 -0
  15. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/setup.cfg +0 -0
  16. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/setup.py +0 -0
  17. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_cli/__init__.py +0 -0
  18. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_cli/cli.py +0 -0
  19. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_cli/main.py +0 -0
  20. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/__init__.py +0 -0
  21. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/cluster_ops.py +0 -0
  22. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/constants.py +0 -0
  24. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/device_controller.py +0 -0
  28. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/device_events.py +0 -0
  29. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/events_controller.py +0 -0
  30. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/health_controller.py +0 -0
  31. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/lvol_controller.py +0 -0
  32. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/lvol_events.py +0 -0
  33. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/mgmt_events.py +0 -0
  34. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/pool_events.py +0 -0
  35. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  36. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/snapshot_events.py +0 -0
  37. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/storage_events.py +0 -0
  38. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/tasks_controller.py +0 -0
  39. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/tasks_events.py +0 -0
  40. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
  41. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/db_controller.py +0 -0
  42. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/distr_controller.py +0 -0
  43. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/mgmt_node_ops.py +0 -0
  44. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/__init__.py +0 -0
  45. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/base_model.py +0 -0
  46. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/caching_node.py +0 -0
  47. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/cluster.py +0 -0
  48. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/deployer.py +0 -0
  49. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/events.py +0 -0
  50. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/iface.py +0 -0
  51. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/job_schedule.py +0 -0
  52. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/lvol_model.py +0 -0
  53. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/mgmt_node.py +0 -0
  54. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/nvme_device.py +0 -0
  55. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/pool.py +0 -0
  56. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/port_stat.py +0 -0
  57. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/snapshot.py +0 -0
  58. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/stats.py +0 -0
  59. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/models/storage_node.py +0 -0
  60. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/pci_utils.py +0 -0
  61. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/rpc_client.py +0 -0
  62. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/__init__.py +0 -0
  63. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  64. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  65. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  66. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/config_docker.sh +0 -0
  67. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboard.yml +0 -0
  68. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  69. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  70. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  71. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  72. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  73. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  74. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/datasource.yml +0 -0
  75. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/db_config_double.sh +0 -0
  76. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/db_config_single.sh +0 -0
  77. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  78. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  79. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  80. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  81. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/foundation.yml +0 -0
  82. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/haproxy.cfg +0 -0
  83. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/install_deps.sh +0 -0
  84. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/objstore.yml +0 -0
  85. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  86. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/prometheus.yml +0 -0
  87. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/run_ssh.sh +0 -0
  88. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/set_db_config.sh +0 -0
  89. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  90. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/__init__.py +0 -0
  91. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  92. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/caching_node_monitor.py +0 -0
  93. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/cap_monitor.py +0 -0
  94. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  95. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/device_monitor.py +0 -0
  96. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/health_check_service.py +0 -0
  97. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/install_service.sh +0 -0
  98. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/lvol_monitor.py +0 -0
  99. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  100. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  101. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  102. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/new_device_discovery.py +0 -0
  103. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/spdk/__init__.py +0 -0
  106. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/spdk/client.py +0 -0
  107. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  108. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/spdk_stats_collector.py +0 -0
  109. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/storage_node_monitor.py +0 -0
  110. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  111. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  112. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  113. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  114. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  115. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/shell_utils.py +0 -0
  116. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/snode_client.py +0 -0
  117. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/storage_node_ops.py +0 -0
  118. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/test/test_utils.py +0 -0
  119. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/utils.py +0 -0
  120. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  121. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/README.md +0 -0
  122. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/__init__.py +0 -0
  123. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/app.py +0 -0
  124. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/auth_middleware.py +0 -0
  125. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/__init__.py +0 -0
  126. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  127. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  128. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  129. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  130. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  131. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/snode_ops.py +0 -0
  132. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  133. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/swagger_ui_blueprint.py +0 -0
  134. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  135. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  136. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  137. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_device.py +0 -0
  138. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  139. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  140. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  141. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  142. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/node_utils.py +0 -0
  143. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/node_utils_k8s.py +0 -0
  144. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/node_webapp.py +0 -0
  145. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/requirements.txt +0 -0
  146. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +0 -0
  147. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/delete.py +0 -0
  148. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/deploy.py +0 -0
  149. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  150. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  151. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/is_up.py +0 -0
  152. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/list_deps.py +0 -0
  153. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/rpac.yaml +0 -0
  154. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/swagger.yaml +0 -0
  155. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/static/tst.py +0 -0
  156. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  157. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  158. {sbcli_dev-17.2.2 → sbcli_dev-17.2.3}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sbcli-dev
3
- Version: 17.2.2
3
+ Version: 17.2.3
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sbcli-dev
3
- Version: 17.2.2
3
+ Version: 17.2.3
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -508,7 +508,7 @@ class CLIWrapperBase:
508
508
  pool_max = utils.parse_size(args.pool_max)
509
509
  if args.lvol_max:
510
510
  lvol_max = utils.parse_size(args.lvol_max)
511
- return pool_controller.set_pool(
511
+ ret, err = pool_controller.set_pool(
512
512
  args.pool_id,
513
513
  pool_max,
514
514
  lvol_max,
@@ -516,6 +516,7 @@ class CLIWrapperBase:
516
516
  args.max_rw_mbytes,
517
517
  args.max_r_mbytes,
518
518
  args.max_w_mbytes)
519
+ return ret
519
520
 
520
521
  def storage_pool__list(self, sub_command, args):
521
522
  return pool_controller.list_pools(args.json, args.cluster_id)
@@ -75,48 +75,65 @@ def set_pool_value_if_above(pool, key, value):
75
75
  current_value = getattr(pool, key)
76
76
  if value > current_value:
77
77
  setattr(pool, key, value)
78
- return True
78
+ return True, None
79
79
  else:
80
- logger.error(f"{key}: {value} can't be less than current value: {current_value}")
81
- return False
80
+ msg = f"{key}: {value} can't be less than current value: {current_value}"
81
+ logger.error(msg)
82
+ return False, msg
82
83
 
83
84
 
84
- def set_pool(uuid, pool_max, lvol_max, max_rw_iops,
85
- max_rw_mbytes, max_r_mbytes, max_w_mbytes):
85
+ def set_pool(uuid, pool_max=0, lvol_max=0, max_rw_iops=0,
86
+ max_rw_mbytes=0, max_r_mbytes=0, max_w_mbytes=0, name=""):
86
87
  db_controller = DBController()
87
88
  pool = db_controller.get_pool_by_id(uuid)
88
89
  if not pool:
89
- logger.error(f"Pool not found {uuid}")
90
- return False
90
+ msg = f"Pool not found: {uuid}"
91
+ logger.error(msg)
92
+ return False, msg
91
93
 
92
94
  if pool.status == Pool.STATUS_INACTIVE:
93
- logger.error("Pool is disabled")
94
- return False
95
+ msg = "Pool is disabled"
96
+ logger.error(msg)
97
+ return False, msg
98
+
99
+
100
+ values = []
101
+
102
+ if name:
103
+ for p in db_controller.get_pools():
104
+ if p.pool_name == name:
105
+ msg = f"Pool found with the same name: {name}"
106
+ logger.error(msg)
107
+ return False, msg
108
+ values.append(("name", name))
95
109
 
96
110
  if pool_max:
97
- if not set_pool_value_if_above(pool, "pool_max_size", pool_max):
98
- return False
111
+ values.append(("pool_max_size", pool_max))
112
+
99
113
  if lvol_max:
100
- if not set_pool_value_if_above(pool, "lvol_max_size", lvol_max):
101
- return False
114
+ values.append(("lvol_max_size", lvol_max))
102
115
 
103
116
  if max_rw_iops:
104
- if not set_pool_value_if_above(pool, "max_rw_ios_per_sec", max_rw_iops):
105
- return False
117
+ values.append(("max_rw_ios_per_sec", max_rw_iops))
118
+
106
119
  if max_rw_mbytes:
107
- if not set_pool_value_if_above(pool, "max_rw_mbytes_per_sec", max_rw_mbytes):
108
- return False
120
+ values.append(("max_rw_mbytes_per_sec", max_rw_mbytes))
121
+
109
122
  if max_r_mbytes:
110
- if not set_pool_value_if_above(pool, "max_r_mbytes_per_sec", max_r_mbytes):
111
- return False
123
+ values.append(("max_r_mbytes_per_sec", max_r_mbytes))
124
+
112
125
  if max_w_mbytes:
113
- if not set_pool_value_if_above(pool, "max_w_mbytes_per_sec", max_w_mbytes):
114
- return False
126
+ values.append(("max_w_mbytes_per_sec", max_w_mbytes))
127
+
128
+ for k, v in values:
129
+ ret, err = set_pool_value_if_above(pool, k, v)
130
+ if err:
131
+ return False, err
115
132
 
116
133
  pool.write_to_db(db_controller.kv_store)
117
134
  pool_events.pool_updated(pool)
118
135
  logger.info("Done")
119
- return True
136
+ return True, None
120
137
 
121
138
 
122
139
  def delete_pool(uuid):
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
- SIMPLY_BLOCK_VERSION=17.2.2
2
+ SIMPLY_BLOCK_VERSION=17.2.3
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=public.ecr.aws/simply-block/simplyblock:main
5
5
  SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=public.ecr.aws/simply-block/ultra:main-latest
@@ -129,28 +129,34 @@ def update_pool(uuid):
129
129
 
130
130
  pool_data = request.get_json()
131
131
 
132
- pool.pool_name = pool_data.get('name') or pool.pool_name
132
+ fn_params = {"uuid": uuid}
133
+
134
+ if 'name' in pool_data:
135
+ nm = pool_data['name']
136
+ if nm:
137
+ fn_params['name'] = nm
133
138
 
134
139
  if 'pool_max' in pool_data:
135
- pool.pool_max_size = core_utils.parse_size(pool_data['pool_max'])
140
+ fn_params['pool_max'] = core_utils.parse_size(pool_data['pool_max'])
136
141
 
137
142
  if 'lvol_max' in pool_data:
138
- pool.lvol_max_size = core_utils.parse_size(pool_data['lvol_max'])
143
+ fn_params['lvol_max'] = core_utils.parse_size(pool_data['lvol_max'])
139
144
 
140
- if 'max_r_iops' in pool_data:
141
- pool.max_r_iops = core_utils.parse_size(pool_data['max_r_iops'])
145
+ if 'max_rw_iops' in pool_data:
146
+ fn_params['max_rw_iops'] = core_utils.parse_size(pool_data['max_rw_iops'])
142
147
 
143
- if 'max_w_iops' in pool_data:
144
- pool.max_w_iops = core_utils.parse_size(pool_data['max_w_iops'])
148
+ if 'max_rw_mbytes' in pool_data:
149
+ fn_params['max_rw_mbytes'] = core_utils.parse_size(pool_data['max_rw_mbytes'])
145
150
 
146
151
  if 'max_r_mbytes' in pool_data:
147
- pool.max_r_mbytes_per_sec = core_utils.parse_size(pool_data['max_r_mbytes'])
152
+ fn_params['max_r_mbytes'] = core_utils.parse_size(pool_data['max_r_mbytes'])
148
153
 
149
154
  if 'max_w_mbytes' in pool_data:
150
- pool.max_w_mbytes_per_sec = core_utils.parse_size(pool_data['max_w_mbytes'])
155
+ fn_params['max_w_mbytes'] = core_utils.parse_size(pool_data['max_w_mbytes'])
156
+
157
+ ret, err = pool_controller.set_pool(**fn_params)
151
158
 
152
- pool.write_to_db(db_controller.kv_store)
153
- return utils.get_response(pool.to_dict())
159
+ return utils.get_response(ret, err)
154
160
 
155
161
 
156
162
  @bp.route('/pool/capacity/<string:uuid>', methods=['GET'])
File without changes
File without changes
File without changes
File without changes
File without changes