sbcli-dev 19.2.23__tar.gz → 19.2.25__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 (203) hide show
  1. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/PKG-INFO +1 -1
  2. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/sbcli_dev.egg-info/PKG-INFO +1 -1
  3. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/cluster_ops.py +8 -5
  4. sbcli_dev-19.2.25/simplyblock_core/env_var +6 -0
  5. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/cluster.py +1 -1
  6. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/rpc_client.py +5 -5
  7. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/snode_client.py +5 -3
  8. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/storage_node_ops.py +5 -5
  9. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/utils/__init__.py +7 -1
  10. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/internal/storage_node/docker.py +1 -0
  11. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/internal/storage_node/kubernetes.py +13 -8
  12. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +1 -1
  13. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/utils.py +1 -0
  14. sbcli_dev-19.2.23/simplyblock_core/env_var +0 -6
  15. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/README.md +0 -0
  16. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/pyproject.toml +0 -0
  17. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/requirements.txt +0 -0
  18. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  19. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  20. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/sbcli_dev.egg-info/entry_points.txt +0 -0
  21. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/sbcli_dev.egg-info/requires.txt +0 -0
  22. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/sbcli_dev.egg-info/top_level.txt +0 -0
  23. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/setup.cfg +0 -0
  24. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/setup.py +0 -0
  25. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_cli/__init__.py +0 -0
  26. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_cli/cli.py +0 -0
  27. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_cli/clibase.py +0 -0
  28. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_cli/main.py +0 -0
  29. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/__init__.py +0 -0
  30. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/constants.py +0 -0
  31. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/__init__.py +0 -0
  32. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/cluster_events.py +0 -0
  33. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/device_controller.py +0 -0
  34. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/device_events.py +0 -0
  35. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/events_controller.py +0 -0
  36. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/health_controller.py +0 -0
  37. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/lvol_controller.py +0 -0
  38. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/lvol_events.py +0 -0
  39. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/mgmt_events.py +0 -0
  40. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/pool_controller.py +0 -0
  41. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/pool_events.py +0 -0
  42. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/qos_controller.py +0 -0
  43. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  44. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/snapshot_events.py +0 -0
  45. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/storage_events.py +0 -0
  46. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/tasks_controller.py +0 -0
  47. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/tasks_events.py +0 -0
  48. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
  49. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/db_controller.py +0 -0
  50. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/distr_controller.py +0 -0
  51. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/fw_api_client.py +0 -0
  52. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/mgmt_node_ops.py +0 -0
  53. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/__init__.py +0 -0
  54. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/base_model.py +0 -0
  55. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/events.py +0 -0
  56. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/hublvol.py +0 -0
  57. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/iface.py +0 -0
  58. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/job_schedule.py +0 -0
  59. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/lvol_model.py +0 -0
  60. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/mgmt_node.py +0 -0
  61. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/nvme_device.py +0 -0
  62. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/pool.py +0 -0
  63. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/port_stat.py +0 -0
  64. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/qos.py +0 -0
  65. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/snapshot.py +0 -0
  66. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/stats.py +0 -0
  67. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/models/storage_node.py +0 -0
  68. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/__init__.py +0 -0
  69. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  70. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  71. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/.helmignore +0 -0
  72. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/Chart.yaml +0 -0
  73. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbbackups.yaml +0 -0
  74. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbclusters.yaml +0 -0
  75. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbrestores.yaml +0 -0
  76. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/app_configmap.yaml +0 -0
  77. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/app_ingress.yaml +0 -0
  78. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/app_k8s.yaml +0 -0
  79. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/app_sa.yaml +0 -0
  80. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/app_svc.yaml +0 -0
  81. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/clusterrole.yaml +0 -0
  82. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/dashboards.yaml +0 -0
  83. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/foundationdb.yaml +0 -0
  84. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/mongodb.yaml +0 -0
  85. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/monitoring_configmap.yaml +0 -0
  86. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/monitoring_ingress.yaml +0 -0
  87. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/monitoring_k8s.yaml +0 -0
  88. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/monitoring_secret.yaml +0 -0
  89. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/monitoring_svc.yaml +0 -0
  90. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/templates/storage_class.yaml +0 -0
  91. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/values-template.yaml +0 -0
  92. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/charts/values.yaml +0 -0
  93. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  94. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/config_docker.sh +0 -0
  95. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboard.yml +0 -0
  96. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  97. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  98. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  99. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  100. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  101. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  102. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/datasource.yml +0 -0
  103. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/db_config_double.sh +0 -0
  104. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/db_config_single.sh +0 -0
  105. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  106. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  107. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  108. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  109. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/foundation.yml +0 -0
  110. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/haproxy.cfg +0 -0
  111. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/helpers/__init__.py +0 -0
  112. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/helpers/deploy_cluster.sh +0 -0
  113. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/helpers/destroy_cluster.sh +0 -0
  114. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +0 -0
  115. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/install_deps.sh +0 -0
  116. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/objstore.yml +0 -0
  117. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  118. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/prometheus.yml.j2 +0 -0
  119. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/run_ssh.sh +0 -0
  120. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/set_db_config.sh +0 -0
  121. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  122. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/__init__.py +0 -0
  123. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/cap_monitor.py +0 -0
  124. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  125. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/device_monitor.py +0 -0
  126. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/health_check_service.py +0 -0
  127. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/install_service.sh +0 -0
  128. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/lvol_monitor.py +0 -0
  129. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  130. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  131. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  132. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/new_device_discovery.py +0 -0
  133. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/remove_service.sh +0 -0
  134. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/service_template.service +0 -0
  135. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/snapshot_monitor.py +0 -0
  136. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  137. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/storage_node_monitor.py +0 -0
  138. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_cluster_status.py +0 -0
  139. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  140. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_jc_comp.py +0 -0
  141. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  142. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  143. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  144. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_port_allow.py +0 -0
  145. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  146. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/shell_utils.py +0 -0
  147. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/test/test_models.py +0 -0
  148. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/test/test_utils.py +0 -0
  149. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/utils/helpers.py +0 -0
  150. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/utils/pci.py +0 -0
  151. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  152. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/README.md +0 -0
  153. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/__init__.py +0 -0
  154. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/__init__.py +0 -0
  155. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/internal/__init__.py +0 -0
  156. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/internal/node_api_basic.py +0 -0
  157. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/internal/storage_node/__init__.py +0 -0
  158. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/__init__.py +0 -0
  159. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/cluster.py +0 -0
  160. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/device.py +0 -0
  161. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/lvol.py +0 -0
  162. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/metrics.py +0 -0
  163. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/mgmt_node.py +0 -0
  164. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/pool.py +0 -0
  165. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/snapshot.py +0 -0
  166. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/static/swagger.yaml +0 -0
  167. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/storage_node.py +0 -0
  168. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v1/swagger_ui.py +0 -0
  169. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/__init__.py +0 -0
  170. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/cluster.py +0 -0
  171. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/device.py +0 -0
  172. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/dtos.py +0 -0
  173. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/management_node.py +0 -0
  174. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/pool.py +0 -0
  175. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/snapshot.py +0 -0
  176. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/storage_node.py +0 -0
  177. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/task.py +0 -0
  178. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/util.py +0 -0
  179. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/api/v2/volume.py +0 -0
  180. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/app.py +0 -0
  181. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/auth_middleware.py +0 -0
  182. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/node_configure.py +0 -0
  183. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/node_utils.py +0 -0
  184. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/node_utils_k8s.py +0 -0
  185. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/node_webapp.py +0 -0
  186. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/delete.py +0 -0
  187. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/deploy.py +0 -0
  188. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  189. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  190. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/is_up.py +0 -0
  191. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/list_deps.py +0 -0
  192. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/rpac.yaml +0 -0
  193. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/static/tst.py +0 -0
  194. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  195. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/templates/oc_storage_core_isolation.yaml.j2 +0 -0
  196. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/templates/storage_core_isolation.yaml.j2 +0 -0
  197. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/templates/storage_init_job.yaml.j2 +0 -0
  198. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/templates/ubuntu_kernel_extra.yaml.j2 +0 -0
  199. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/test/__init__.py +0 -0
  200. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/test/conftest.py +0 -0
  201. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/test/pytest.ini +0 -0
  202. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/simplyblock_web/test/requirements.txt +0 -0
  203. {sbcli_dev-19.2.23 → sbcli_dev-19.2.25}/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.2.23
3
+ Version: 19.2.25
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.2.23
3
+ Version: 19.2.25
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -371,8 +371,6 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
371
371
 
372
372
  cluster.write_to_db(db_controller.kv_store)
373
373
 
374
- qos_controller.add_class("Default", 100, cluster.get_id())
375
-
376
374
  cluster_events.cluster_create(cluster)
377
375
 
378
376
  mgmt_node_ops.add_mgmt_node(dev_ip, mode, cluster.uuid)
@@ -459,6 +457,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
459
457
  cluster.strict_node_anti_affinity = strict_node_anti_affinity
460
458
 
461
459
  default_cluster = clusters[0]
460
+ cluster.mode = default_cluster.mode
462
461
  cluster.db_connection = default_cluster.db_connection
463
462
  cluster.grafana_secret = monitoring_secret if default_cluster.mode == "kubernetes" else default_cluster.grafana_secret
464
463
  cluster.grafana_endpoint = default_cluster.grafana_endpoint
@@ -1176,9 +1175,13 @@ def update_cluster(cluster_id, mgmt_only=False, restart=False, spdk_image=None,
1176
1175
  for service in cluster_docker.services.list():
1177
1176
  if image_parts in service.attrs['Spec']['Labels']['com.docker.stack.image'] or \
1178
1177
  "simplyblock" in service.attrs['Spec']['Labels']['com.docker.stack.image']:
1179
- logger.info(f"Updating service {service.name}")
1180
- service.update(image=service_image, force_update=True)
1181
- service_names.append(service.attrs['Spec']['Name'])
1178
+ if service.name == "app_CachingNodeMonitor":
1179
+ logger.info(f"Removing service {service.name}")
1180
+ service.remove()
1181
+ else:
1182
+ logger.info(f"Updating service {service.name}")
1183
+ service.update(image=service_image, force_update=True)
1184
+ service_names.append(service.attrs['Spec']['Name'])
1182
1185
 
1183
1186
  if "app_SnapshotMonitor" not in service_names:
1184
1187
  logger.info("Creating snapshot monitor service")
@@ -0,0 +1,6 @@
1
+ SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
+ SIMPLY_BLOCK_VERSION=19.2.25
3
+
4
+ SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main-0e72282a
5
+ SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=simplyblock/spdk:R25.6-Hotfix-2fe05b79
6
+
@@ -45,7 +45,7 @@ class Cluster(BaseModel):
45
45
  distr_npcs: int = 0
46
46
  enable_node_affinity: bool = False
47
47
  grafana_endpoint: str = ""
48
- mode: str = ""
48
+ mode: str = "docker"
49
49
  grafana_secret: str = ""
50
50
  contact_point: str = ""
51
51
  ha_type: str = "single"
@@ -379,11 +379,11 @@ class RPCClient:
379
379
  "clear_method": "unmap",
380
380
  "lvol_priority_class": lvol_priority_class,
381
381
  }
382
- # if ndcs or npcs:
383
- # params.update({
384
- # 'ndcs' : ndcs,
385
- # 'npcs' : npcs,
386
- # })
382
+ if ndcs or npcs:
383
+ params.update({
384
+ 'ndcs' : ndcs,
385
+ 'npcs' : npcs,
386
+ })
387
387
  return self._request("bdev_lvol_create", params)
388
388
 
389
389
  def delete_lvol(self, name, del_async=False):
@@ -81,7 +81,7 @@ class SNodeClient:
81
81
  def spdk_process_start(self, l_cores, spdk_mem, spdk_image=None, spdk_debug=None, cluster_ip=None,
82
82
  fdb_connection=None, namespace=None, server_ip=None, rpc_port=None,
83
83
  rpc_username=None, rpc_password=None, multi_threading_enabled=False, timeout=0, ssd_pcie=None,
84
- total_mem=None, system_mem=None, cluster_mode=None):
84
+ total_mem=None, system_mem=None, cluster_mode=None, cluster_id=None):
85
85
  params = {
86
86
  "cluster_ip": cluster_ip,
87
87
  "server_ip": server_ip,
@@ -113,6 +113,8 @@ class SNodeClient:
113
113
  params["system_mem"] = system_mem
114
114
  if cluster_mode:
115
115
  params["cluster_mode"] = cluster_mode
116
+ if cluster_id:
117
+ params["cluster_id"] = cluster_id
116
118
  return self._request("POST", "spdk_process_start", params)
117
119
 
118
120
  def join_swarm(self, cluster_ip, join_token, db_connection, cluster_id):
@@ -124,8 +126,8 @@ class SNodeClient:
124
126
  # "db_connection": db_connection}
125
127
  # return self._request("POST", "join_swarm", params)
126
128
 
127
- def spdk_process_kill(self, rpc_port):
128
- return self._request("GET", "spdk_process_kill", {"rpc_port": rpc_port})
129
+ def spdk_process_kill(self, rpc_port, cluster_id=None):
130
+ return self._request("GET", "spdk_process_kill", {"rpc_port": rpc_port, "cluster_id": cluster_id})
129
131
 
130
132
  def leave_swarm(self):
131
133
  return True
@@ -998,7 +998,7 @@ def add_node(cluster_id, node_addr, iface_name,data_nics_list,
998
998
  namespace, mgmt_ip, rpc_port, rpc_user, rpc_pass,
999
999
  multi_threading_enabled=constants.SPDK_PROXY_MULTI_THREADING_ENABLED,
1000
1000
  timeout=constants.SPDK_PROXY_TIMEOUT,
1001
- ssd_pcie=ssd_pcie, total_mem=total_mem, system_mem=minimum_sys_memory, cluster_mode=cluster.mode)
1001
+ ssd_pcie=ssd_pcie, total_mem=total_mem, system_mem=minimum_sys_memory, cluster_mode=cluster.mode, cluster_id=cluster_id)
1002
1002
  time.sleep(5)
1003
1003
 
1004
1004
  except Exception as e:
@@ -1454,7 +1454,7 @@ def remove_storage_node(node_id, force_remove=False, force_migrate=False):
1454
1454
  if health_controller._check_node_api(snode.mgmt_ip):
1455
1455
  logger.info("Stopping SPDK container")
1456
1456
  snode_api = SNodeClient(snode.api_endpoint, timeout=20)
1457
- snode_api.spdk_process_kill(snode.rpc_port)
1457
+ snode_api.spdk_process_kill(snode.rpc_port, snode.cluster_id)
1458
1458
  snode_api.leave_swarm()
1459
1459
  pci_address = []
1460
1460
  for dev in snode.nvme_devices:
@@ -1676,7 +1676,7 @@ def restart_storage_node(
1676
1676
  snode.l_cores, snode.spdk_mem, snode.spdk_image, spdk_debug, cluster_ip, fdb_connection,
1677
1677
  snode.namespace, snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password,
1678
1678
  multi_threading_enabled=constants.SPDK_PROXY_MULTI_THREADING_ENABLED, timeout=constants.SPDK_PROXY_TIMEOUT,
1679
- ssd_pcie=snode.ssd_pcie, total_mem=total_mem, system_mem=minimum_sys_memory, cluster_mode=cluster.mode)
1679
+ ssd_pcie=snode.ssd_pcie, total_mem=total_mem, system_mem=minimum_sys_memory, cluster_mode=cluster.mode, cluster_id=snode.cluster_id)
1680
1680
 
1681
1681
  except Exception as e:
1682
1682
  logger.error(e)
@@ -2250,7 +2250,7 @@ def shutdown_storage_node(node_id, force=False):
2250
2250
 
2251
2251
  logger.info("Stopping SPDK")
2252
2252
  try:
2253
- SNodeClient(snode.api_endpoint, timeout=10, retry=10).spdk_process_kill(snode.rpc_port)
2253
+ SNodeClient(snode.api_endpoint, timeout=10, retry=10).spdk_process_kill(snode.rpc_port, snode.cluster_id)
2254
2254
  except SNodeClientException:
2255
2255
  logger.error('Failed to kill SPDK')
2256
2256
  return False
@@ -3214,7 +3214,7 @@ def recreate_lvstore(snode, force=False):
3214
3214
  def _kill_app():
3215
3215
  storage_events.snode_restart_failed(snode)
3216
3216
  snode_api = SNodeClient(snode.api_endpoint, timeout=5, retry=5)
3217
- snode_api.spdk_process_kill(snode.rpc_port)
3217
+ snode_api.spdk_process_kill(snode.rpc_port, snode.cluster_id)
3218
3218
  set_node_status(snode.get_id(), StorageNode.STATUS_OFFLINE)
3219
3219
 
3220
3220
  # If LVol Store recovery failed then stop spdk process
@@ -725,7 +725,13 @@ def convert_size(size: Union[int, str], unit: str, round_up: bool = False) -> in
725
725
  raw = size / (base ** exponent)
726
726
  return math.ceil(raw) if round_up else int(raw)
727
727
 
728
-
728
+ def first_six_chars(s: str) -> str:
729
+ """
730
+ Returns the first six characters of a given string.
731
+ If the string is shorter than six characters, returns the entire string.
732
+ """
733
+ return s[:6]
734
+
729
735
  def nearest_upper_power_of_2(n):
730
736
  # Check if n is already a power of 2
731
737
  if (n & (n - 1)) == 0:
@@ -142,6 +142,7 @@ class SPDKParams(BaseModel):
142
142
  spdk_image: Optional[str] = Field(constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE)
143
143
  cluster_ip: Optional[str] = Field(default=None, pattern=utils.IP_PATTERN)
144
144
  cluster_mode: str
145
+ cluster_id: str
145
146
 
146
147
 
147
148
  @api.post('/spdk_process_start', responses={
@@ -268,6 +268,7 @@ class SPDKParams(BaseModel):
268
268
  spdk_image: str = Field(constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE)
269
269
  cluster_ip: str = Field(pattern=utils.IP_PATTERN)
270
270
  cluster_mode: str
271
+ cluster_id: str
271
272
 
272
273
 
273
274
  @api.post('/spdk_process_start', responses={
@@ -286,9 +287,10 @@ def spdk_process_start(body: SPDKParams):
286
287
 
287
288
  total_mem_mib = core_utils.convert_size(core_utils.parse_size(body.total_mem), 'MB') if body.total_mem else ""
288
289
 
289
- if _is_pod_up(body.rpc_port) or _is_pod_present(body.rpc_port):
290
+ first_six_cluster_id = core_utils.first_six_chars(body.cluster_id)
291
+ if _is_pod_up(body.rpc_port, first_six_cluster_id) or _is_pod_present(body.rpc_port, first_six_cluster_id):
290
292
  logger.info("SPDK pod found, removing...")
291
- query = utils.RPCPortParams(rpc_port=body.rpc_port)
293
+ query = utils.RPCPortParams(rpc_port=body.rpc_port, cluster_id=body.cluster_id)
292
294
  spdk_process_kill(query)
293
295
 
294
296
  node_prepration_job_name = "snode-spdk-job-"
@@ -351,6 +353,7 @@ def spdk_process_start(body: SPDKParams):
351
353
  'SIMPLYBLOCK_DOCKER_IMAGE': constants.SIMPLY_BLOCK_DOCKER_IMAGE,
352
354
  'GRAYLOG_SERVER_IP': body.cluster_ip,
353
355
  'MODE': body.cluster_mode,
356
+ 'CLUSTER_ID': first_six_cluster_id,
354
357
  'SSD_PCIE': ssd_pcie_params,
355
358
  'PCI_ALLOWED': ssd_pcie_list,
356
359
  'TOTAL_HP': total_mem_mib
@@ -463,7 +466,8 @@ def spdk_process_kill(query: utils.RPCPortParams):
463
466
  k8s_core_v1 = core_utils.get_k8s_core_client()
464
467
  try:
465
468
  namespace = node_utils_k8s.get_namespace()
466
- pod_name = f"snode-spdk-pod-{query.rpc_port}"
469
+ first_six_cluster_id = core_utils.first_six_chars(query.cluster_id)
470
+ pod_name = f"snode-spdk-pod-{query.rpc_port}-{first_six_cluster_id}"
467
471
  resp = k8s_core_v1.delete_namespaced_pod(pod_name, namespace)
468
472
  retries = 10
469
473
  while retries > 0:
@@ -486,9 +490,9 @@ def spdk_process_kill(query: utils.RPCPortParams):
486
490
  return utils.get_response(True)
487
491
 
488
492
 
489
- def _is_pod_up(rpc_port):
493
+ def _is_pod_up(rpc_port, cluster_id):
490
494
  k8s_core_v1 = core_utils.get_k8s_core_client()
491
- pod_name = f"snode-spdk-pod-{rpc_port}"
495
+ pod_name = f"snode-spdk-pod-{rpc_port}-{cluster_id}"
492
496
  try:
493
497
  resp = k8s_core_v1.list_namespaced_pod(node_utils_k8s.get_namespace())
494
498
  for pod in resp.items:
@@ -502,9 +506,9 @@ def _is_pod_up(rpc_port):
502
506
  return False
503
507
  return False
504
508
 
505
- def _is_pod_present(rpc_port):
509
+ def _is_pod_present(rpc_port, cluster_id):
506
510
  k8s_core_v1 = core_utils.get_k8s_core_client()
507
- pod_name = f"snode-spdk-pod-{rpc_port}"
511
+ pod_name = f"snode-spdk-pod-{rpc_port}-{cluster_id}"
508
512
  try:
509
513
  resp = k8s_core_v1.list_namespaced_pod(node_utils_k8s.get_namespace())
510
514
  for pod in resp.items:
@@ -525,7 +529,8 @@ def _is_pod_present(rpc_port):
525
529
  })}}},
526
530
  })
527
531
  def spdk_process_is_up(query: utils.RPCPortParams):
528
- if _is_pod_up(query.rpc_port):
532
+ first_six_cluster_id = core_utils.first_six_chars(query.cluster_id)
533
+ if _is_pod_up(query.rpc_port, first_six_cluster_id):
529
534
  return utils.get_response(True)
530
535
  else:
531
536
  return utils.get_response(False, "SPDK container is not running")
@@ -1,7 +1,7 @@
1
1
  apiVersion: v1
2
2
  kind: Pod
3
3
  metadata:
4
- name: snode-spdk-pod-{{ RPC_PORT }}
4
+ name: snode-spdk-pod-{{ RPC_PORT }}-{{ CLUSTER_ID }}
5
5
  namespace: {{ NAMESPACE }}
6
6
  labels:
7
7
  app: spdk-app-{{ RPC_PORT }}
@@ -149,6 +149,7 @@ def error_handler(exception: Exception):
149
149
 
150
150
  class RPCPortParams(BaseModel):
151
151
  rpc_port: int = Field(constants.RPC_HTTP_PROXY_PORT, ge=0, le=65536)
152
+ cluster_id: str
152
153
 
153
154
 
154
155
  class DeviceParams(BaseModel):
@@ -1,6 +0,0 @@
1
- SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
- SIMPLY_BLOCK_VERSION=19.2.23
3
-
4
- SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main-6ac63f5e
5
- SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=simplyblock/spdk:R25.6-Hotfix-da011883
6
-
File without changes
File without changes
File without changes
File without changes