sbcli-pre 25.3.17__tar.gz → 25.5.0__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.
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/PKG-INFO +9 -19
- sbcli-pre-25.5.0/README.md +39 -0
- sbcli-pre-25.5.0/pyproject.toml +3 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/requirements.txt +6 -3
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/PKG-INFO +9 -19
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/SOURCES.txt +19 -8
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/requires.txt +6 -3
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/setup.py +5 -5
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/cli.py +253 -265
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/clibase.py +160 -128
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/cluster_ops.py +163 -85
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/constants.py +20 -6
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/caching_node_controller.py +5 -52
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/device_controller.py +24 -11
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/events_controller.py +2 -11
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/health_controller.py +229 -85
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/lvol_controller.py +171 -129
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/pool_controller.py +81 -34
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/snapshot_controller.py +4 -4
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/tasks_controller.py +37 -27
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/db_controller.py +71 -35
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/distr_controller.py +34 -34
- sbcli-pre-25.5.0/simplyblock_core/env_var +6 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/base_model.py +23 -5
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/caching_node.py +2 -2
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/cluster.py +4 -0
- sbcli-pre-25.5.0/simplyblock_core/models/hublvol.py +17 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/lvol_model.py +5 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/nvme_device.py +7 -8
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/pool.py +1 -0
- sbcli-pre-25.5.0/simplyblock_core/models/storage_node.py +253 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/rpc_client.py +111 -63
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/__init__.py +1 -1
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/alerting/alert_rules.yaml +2 -2
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/config_docker.sh +12 -8
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/nodes.json +4 -4
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +3 -24
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/docker-compose-swarm.yml +31 -18
- sbcli-pre-25.5.0/simplyblock_core/scripts/helpers/deploy_cluster.sh +24 -0
- sbcli-pre-25.5.0/simplyblock_core/scripts/helpers/destroy_cluster.sh +31 -0
- sbcli-pre-25.5.0/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +47 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/install_deps.sh +2 -1
- sbcli-pre-25.3.17/simplyblock_core/scripts/prometheus.yml → sbcli-pre-25.5.0/simplyblock_core/scripts/prometheus.yml.j2 +9 -3
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/__init__.py +1 -1
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/cached_lvol_stat_collector.py +5 -5
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/caching_node_monitor.py +4 -4
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/cap_monitor.py +5 -5
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/capacity_and_stats_collector.py +29 -18
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/device_monitor.py +4 -4
- sbcli-pre-25.5.0/simplyblock_core/services/health_check_service.py +275 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/lvol_monitor.py +16 -20
- sbcli-pre-25.5.0/simplyblock_core/services/lvol_stat_collector.py +302 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/main_distr_event_collector.py +20 -19
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/mgmt_node_monitor.py +4 -4
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/new_device_discovery.py +6 -4
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/spdk_http_proxy_server.py +1 -1
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/storage_node_monitor.py +103 -64
- sbcli-pre-25.5.0/simplyblock_core/services/tasks_cluster_status.py +119 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_failed_migration.py +22 -32
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_migration.py +40 -30
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_new_dev_migration.py +25 -33
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_node_add.py +9 -9
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/tasks_runner_restart.py +32 -31
- sbcli-pre-25.5.0/simplyblock_core/shell_utils.py +12 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/snode_client.py +46 -18
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/storage_node_ops.py +1133 -1084
- sbcli-pre-25.5.0/simplyblock_core/test/test_models.py +47 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/test/test_utils.py +9 -7
- sbcli-pre-25.5.0/simplyblock_core/utils.py +1751 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/workers/cleanup_foundationdb.py +2 -12
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/app.py +7 -10
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/auth_middleware.py +4 -3
- sbcli-pre-25.5.0/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/caching_node_ops.py +43 -130
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/caching_node_ops_k8s.py +19 -22
- sbcli-pre-25.5.0/simplyblock_web/blueprints/node_api_basic.py +177 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/node_api_caching_docker.py +58 -38
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/node_api_caching_ks.py +54 -37
- sbcli-pre-25.5.0/simplyblock_web/blueprints/snode_ops.py +617 -0
- sbcli-pre-25.5.0/simplyblock_web/blueprints/snode_ops_k8s.py +528 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/swagger_ui_blueprint.py +1 -2
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_caching_node.py +11 -11
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_cluster.py +35 -21
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_deployer.py +9 -9
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_device.py +9 -9
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_lvol.py +18 -25
- sbcli-pre-25.5.0/simplyblock_web/blueprints/web_api_metrics.py +256 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_mgmt_node.py +4 -4
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_pool.py +33 -27
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_snapshot.py +2 -2
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/blueprints/web_api_storage_node.py +22 -46
- sbcli-pre-25.5.0/simplyblock_web/node_configure.py +63 -0
- sbcli-pre-25.5.0/simplyblock_web/node_utils.py +286 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/node_utils_k8s.py +4 -3
- sbcli-pre-25.5.0/simplyblock_web/node_webapp.py +57 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +148 -1413
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/deploy_cnode.yaml +2 -2
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/deploy_spdk.yaml +4 -3
- sbcli-pre-25.5.0/simplyblock_web/static/swagger.yaml +20353 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +34 -1
- sbcli-pre-25.5.0/simplyblock_web/test/api/test_lvol.py +91 -0
- sbcli-pre-25.5.0/simplyblock_web/test/api/test_pool.py +80 -0
- sbcli-pre-25.5.0/simplyblock_web/test/api/test_snapshot.py +46 -0
- sbcli-pre-25.5.0/simplyblock_web/test/api/test_storage_node.py +105 -0
- sbcli-pre-25.5.0/simplyblock_web/test/conftest.py +59 -0
- sbcli-pre-25.5.0/simplyblock_web/test/pytest.ini +3 -0
- sbcli-pre-25.5.0/simplyblock_web/test/requirements.txt +3 -0
- sbcli-pre-25.5.0/simplyblock_web/test/util.py +55 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/utils.py +36 -6
- sbcli-pre-25.3.17/README.md +0 -49
- sbcli-pre-25.3.17/pyproject.toml +0 -3
- sbcli-pre-25.3.17/simplyblock_core/env_var +0 -5
- sbcli-pre-25.3.17/simplyblock_core/models/storage_node.py +0 -89
- sbcli-pre-25.3.17/simplyblock_core/services/health_check_service.py +0 -326
- sbcli-pre-25.3.17/simplyblock_core/services/lvol_stat_collector.py +0 -234
- sbcli-pre-25.3.17/simplyblock_core/services/spdk_stats_collector.py +0 -73
- sbcli-pre-25.3.17/simplyblock_core/shell_utils.py +0 -9
- sbcli-pre-25.3.17/simplyblock_core/utils.py +0 -925
- sbcli-pre-25.3.17/simplyblock_web/blueprints/node_api_basic.py +0 -110
- sbcli-pre-25.3.17/simplyblock_web/blueprints/snode_ops.py +0 -533
- sbcli-pre-25.3.17/simplyblock_web/blueprints/snode_ops_k8s.py +0 -433
- sbcli-pre-25.3.17/simplyblock_web/caching_node_app.py +0 -33
- sbcli-pre-25.3.17/simplyblock_web/caching_node_app_k8s.py +0 -33
- sbcli-pre-25.3.17/simplyblock_web/node_utils.py +0 -214
- sbcli-pre-25.3.17/simplyblock_web/node_webapp.py +0 -56
- sbcli-pre-25.3.17/simplyblock_web/requirements.txt +0 -12
- sbcli-pre-25.3.17/simplyblock_web/snode_app.py +0 -33
- sbcli-pre-25.3.17/simplyblock_web/snode_app_k8s.py +0 -32
- sbcli-pre-25.3.17/simplyblock_web/static/swagger.yaml +0 -57873
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/dependency_links.txt +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/entry_points.txt +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/sbcli_pre.egg-info/top_level.txt +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/setup.cfg +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_cli/main.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/cnode_client.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/deployer.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/events.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/iface.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/models/stats.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/pci_utils.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli-pre-25.3.17/simplyblock_core/services/spdk → sbcli-pre-25.5.0/simplyblock_core/scripts/helpers}/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/service_template.service +0 -0
- {sbcli-pre-25.3.17/simplyblock_web → sbcli-pre-25.5.0/simplyblock_core/services/spdk}/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_core/services/spdk/client.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/README.md +0 -0
- {sbcli-pre-25.3.17/simplyblock_web/blueprints → sbcli-pre-25.5.0/simplyblock_web}/__init__.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/delete.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/deploy.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/is_up.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/static/tst.py +0 -0
- {sbcli-pre-25.3.17 → sbcli-pre-25.5.0}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sbcli-pre
|
3
|
-
Version: 25.
|
3
|
+
Version: 25.5.0
|
4
4
|
Summary: CLI for managing SimplyBlock cluster
|
5
5
|
Home-page: https://www.simplyblock.io/
|
6
6
|
Author: Hamdy
|
@@ -10,21 +10,16 @@ Platform: UNKNOWN
|
|
10
10
|
Description-Content-Type: text/markdown
|
11
11
|
|
12
12
|
|
13
|
-
#
|
14
|
-
[](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
|
15
|
-
|
16
|
-
[](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
|
13
|
+
# SBCLI (SimplyBlock CLI)
|
17
14
|
|
15
|
+
Simplyblock provides a feature-rich CLI (command line interface) to deploy SimplyBlock Cluster and to manage the SimplyBlock Control plane
|
18
16
|
|
19
17
|
## Install
|
20
|
-
Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
|
21
18
|
|
22
|
-
|
23
|
-
|
19
|
+
The CLI can be installed using pypi package [sbctl](https://pypi.org/project/sbctl/)
|
20
|
+
|
24
21
|
```
|
25
|
-
|
26
|
-
```bash
|
27
|
-
pip install --extra-index-url https://pypi.org/simple sbcli
|
22
|
+
pip install --upgrade sbctl
|
28
23
|
```
|
29
24
|
|
30
25
|
# Components
|
@@ -33,14 +28,11 @@ pip install --extra-index-url https://pypi.org/simple sbcli
|
|
33
28
|
Contains core logic and controllers for the simplyblock cluster
|
34
29
|
|
35
30
|
## Simply Block CLI
|
36
|
-
|
37
|
-
[README.md](../main/simplyblock_cli/README.md)
|
38
|
-
|
31
|
+
The list of all the available CLI options can be here [CLI docs](./simplyblock_cli/README.md)
|
39
32
|
|
40
|
-
##
|
41
|
-
Please see this document
|
42
|
-
[README.md](../main/simplyblock_web/README.md)
|
33
|
+
## SimplyBlock Web API
|
43
34
|
|
35
|
+
Web app that provides API to manage the cluster. More about this in [README.md](./simplyblock_web/README.md)
|
44
36
|
|
45
37
|
|
46
38
|
### local development
|
@@ -51,10 +43,8 @@ Depending on the OS architecture, please install the appropriate version from th
|
|
51
43
|
```
|
52
44
|
wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
|
53
45
|
```
|
54
|
-
|
55
46
|
setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
|
56
47
|
|
57
|
-
|
58
48
|
```
|
59
49
|
sudo docker compose -f docker-compose-dev.yml up --build -d
|
60
50
|
```
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
# SBCLI (SimplyBlock CLI)
|
3
|
+
|
4
|
+
Simplyblock provides a feature-rich CLI (command line interface) to deploy SimplyBlock Cluster and to manage the SimplyBlock Control plane
|
5
|
+
|
6
|
+
## Install
|
7
|
+
|
8
|
+
The CLI can be installed using pypi package [sbctl](https://pypi.org/project/sbctl/)
|
9
|
+
|
10
|
+
```
|
11
|
+
pip install --upgrade sbctl
|
12
|
+
```
|
13
|
+
|
14
|
+
# Components
|
15
|
+
|
16
|
+
## Simply Block Core
|
17
|
+
Contains core logic and controllers for the simplyblock cluster
|
18
|
+
|
19
|
+
## Simply Block CLI
|
20
|
+
The list of all the available CLI options can be here [CLI docs](./simplyblock_cli/README.md)
|
21
|
+
|
22
|
+
## SimplyBlock Web API
|
23
|
+
|
24
|
+
Web app that provides API to manage the cluster. More about this in [README.md](./simplyblock_web/README.md)
|
25
|
+
|
26
|
+
|
27
|
+
### local development
|
28
|
+
|
29
|
+
FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
|
30
|
+
Depending on the OS architecture, please install the appropriate version from the official github repo
|
31
|
+
|
32
|
+
```
|
33
|
+
wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
|
34
|
+
```
|
35
|
+
setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
|
36
|
+
|
37
|
+
```
|
38
|
+
sudo docker compose -f docker-compose-dev.yml up --build -d
|
39
|
+
```
|
@@ -1,13 +1,11 @@
|
|
1
1
|
foundationdb==7.3.3
|
2
2
|
requests
|
3
|
-
numpy
|
4
3
|
prettytable>=3.10.0
|
5
4
|
docker
|
6
5
|
psutil
|
7
6
|
py-cpuinfo
|
8
7
|
pytest
|
9
8
|
mock
|
10
|
-
setuptools
|
11
9
|
flask
|
12
10
|
kubernetes
|
13
11
|
PyYAML
|
@@ -17,4 +15,9 @@ boto3
|
|
17
15
|
jinja2
|
18
16
|
argcomplete
|
19
17
|
jc
|
20
|
-
|
18
|
+
sentry-sdk
|
19
|
+
prometheus-client
|
20
|
+
ec2-metadata
|
21
|
+
flask-swagger-ui
|
22
|
+
sentry-sdk[flask]
|
23
|
+
flask-openapi3
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sbcli-pre
|
3
|
-
Version: 25.
|
3
|
+
Version: 25.5.0
|
4
4
|
Summary: CLI for managing SimplyBlock cluster
|
5
5
|
Home-page: https://www.simplyblock.io/
|
6
6
|
Author: Hamdy
|
@@ -10,21 +10,16 @@ Platform: UNKNOWN
|
|
10
10
|
Description-Content-Type: text/markdown
|
11
11
|
|
12
12
|
|
13
|
-
#
|
14
|
-
[](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
|
15
|
-
|
16
|
-
[](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
|
13
|
+
# SBCLI (SimplyBlock CLI)
|
17
14
|
|
15
|
+
Simplyblock provides a feature-rich CLI (command line interface) to deploy SimplyBlock Cluster and to manage the SimplyBlock Control plane
|
18
16
|
|
19
17
|
## Install
|
20
|
-
Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
|
21
18
|
|
22
|
-
|
23
|
-
|
19
|
+
The CLI can be installed using pypi package [sbctl](https://pypi.org/project/sbctl/)
|
20
|
+
|
24
21
|
```
|
25
|
-
|
26
|
-
```bash
|
27
|
-
pip install --extra-index-url https://pypi.org/simple sbcli
|
22
|
+
pip install --upgrade sbctl
|
28
23
|
```
|
29
24
|
|
30
25
|
# Components
|
@@ -33,14 +28,11 @@ pip install --extra-index-url https://pypi.org/simple sbcli
|
|
33
28
|
Contains core logic and controllers for the simplyblock cluster
|
34
29
|
|
35
30
|
## Simply Block CLI
|
36
|
-
|
37
|
-
[README.md](../main/simplyblock_cli/README.md)
|
38
|
-
|
31
|
+
The list of all the available CLI options can be here [CLI docs](./simplyblock_cli/README.md)
|
39
32
|
|
40
|
-
##
|
41
|
-
Please see this document
|
42
|
-
[README.md](../main/simplyblock_web/README.md)
|
33
|
+
## SimplyBlock Web API
|
43
34
|
|
35
|
+
Web app that provides API to manage the cluster. More about this in [README.md](./simplyblock_web/README.md)
|
44
36
|
|
45
37
|
|
46
38
|
### local development
|
@@ -51,10 +43,8 @@ Depending on the OS architecture, please install the appropriate version from th
|
|
51
43
|
```
|
52
44
|
wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
|
53
45
|
```
|
54
|
-
|
55
46
|
setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
|
56
47
|
|
57
|
-
|
58
48
|
```
|
59
49
|
sudo docker compose -f docker-compose-dev.yml up --build -d
|
60
50
|
```
|
@@ -50,6 +50,7 @@ simplyblock_core/models/caching_node.py
|
|
50
50
|
simplyblock_core/models/cluster.py
|
51
51
|
simplyblock_core/models/deployer.py
|
52
52
|
simplyblock_core/models/events.py
|
53
|
+
simplyblock_core/models/hublvol.py
|
53
54
|
simplyblock_core/models/iface.py
|
54
55
|
simplyblock_core/models/job_schedule.py
|
55
56
|
simplyblock_core/models/lvol_model.py
|
@@ -76,7 +77,7 @@ simplyblock_core/scripts/haproxy.cfg
|
|
76
77
|
simplyblock_core/scripts/install_deps.sh
|
77
78
|
simplyblock_core/scripts/objstore.yml
|
78
79
|
simplyblock_core/scripts/prepare_fdb.sh
|
79
|
-
simplyblock_core/scripts/prometheus.yml
|
80
|
+
simplyblock_core/scripts/prometheus.yml.j2
|
80
81
|
simplyblock_core/scripts/run_ssh.sh
|
81
82
|
simplyblock_core/scripts/set_db_config.sh
|
82
83
|
simplyblock_core/scripts/stack_deploy_wait.sh
|
@@ -88,6 +89,10 @@ simplyblock_core/scripts/dashboards/lvols.json
|
|
88
89
|
simplyblock_core/scripts/dashboards/node-exporter.json
|
89
90
|
simplyblock_core/scripts/dashboards/nodes.json
|
90
91
|
simplyblock_core/scripts/dashboards/pools.json
|
92
|
+
simplyblock_core/scripts/helpers/__init__.py
|
93
|
+
simplyblock_core/scripts/helpers/deploy_cluster.sh
|
94
|
+
simplyblock_core/scripts/helpers/destroy_cluster.sh
|
95
|
+
simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py
|
91
96
|
simplyblock_core/services/__init__.py
|
92
97
|
simplyblock_core/services/cached_lvol_stat_collector.py
|
93
98
|
simplyblock_core/services/caching_node_monitor.py
|
@@ -104,8 +109,8 @@ simplyblock_core/services/new_device_discovery.py
|
|
104
109
|
simplyblock_core/services/remove_service.sh
|
105
110
|
simplyblock_core/services/service_template.service
|
106
111
|
simplyblock_core/services/spdk_http_proxy_server.py
|
107
|
-
simplyblock_core/services/spdk_stats_collector.py
|
108
112
|
simplyblock_core/services/storage_node_monitor.py
|
113
|
+
simplyblock_core/services/tasks_cluster_status.py
|
109
114
|
simplyblock_core/services/tasks_runner_failed_migration.py
|
110
115
|
simplyblock_core/services/tasks_runner_migration.py
|
111
116
|
simplyblock_core/services/tasks_runner_new_dev_migration.py
|
@@ -113,20 +118,17 @@ simplyblock_core/services/tasks_runner_node_add.py
|
|
113
118
|
simplyblock_core/services/tasks_runner_restart.py
|
114
119
|
simplyblock_core/services/spdk/__init__.py
|
115
120
|
simplyblock_core/services/spdk/client.py
|
121
|
+
simplyblock_core/test/test_models.py
|
116
122
|
simplyblock_core/test/test_utils.py
|
117
123
|
simplyblock_core/workers/cleanup_foundationdb.py
|
118
124
|
simplyblock_web/README.md
|
119
125
|
simplyblock_web/__init__.py
|
120
126
|
simplyblock_web/app.py
|
121
127
|
simplyblock_web/auth_middleware.py
|
122
|
-
simplyblock_web/
|
123
|
-
simplyblock_web/caching_node_app_k8s.py
|
128
|
+
simplyblock_web/node_configure.py
|
124
129
|
simplyblock_web/node_utils.py
|
125
130
|
simplyblock_web/node_utils_k8s.py
|
126
131
|
simplyblock_web/node_webapp.py
|
127
|
-
simplyblock_web/requirements.txt
|
128
|
-
simplyblock_web/snode_app.py
|
129
|
-
simplyblock_web/snode_app_k8s.py
|
130
132
|
simplyblock_web/utils.py
|
131
133
|
simplyblock_web/blueprints/__init__.py
|
132
134
|
simplyblock_web/blueprints/caching_node_ops.py
|
@@ -142,6 +144,7 @@ simplyblock_web/blueprints/web_api_cluster.py
|
|
142
144
|
simplyblock_web/blueprints/web_api_deployer.py
|
143
145
|
simplyblock_web/blueprints/web_api_device.py
|
144
146
|
simplyblock_web/blueprints/web_api_lvol.py
|
147
|
+
simplyblock_web/blueprints/web_api_metrics.py
|
145
148
|
simplyblock_web/blueprints/web_api_mgmt_node.py
|
146
149
|
simplyblock_web/blueprints/web_api_pool.py
|
147
150
|
simplyblock_web/blueprints/web_api_snapshot.py
|
@@ -157,4 +160,12 @@ simplyblock_web/static/rpac.yaml
|
|
157
160
|
simplyblock_web/static/swagger.yaml
|
158
161
|
simplyblock_web/static/tst.py
|
159
162
|
simplyblock_web/templates/caching_deploy_spdk.yaml.j2
|
160
|
-
simplyblock_web/templates/storage_deploy_spdk.yaml.j2
|
163
|
+
simplyblock_web/templates/storage_deploy_spdk.yaml.j2
|
164
|
+
simplyblock_web/test/conftest.py
|
165
|
+
simplyblock_web/test/pytest.ini
|
166
|
+
simplyblock_web/test/requirements.txt
|
167
|
+
simplyblock_web/test/util.py
|
168
|
+
simplyblock_web/test/api/test_lvol.py
|
169
|
+
simplyblock_web/test/api/test_pool.py
|
170
|
+
simplyblock_web/test/api/test_snapshot.py
|
171
|
+
simplyblock_web/test/api/test_storage_node.py
|
@@ -1,13 +1,11 @@
|
|
1
1
|
foundationdb==7.3.3
|
2
2
|
requests
|
3
|
-
numpy
|
4
3
|
prettytable>=3.10.0
|
5
4
|
docker
|
6
5
|
psutil
|
7
6
|
py-cpuinfo
|
8
7
|
pytest
|
9
8
|
mock
|
10
|
-
setuptools
|
11
9
|
flask
|
12
10
|
kubernetes
|
13
11
|
PyYAML
|
@@ -17,4 +15,9 @@ boto3
|
|
17
15
|
jinja2
|
18
16
|
argcomplete
|
19
17
|
jc
|
20
|
-
|
18
|
+
sentry-sdk
|
19
|
+
prometheus-client
|
20
|
+
ec2-metadata
|
21
|
+
flask-swagger-ui
|
22
|
+
sentry-sdk[flask]
|
23
|
+
flask-openapi3
|
@@ -8,13 +8,11 @@ from setuptools.command.install import install as _install
|
|
8
8
|
def _post_install():
|
9
9
|
from subprocess import getstatusoutput
|
10
10
|
_, out = getstatusoutput('activate-global-python-argcomplete --user')
|
11
|
-
|
11
|
+
if out:
|
12
|
+
print(out)
|
12
13
|
|
13
14
|
if os.environ.get("SHELL") and os.environ.get("HOME"):
|
14
|
-
|
15
|
-
path = f"{os.environ.get('HOME')}/.zshenv"
|
16
|
-
else:
|
17
|
-
path = f"{os.environ.get('HOME')}/.bash_completion"
|
15
|
+
path = f"{os.environ.get('HOME')}/.bash_completion"
|
18
16
|
if os.path.isfile(path):
|
19
17
|
_, out = getstatusoutput(f'source {path}')
|
20
18
|
found = False
|
@@ -87,6 +85,7 @@ data_files.append(('', ["requirements.txt"]))
|
|
87
85
|
setup(
|
88
86
|
name=COMMAND_NAME,
|
89
87
|
version=VERSION,
|
88
|
+
requires_python='>= 3.9',
|
90
89
|
packages=find_packages(exclude=["e2e*"]),
|
91
90
|
url='https://www.simplyblock.io/',
|
92
91
|
author='Hamdy',
|
@@ -98,6 +97,7 @@ setup(
|
|
98
97
|
entry_points={
|
99
98
|
'console_scripts': [
|
100
99
|
f'{COMMAND_NAME}=simplyblock_cli.cli:main',
|
100
|
+
# 'sbctl=simplyblock_cli.cli:main',
|
101
101
|
]
|
102
102
|
},
|
103
103
|
include_package_data=True,
|