sbcli-dev 19.0.2__tar.gz → 19.0.4__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 (174) hide show
  1. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/PKG-INFO +1 -1
  2. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/sbcli_dev.egg-info/PKG-INFO +1 -1
  3. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/sbcli_dev.egg-info/SOURCES.txt +0 -2
  4. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_cli/cli.py +1 -110
  5. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_cli/clibase.py +0 -96
  6. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/cluster_ops.py +102 -222
  7. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/cnode_client.py +3 -5
  8. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/device_controller.py +70 -53
  9. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/health_controller.py +40 -21
  10. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/lvol_controller.py +11 -7
  11. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/snapshot_controller.py +9 -7
  12. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/db_controller.py +15 -12
  13. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/distr_controller.py +10 -9
  14. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/env_var +1 -1
  15. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/base_model.py +1 -1
  16. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/caching_node.py +2 -2
  17. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/lvol_model.py +1 -1
  18. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/snapshot.py +1 -1
  19. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/storage_node.py +8 -5
  20. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/rpc_client.py +8 -3
  21. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/spdk/client.py +13 -5
  22. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_runner_failed_migration.py +7 -7
  23. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_runner_migration.py +8 -7
  24. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_runner_new_dev_migration.py +8 -7
  25. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_runner_port_allow.py +9 -3
  26. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/storage_node_ops.py +128 -94
  27. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/utils.py +4 -4
  28. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/caching_node_ops.py +89 -130
  29. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/caching_node_ops_k8s.py +67 -109
  30. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/snode_ops.py +8 -16
  31. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_device.py +24 -17
  32. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_storage_node.py +31 -20
  33. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/node_webapp.py +4 -4
  34. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/api/test_lvol.py +1 -0
  35. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/api/test_pool.py +1 -0
  36. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/api/test_snapshot.py +1 -0
  37. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/utils.py +33 -0
  38. sbcli_dev-19.0.2/simplyblock_web/blueprints/node_api_caching_docker.py +0 -179
  39. sbcli_dev-19.0.2/simplyblock_web/blueprints/node_api_caching_ks.py +0 -174
  40. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/README.md +0 -0
  41. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/pyproject.toml +0 -0
  42. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/requirements.txt +0 -0
  43. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  44. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/sbcli_dev.egg-info/entry_points.txt +0 -0
  45. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/sbcli_dev.egg-info/requires.txt +0 -0
  46. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/sbcli_dev.egg-info/top_level.txt +0 -0
  47. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/setup.cfg +0 -0
  48. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/setup.py +0 -0
  49. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_cli/__init__.py +0 -0
  50. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_cli/main.py +0 -0
  51. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/__init__.py +0 -0
  52. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/constants.py +0 -0
  53. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/__init__.py +0 -0
  54. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  55. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/cluster_events.py +0 -0
  56. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/device_events.py +0 -0
  57. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/events_controller.py +0 -0
  58. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/lvol_events.py +0 -0
  59. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/mgmt_events.py +0 -0
  60. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/pool_controller.py +0 -0
  61. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/pool_events.py +0 -0
  62. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/snapshot_events.py +0 -0
  63. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/storage_events.py +0 -0
  64. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/tasks_controller.py +0 -0
  65. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/tasks_events.py +0 -0
  66. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
  67. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/mgmt_node_ops.py +0 -0
  68. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/__init__.py +0 -0
  69. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/cluster.py +0 -0
  70. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/deployer.py +0 -0
  71. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/events.py +0 -0
  72. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/hublvol.py +0 -0
  73. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/iface.py +0 -0
  74. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/job_schedule.py +0 -0
  75. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/mgmt_node.py +0 -0
  76. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/nvme_device.py +0 -0
  77. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/pool.py +0 -0
  78. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/port_stat.py +0 -0
  79. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/models/stats.py +0 -0
  80. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/pci_utils.py +0 -0
  81. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/__init__.py +0 -0
  82. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  83. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  84. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  85. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/config_docker.sh +0 -0
  86. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboard.yml +0 -0
  87. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  88. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  89. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  90. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  91. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  92. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  93. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/datasource.yml +0 -0
  94. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/db_config_double.sh +0 -0
  95. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/db_config_single.sh +0 -0
  96. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  97. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  98. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  99. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  100. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/foundation.yml +0 -0
  101. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/haproxy.cfg +0 -0
  102. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/helpers/__init__.py +0 -0
  103. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/helpers/deploy_cluster.sh +0 -0
  104. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/helpers/destroy_cluster.sh +0 -0
  105. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +0 -0
  106. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/install_deps.sh +0 -0
  107. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/objstore.yml +0 -0
  108. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  109. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/prometheus.yml.j2 +0 -0
  110. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/run_ssh.sh +0 -0
  111. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/set_db_config.sh +0 -0
  112. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  113. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/__init__.py +0 -0
  114. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  115. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/caching_node_monitor.py +0 -0
  116. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/cap_monitor.py +0 -0
  117. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  118. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/device_monitor.py +0 -0
  119. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/health_check_service.py +0 -0
  120. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/install_service.sh +0 -0
  121. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/lvol_monitor.py +0 -0
  122. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  123. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  124. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  125. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/new_device_discovery.py +0 -0
  126. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/remove_service.sh +0 -0
  127. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/service_template.service +0 -0
  128. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/spdk/__init__.py +0 -0
  129. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  130. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/storage_node_monitor.py +0 -0
  131. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_cluster_status.py +0 -0
  132. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  133. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  134. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/shell_utils.py +0 -0
  135. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/snode_client.py +0 -0
  136. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/test/test_models.py +0 -0
  137. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/test/test_utils.py +0 -0
  138. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  139. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/README.md +0 -0
  140. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/__init__.py +0 -0
  141. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/app.py +0 -0
  142. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/auth_middleware.py +0 -0
  143. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/__init__.py +0 -0
  144. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  145. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  146. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/swagger_ui_blueprint.py +0 -0
  147. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  148. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  149. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  150. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  151. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_metrics.py +0 -0
  152. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  153. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  154. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  155. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/node_configure.py +0 -0
  156. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/node_utils.py +0 -0
  157. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/node_utils_k8s.py +0 -0
  158. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +0 -0
  159. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/delete.py +0 -0
  160. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/deploy.py +0 -0
  161. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  162. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  163. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/is_up.py +0 -0
  164. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/list_deps.py +0 -0
  165. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/rpac.yaml +0 -0
  166. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/swagger.yaml +0 -0
  167. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/static/tst.py +0 -0
  168. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  169. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  170. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/api/test_storage_node.py +0 -0
  171. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/conftest.py +0 -0
  172. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/pytest.ini +0 -0
  173. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/requirements.txt +0 -0
  174. {sbcli_dev-19.0.2 → sbcli_dev-19.0.4}/simplyblock_web/test/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sbcli-dev
3
- Version: 19.0.2
3
+ Version: 19.0.4
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: 19.0.2
3
+ Version: 19.0.4
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -135,8 +135,6 @@ simplyblock_web/blueprints/__init__.py
135
135
  simplyblock_web/blueprints/caching_node_ops.py
136
136
  simplyblock_web/blueprints/caching_node_ops_k8s.py
137
137
  simplyblock_web/blueprints/node_api_basic.py
138
- simplyblock_web/blueprints/node_api_caching_docker.py
139
- simplyblock_web/blueprints/node_api_caching_ks.py
140
138
  simplyblock_web/blueprints/snode_ops.py
141
139
  simplyblock_web/blueprints/snode_ops_k8s.py
142
140
  simplyblock_web/blueprints/swagger_ui_blueprint.py
@@ -301,7 +301,6 @@ class CLIWrapper(CLIWrapperBase):
301
301
 
302
302
  def init_cluster(self):
303
303
  subparser = self.add_command('cluster', 'Cluster commands')
304
- self.init_cluster__deploy(subparser)
305
304
  self.init_cluster__create(subparser)
306
305
  self.init_cluster__add(subparser)
307
306
  self.init_cluster__activate(subparser)
@@ -330,85 +329,6 @@ class CLIWrapper(CLIWrapperBase):
330
329
  self.init_cluster__set(subparser)
331
330
 
332
331
 
333
- def init_cluster__deploy(self, subparser):
334
- subcommand = self.add_sub_command(subparser, 'deploy', 'Deploys a storage nodes')
335
- argument = subcommand.add_argument('--storage-nodes', help='comma separated ip addresses', type=str, dest='storage_nodes')
336
- argument = subcommand.add_argument('--test', help='Test Cluster', dest='test', action='store_true')
337
- argument = subcommand.add_argument('--ha-type', help='Logical volume HA type (single, ha), default is cluster HA type', type=str, default='ha', dest='ha_type', choices=['single','ha',])
338
- if self.developer_mode:
339
- argument = subcommand.add_argument('--ha-jm-count', help='HA JM count', type=int, default=3, dest='ha_jm_count')
340
- argument = subcommand.add_argument('--data-chunks-per-stripe', help='Erasure coding schema parameter k (distributed raid), default: 1', type=int, default=1, dest='distr_ndcs')
341
- argument = subcommand.add_argument('--parity-chunks-per-stripe', help='Erasure coding schema parameter n (distributed raid), default: 1', type=int, default=1, dest='distr_npcs')
342
- if self.developer_mode:
343
- argument = subcommand.add_argument('--enable-qos', help='Enable qos bdev for storage nodes', type=bool, default=False, dest='enable_qos')
344
- argument = subcommand.add_argument('--ifname', help='Management interface name, e.g. eth0', type=str, dest='ifname')
345
- if self.developer_mode:
346
- argument = subcommand.add_argument('--blk_size', help='The block size in bytes', type=int, default=512, dest='blk_size', choices=['512','4096',])
347
- if self.developer_mode:
348
- argument = subcommand.add_argument('--page_size', help='The size of a data page in bytes', type=int, default=2097152, dest='page_size')
349
- if self.developer_mode:
350
- argument = subcommand.add_argument('--CLI_PASS', help='Password for CLI SSH connection', type=str, dest='CLI_PASS')
351
- argument = subcommand.add_argument('--cap-warn', help='Capacity warning level in percent, default: 89', type=int, default=89, dest='cap_warn')
352
- argument = subcommand.add_argument('--cap-crit', help='Capacity critical level in percent, default: 99', type=int, default=99, dest='cap_crit')
353
- argument = subcommand.add_argument('--prov-cap-warn', help='Capacity warning level in percent, default: 250', type=int, default=250, dest='prov_cap_warn')
354
- argument = subcommand.add_argument('--prov-cap-crit', help='Capacity critical level in percent, default: 500', type=int, default=500, dest='prov_cap_crit')
355
- argument = subcommand.add_argument('--log-del-interval', help='Logging retention period, default: 3d', type=str, default='3d', dest='log_del_interval')
356
- argument = subcommand.add_argument('--metrics-retention-period', help='Retention period for I/O statistics (Prometheus), default: 7d', type=str, default='7d', dest='metrics_retention_period')
357
- argument = subcommand.add_argument('--contact-point', help='Email or slack webhook url to be used for alerting', type=str, default='', dest='contact_point')
358
- if self.developer_mode:
359
- argument = subcommand.add_argument('--distr-bs', help='(Dev) distrb bdev block size, default: 4096', type=int, default=4096, dest='distr_bs')
360
- argument = subcommand.add_argument('--chunk-size-in-bytes', help='(Dev) distrb bdev chunk block size, default: 4096', type=int, default=4096, dest='distr_chunk_bs')
361
- argument = subcommand.add_argument('--enable-node-affinity', help='Enable node affinity for storage nodes', dest='enable_node_affinity', action='store_true')
362
- argument = subcommand.add_argument('--qpair-count', help='NVMe/TCP transport qpair count per logical volume', type=range_type(1, 128), default=3, dest='qpair_count')
363
- if self.developer_mode:
364
- argument = subcommand.add_argument('--max-queue-size', help='The max size the queue will grow', type=int, default=128, dest='max_queue_size')
365
- if self.developer_mode:
366
- argument = subcommand.add_argument('--inflight-io-threshold', help='The number of inflight IOs allowed before the IO queuing starts', type=int, default=4, dest='inflight_io_threshold')
367
- argument = subcommand.add_argument('--strict-node-anti-affinity', help='Enable strict node anti affinity for storage nodes. Never more than one chunk is placed on a node. This requires a minimum of _data-chunks-in-stripe + parity-chunks-in-stripe + 1_ nodes in the cluster."', dest='strict_node_anti_affinity', action='store_true')
368
- argument = subcommand.add_argument('--journal-partition', help='1: auto-partition nvme devices for journal. 0: use a separate nvme device for journal. The smallest NVMe device available on the host will be chosen as a journal. It should provide about 3%% of the entire node’s NVMe capacity. If set to false, partitions on other devices will be auto-created to store the journal.', type=str, default='True', dest='partitions')
369
- if self.developer_mode:
370
- argument = subcommand.add_argument('--jm-percent', help='Number in percent to use for JM from each device', type=int, default=3, dest='jm_percent')
371
- argument = subcommand.add_argument('--data-nics', help='Storage network interface name(s). Can be more than one.', type=str, dest='data_nics', nargs='+')
372
- argument = subcommand.add_argument('--max-lvol', help='Max logical volume per storage node', type=int, dest='max_lvol')
373
- if self.developer_mode:
374
- argument = subcommand.add_argument('--max-snap', help='Max snapshot per storage node', type=int, default=5000, dest='max_snap')
375
- argument = subcommand.add_argument('--max-size', help='Maximum amount of GB to be provisioned via all storage nodes', type=str, default='', dest='max_prov')
376
- if self.developer_mode:
377
- argument = subcommand.add_argument('--size-of-device', help='Size of device per storage node', type=str, dest='partition_size')
378
- if self.developer_mode:
379
- argument = subcommand.add_argument('--spdk-image', help='SPDK image uri', type=str, dest='spdk_image')
380
- if self.developer_mode:
381
- argument = subcommand.add_argument('--spdk-debug', help='Enable spdk debug logs', dest='spdk_debug', action='store_true')
382
- if self.developer_mode:
383
- argument = subcommand.add_argument('--iobuf_small_bufsize', help='bdev_set_options param', type=int, default=0, dest='small_bufsize')
384
- if self.developer_mode:
385
- argument = subcommand.add_argument('--iobuf_large_bufsize', help='bdev_set_options param', type=int, default=0, dest='large_bufsize')
386
- if self.developer_mode:
387
- argument = subcommand.add_argument('--enable-test-device', help='Enable creation of test device', dest='enable_test_device', action='store_true')
388
- if self.developer_mode:
389
- argument = subcommand.add_argument('--disable-ha-jm', help='Disable HA JM for distrib creation', dest='enable_ha_jm', action='store_true')
390
- argument = subcommand.add_argument('--namespace', help='k8s namespace to deploy on', type=str, dest='namespace')
391
- argument = subcommand.add_argument('--id-device-by-nqn', help='Use device nqn to identify it instead of serial number', default=False, dest='id_device_by_nqn', action='store_true')
392
- if self.developer_mode:
393
- argument = subcommand.add_argument('--lvol-name', help='Logical volume name or id', type=str, default='lvol01', dest='lvol_name')
394
- if self.developer_mode:
395
- argument = subcommand.add_argument('--lvol-size', help='Logical volume size: 10M, 10G, 10(bytes)', type=size_type(), default='10G', dest='lvol_size')
396
- if self.developer_mode:
397
- argument = subcommand.add_argument('--pool-name', help='Pool id or name', type=str, default='pool01', dest='pool_name')
398
- if self.developer_mode:
399
- argument = subcommand.add_argument('--pool-max', help='Pool maximum size: 20M, 20G, 0(default)', type=size_type(), default='25G', dest='pool_max')
400
- if self.developer_mode:
401
- argument = subcommand.add_argument('--snapshot', '-s', help='Make logical volume with snapshot capability, default: false', dest='snapshot', action='store_true')
402
- if self.developer_mode:
403
- argument = subcommand.add_argument('--max-volume-size', help='Logical volume max size', type=size_type(), default='1000G', dest='max_size')
404
- argument = subcommand.add_argument('--host-id', help='Primary storage node id or hostname', type=str, dest='host_id')
405
- if self.developer_mode:
406
- argument = subcommand.add_argument('--encrypt', help='Use inline data encryption and decryption on the logical volume', dest='encrypt', action='store_true')
407
- if self.developer_mode:
408
- argument = subcommand.add_argument('--distr-vuid', help='(Dev) set vuid manually, default: random (1-99999)', type=int, dest='distr_vuid')
409
- if self.developer_mode:
410
- argument = subcommand.add_argument('--lvol-ha-type', help='Logical volume HA type (single, ha), default is cluster HA type', type=str, default='ha', dest='lvol_ha_type', choices=['single','default','ha',])
411
-
412
332
  def init_cluster__create(self, subparser):
413
333
  subcommand = self.add_sub_command(subparser, 'create', 'Creates a new cluster')
414
334
  if self.developer_mode:
@@ -1015,36 +935,7 @@ class CLIWrapper(CLIWrapperBase):
1015
935
 
1016
936
  elif args.command in ['cluster']:
1017
937
  sub_command = args_dict['cluster']
1018
- if sub_command in ['deploy']:
1019
- if not self.developer_mode:
1020
- args.ha_jm_count = 3
1021
- args.enable_qos = False
1022
- args.blk_size = 512
1023
- args.page_size = 2097152
1024
- args.CLI_PASS = None
1025
- args.distr_bs = 4096
1026
- args.max_queue_size = 128
1027
- args.inflight_io_threshold = 4
1028
- args.jm_percent = 3
1029
- args.max_snap = 5000
1030
- args.partition_size = None
1031
- args.spdk_image = None
1032
- args.spdk_debug = None
1033
- args.small_bufsize = 0
1034
- args.large_bufsize = 0
1035
- args.enable_test_device = None
1036
- args.enable_ha_jm = False
1037
- args.lvol_name = 'lvol01'
1038
- args.lvol_size = '10G'
1039
- args.pool_name = 'pool01'
1040
- args.pool_max = '25G'
1041
- args.snapshot = False
1042
- args.max_size = '1000G'
1043
- args.encrypt = None
1044
- args.distr_vuid = None
1045
- args.lvol_ha_type = 'ha'
1046
- ret = self.cluster__deploy(sub_command, args)
1047
- elif sub_command in ['create']:
938
+ if sub_command in ['create']:
1048
939
  if not self.developer_mode:
1049
940
  args.page_size = 2097152
1050
941
  args.CLI_PASS = None
@@ -313,9 +313,6 @@ class CLIWrapperBase:
313
313
  def storage_node__set(self, sub_command, args):
314
314
  return storage_ops.set_value(args.node_id, args.attr_name, args.attr_value)
315
315
 
316
- def cluster__deploy(self, sub_command, args):
317
- return self.cluster_deploy(args)
318
-
319
316
  def cluster__create(self, sub_command, args):
320
317
  return self.cluster_create(args)
321
318
 
@@ -701,99 +698,6 @@ class CLIWrapperBase:
701
698
  distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity,
702
699
  qpair_count, max_queue_size, inflight_io_threshold, enable_qos, strict_node_anti_affinity)
703
700
 
704
- def cluster_deploy(self, args):
705
- grafana_endpoint = ""
706
- secondary_nodes = False
707
- namespace = None
708
- lvol_name = "lvol01"
709
- lvol_size = utils.parse_size("10G")
710
- pool_max = utils.parse_size("25G")
711
- max_size = utils.parse_size("1000G")
712
- pool_name = "pool01"
713
- with_snapshot = False
714
- host_id = None
715
- crypto = False
716
- crypto_key1 = None
717
- crypto_key2 = None
718
- max_rw_iops = None
719
- max_rw_mbytes = None
720
- max_r_mbytes = None
721
- max_w_mbytes = None
722
- lvol_priority_class = 0
723
- id_device_by_nqn = False
724
- fstype = "xfs"
725
-
726
- storage_nodes = args.storage_nodes
727
- test = args.test
728
- ha_type = args.ha_type
729
- ha_jm_count = args.ha_jm_count
730
- distr_ndcs = args.distr_ndcs
731
- distr_npcs = args.distr_npcs
732
- enable_qos = args.enable_qos
733
- ifname = args.ifname
734
- page_size_in_blocks = args.page_size
735
- blk_size = args.blk_size
736
- CLI_PASS = args.CLI_PASS
737
- cap_warn = args.cap_warn
738
- cap_crit = args.cap_crit
739
- prov_cap_warn = args.prov_cap_warn
740
- prov_cap_crit = args.prov_cap_crit
741
- distr_bs = args.distr_bs
742
- distr_chunk_bs = args.distr_chunk_bs
743
- log_del_interval = args.log_del_interval
744
- metrics_retention_period = args.metrics_retention_period
745
- contact_point = args.contact_point
746
- enable_node_affinity = args.enable_node_affinity
747
- qpair_count = args.qpair_count
748
- max_queue_size = args.max_queue_size
749
- inflight_io_threshold = args.inflight_io_threshold
750
- strict_node_anti_affinity = args.strict_node_anti_affinity
751
-
752
- data_nics = args.data_nics
753
- spdk_image = args.spdk_image
754
- spdk_debug = args.spdk_debug
755
-
756
- small_bufsize = args.small_bufsize
757
- large_bufsize = args.large_bufsize
758
- num_partitions_per_dev = args.partitions
759
- partition_size = args.partition_size
760
- jm_percent = args.jm_percent
761
- spdk_cpu_mask = args.spdk_cpu_mask
762
- max_lvol = args.max_lvol
763
- max_snap = args.max_snap
764
- max_prov = utils.parse_size(args.max_prov, assume_unit='G')
765
- number_of_devices = args.number_of_devices
766
- enable_test_device = args.enable_test_device
767
- enable_ha_jm = args.enable_ha_jm
768
- number_of_distribs = args.number_of_distribs
769
- namespace = args.namespace
770
- secondary_nodes = args.secondary_nodes
771
-
772
- lvol_name = args.lvol_name
773
- lvol_size = args.lvol_size
774
- max_size = args.max_size
775
- lvol_ha_type = args.lvol_ha_type
776
- pool_name = args.pool_name
777
- pool_max = args.pool_max
778
- host_id = args.host_id
779
- comp = None
780
- distr_vuid = args.distr_vuid
781
-
782
- cluster_ops.deploy_cluster(
783
- storage_nodes, test, ha_type, distr_ndcs, distr_npcs, enable_qos, ifname,
784
- blk_size, page_size_in_blocks, CLI_PASS, cap_warn, cap_crit, prov_cap_warn,
785
- prov_cap_crit, log_del_interval, metrics_retention_period, contact_point, grafana_endpoint,
786
- distr_bs, distr_chunk_bs, enable_node_affinity,
787
- qpair_count, max_queue_size, inflight_io_threshold, strict_node_anti_affinity, data_nics,
788
- spdk_image, spdk_debug, small_bufsize, large_bufsize, num_partitions_per_dev, jm_percent, spdk_cpu_mask,
789
- max_lvol,
790
- max_snap, max_prov, number_of_devices, enable_test_device, enable_ha_jm, ha_jm_count, number_of_distribs,
791
- namespace, secondary_nodes, partition_size,
792
- lvol_name, lvol_size, lvol_ha_type, pool_name, pool_max, host_id, comp, crypto, distr_vuid, max_rw_iops,
793
- max_rw_mbytes, max_r_mbytes, max_w_mbytes,
794
- with_snapshot, max_size, crypto_key1, crypto_key2, lvol_priority_class, id_device_by_nqn, fstype)
795
- return True
796
-
797
701
  def cluster_create(self, args):
798
702
  page_size_in_blocks = args.page_size
799
703
  blk_size = 4096