sbcli-pre 25.5.2__tar.gz → 25.5.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.
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/PKG-INFO +1 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/sbcli_pre.egg-info/PKG-INFO +1 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/sbcli_pre.egg-info/entry_points.txt +1 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/setup.py +1 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_cli/cli.py +1 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_cli/clibase.py +2 -2
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/tasks_controller.py +6 -2
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/env_var +2 -2
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/mgmt_node_ops.py +1 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/rpc_client.py +2 -2
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_failed_migration.py +2 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_migration.py +2 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_new_dev_migration.py +2 -1
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/storage_node_ops.py +6 -6
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_storage_node.py +6 -6
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/README.md +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/pyproject.toml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/requirements.txt +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/sbcli_pre.egg-info/SOURCES.txt +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/sbcli_pre.egg-info/dependency_links.txt +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/sbcli_pre.egg-info/requires.txt +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/sbcli_pre.egg-info/top_level.txt +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/setup.cfg +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_cli/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_cli/main.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/cnode_client.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/constants.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/db_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/distr_controller.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/base_model.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/cluster.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/deployer.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/events.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/hublvol.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/iface.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/pool.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/stats.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/pci_utils.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/helpers/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/helpers/deploy_cluster.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/helpers/destroy_cluster.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/prometheus.yml.j2 +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/service_template.service +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/spdk/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/spdk/client.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_cluster_status.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/shell_utils.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/snode_client.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/test/test_models.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/test/test_utils.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/utils.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/README.md +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/app.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/swagger_ui_blueprint.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_metrics.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/node_configure.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/node_utils.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/node_utils_k8s.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/node_webapp.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/delete.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/deploy.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/is_up.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/swagger.yaml +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/tst.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/api/test_lvol.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/api/test_pool.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/api/test_snapshot.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/api/test_storage_node.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/conftest.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/pytest.ini +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/requirements.txt +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/test/util.py +0 -0
- {sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/utils.py +0 -0
@@ -100,7 +100,7 @@ class CLIWrapper(CLIWrapperBase):
|
|
100
100
|
def init_storage_node__add_node(self, subparser):
|
101
101
|
subcommand = self.add_sub_command(subparser, 'add-node', 'Adds a storage node by its IP address')
|
102
102
|
subcommand.add_argument('cluster_id', help='Cluster id', type=str)
|
103
|
-
subcommand.add_argument('
|
103
|
+
subcommand.add_argument('node_addr', help='Address of storage node api to add, like <node-ip>:5000', type=str)
|
104
104
|
subcommand.add_argument('ifname', help='Management interface name', type=str)
|
105
105
|
argument = subcommand.add_argument('--journal-partition', help='1: auto-create small partitions for journal on nvme devices. 0: use a separate (the smallest) nvme device of the node for journal. The journal needs a maximum of 3 percent of total available raw disk space.', type=int, default=1, dest='partitions')
|
106
106
|
if self.developer_mode:
|
@@ -115,7 +115,7 @@ class CLIWrapperBase:
|
|
115
115
|
|
116
116
|
def storage_node__add_node(self, sub_command, args):
|
117
117
|
cluster_id = args.cluster_id
|
118
|
-
|
118
|
+
node_addr = args.node_addr
|
119
119
|
ifname = args.ifname
|
120
120
|
data_nics = args.data_nics
|
121
121
|
spdk_image = args.spdk_image
|
@@ -134,7 +134,7 @@ class CLIWrapperBase:
|
|
134
134
|
|
135
135
|
out = storage_ops.add_node(
|
136
136
|
cluster_id=cluster_id,
|
137
|
-
|
137
|
+
node_addr=node_addr,
|
138
138
|
iface_name=ifname,
|
139
139
|
data_nics_list=data_nics,
|
140
140
|
max_snap=max_snap,
|
@@ -179,13 +179,17 @@ def get_active_dev_restart_task(cluster_id, device_id):
|
|
179
179
|
return False
|
180
180
|
|
181
181
|
|
182
|
-
def get_active_node_mig_task(cluster_id, node_id):
|
182
|
+
def get_active_node_mig_task(cluster_id, node_id, distr_name=None):
|
183
183
|
tasks = db.get_job_tasks(cluster_id)
|
184
184
|
for task in tasks:
|
185
185
|
if task.function_name in [JobSchedule.FN_FAILED_DEV_MIG, JobSchedule.FN_DEV_MIG,
|
186
186
|
JobSchedule.FN_NEW_DEV_MIG] and task.node_id == node_id:
|
187
187
|
if task.status == JobSchedule.STATUS_RUNNING and task.canceled is False:
|
188
|
-
|
188
|
+
if distr_name:
|
189
|
+
if "distr_name" in task.function_params and task.function_params["distr_name"] == distr_name:
|
190
|
+
return task.uuid
|
191
|
+
else:
|
192
|
+
return task.uuid
|
189
193
|
return False
|
190
194
|
|
191
195
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
SIMPLY_BLOCK_COMMAND_NAME=sbcli-pre
|
2
|
-
SIMPLY_BLOCK_VERSION=25.5.
|
2
|
+
SIMPLY_BLOCK_VERSION=25.5.4
|
3
3
|
|
4
4
|
|
5
|
-
SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:
|
5
|
+
SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
|
6
6
|
SIMPLY_BLOCK_SPDK_ULTRA_IMAGE=simplyblock/spdk:main-latest
|
@@ -199,7 +199,7 @@ def remove_mgmt_node(uuid):
|
|
199
199
|
|
200
200
|
logger.info("Leaving swarm...")
|
201
201
|
node_docker = docker.DockerClient(base_url=f"tcp://{snode.docker_ip_port}", version="auto")
|
202
|
-
node_docker.swarm.leave()
|
202
|
+
node_docker.swarm.leave(force=True)
|
203
203
|
|
204
204
|
mgmt_events.mgmt_remove(snode)
|
205
205
|
logging.info("done")
|
@@ -148,8 +148,8 @@ class RPCClient:
|
|
148
148
|
"max_io_size": 131072,
|
149
149
|
"io_unit_size": 8192,
|
150
150
|
"max_aq_depth": 128,
|
151
|
-
"num_shared_buffers":
|
152
|
-
"buf_cache_size":
|
151
|
+
"num_shared_buffers": 24576,
|
152
|
+
"buf_cache_size": 512,
|
153
153
|
"dif_insert_or_strip": False,
|
154
154
|
"c2h_success": True,
|
155
155
|
"sock_priority": 0
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
@@ -138,7 +138,8 @@ while True:
|
|
138
138
|
for task in tasks:
|
139
139
|
if task.function_name == JobSchedule.FN_FAILED_DEV_MIG:
|
140
140
|
if task.status in [JobSchedule.STATUS_NEW, JobSchedule.STATUS_SUSPENDED]:
|
141
|
-
active_task = tasks_controller.get_active_node_mig_task(
|
141
|
+
active_task = tasks_controller.get_active_node_mig_task(
|
142
|
+
task.cluster_id, task.node_id, task.function_params["distr_name"])
|
142
143
|
if active_task:
|
143
144
|
logger.info("task found on same node, retry")
|
144
145
|
continue
|
@@ -134,7 +134,8 @@ while True:
|
|
134
134
|
if task.function_name == JobSchedule.FN_DEV_MIG and task.status != JobSchedule.STATUS_DONE:
|
135
135
|
task = db.get_task_by_id(task.uuid)
|
136
136
|
if task.status in [JobSchedule.STATUS_NEW, JobSchedule.STATUS_SUSPENDED]:
|
137
|
-
active_task = tasks_controller.get_active_node_mig_task(
|
137
|
+
active_task = tasks_controller.get_active_node_mig_task(
|
138
|
+
task.cluster_id, task.node_id, task.function_params["distr_name"])
|
138
139
|
if active_task:
|
139
140
|
logger.info("task found on same node, retry")
|
140
141
|
continue
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/tasks_runner_new_dev_migration.py
RENAMED
@@ -149,7 +149,8 @@ while True:
|
|
149
149
|
for task in tasks:
|
150
150
|
if task.function_name == JobSchedule.FN_NEW_DEV_MIG:
|
151
151
|
if task.status in [JobSchedule.STATUS_NEW, JobSchedule.STATUS_SUSPENDED]:
|
152
|
-
active_task = tasks_controller.get_active_node_mig_task(
|
152
|
+
active_task = tasks_controller.get_active_node_mig_task(
|
153
|
+
task.cluster_id, task.node_id, task.function_params["distr_name"])
|
153
154
|
if active_task:
|
154
155
|
logger.info("task found on same node, retry")
|
155
156
|
continue
|
@@ -778,13 +778,13 @@ def _connect_to_remote_jm_devs(this_node, jm_ids=None):
|
|
778
778
|
return new_devs
|
779
779
|
|
780
780
|
|
781
|
-
def add_node(cluster_id,
|
781
|
+
def add_node(cluster_id, node_addr, iface_name, data_nics_list,
|
782
782
|
max_snap, spdk_image=None, spdk_debug=False,
|
783
783
|
small_bufsize=0, large_bufsize=0,
|
784
784
|
num_partitions_per_dev=0, jm_percent=0, enable_test_device=False,
|
785
785
|
namespace=None, enable_ha_jm=False, id_device_by_nqn=False,
|
786
786
|
partition_size="", ha_jm_count=3, full_page_unmap=False):
|
787
|
-
snode_api = SNodeClient(
|
787
|
+
snode_api = SNodeClient(node_addr)
|
788
788
|
node_info, _ = snode_api.info()
|
789
789
|
if node_info.get("nodes_config") and node_info["nodes_config"].get("nodes"):
|
790
790
|
nodes = node_info["nodes_config"]["nodes"]
|
@@ -804,7 +804,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
804
804
|
logger.error("Cluster not found: %s", cluster_id)
|
805
805
|
return False
|
806
806
|
|
807
|
-
logger.info(f"Adding Storage node: {
|
807
|
+
logger.info(f"Adding Storage node: {node_addr}")
|
808
808
|
|
809
809
|
if not node_info:
|
810
810
|
logger.error("SNode API is not reachable")
|
@@ -908,7 +908,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
908
908
|
if ssd_pcie:
|
909
909
|
for ssd in ssd_pcie:
|
910
910
|
for node in db_controller.get_storage_nodes_by_cluster_id(cluster_id):
|
911
|
-
if node.api_endpoint ==
|
911
|
+
if node.api_endpoint == node_addr:
|
912
912
|
if ssd in node.ssd_pcie:
|
913
913
|
logger.error(f"SSD is being used by other node, ssd: {ssd}, node: {node.get_id()}")
|
914
914
|
return False
|
@@ -935,7 +935,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
935
935
|
|
936
936
|
total_mem = minimum_hp_memory
|
937
937
|
for n in db_controller.get_storage_nodes_by_cluster_id(cluster_id):
|
938
|
-
if n.api_endpoint ==
|
938
|
+
if n.api_endpoint == node_addr:
|
939
939
|
total_mem += n.spdk_mem
|
940
940
|
total_mem += utils.parse_size("500m")
|
941
941
|
logger.info("Deploying SPDK")
|
@@ -999,7 +999,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
999
999
|
snode.rpc_username = rpc_user
|
1000
1000
|
snode.rpc_password = rpc_pass
|
1001
1001
|
snode.cluster_id = cluster_id
|
1002
|
-
snode.api_endpoint =
|
1002
|
+
snode.api_endpoint = node_addr
|
1003
1003
|
snode.host_secret = utils.generate_string(20)
|
1004
1004
|
snode.ctrl_secret = utils.generate_string(20)
|
1005
1005
|
snode.number_of_distribs = number_of_distribs
|
@@ -182,14 +182,14 @@ def storage_node_add():
|
|
182
182
|
if 'cluster_id' not in req_data:
|
183
183
|
return utils.get_response_error("missing required param: cluster_id", 400)
|
184
184
|
|
185
|
-
if '
|
186
|
-
return utils.get_response_error("missing required param:
|
185
|
+
if 'node_addr' not in req_data:
|
186
|
+
return utils.get_response_error("missing required param: node_addr", 400)
|
187
187
|
|
188
188
|
if 'ifname' not in req_data:
|
189
189
|
return utils.get_response_error("missing required param: ifname", 400)
|
190
190
|
|
191
191
|
cluster_id = req_data['cluster_id']
|
192
|
-
|
192
|
+
node_addr = req_data['node_addr']
|
193
193
|
ifname = req_data['ifname']
|
194
194
|
max_snap = int(req_data.get('max_snap', 500))
|
195
195
|
|
@@ -201,9 +201,9 @@ def storage_node_add():
|
|
201
201
|
enable_test_device = False
|
202
202
|
param = req_data.get('enable_test_device')
|
203
203
|
if param:
|
204
|
-
if
|
204
|
+
if isinstance(param, bool):
|
205
205
|
enable_test_device = param
|
206
|
-
elif
|
206
|
+
elif isinstance(param, str):
|
207
207
|
enable_test_device = param == "true"
|
208
208
|
|
209
209
|
spdk_image = None
|
@@ -245,7 +245,7 @@ def storage_node_add():
|
|
245
245
|
|
246
246
|
tasks_controller.add_node_add_task(cluster_id, {
|
247
247
|
"cluster_id": cluster_id,
|
248
|
-
"
|
248
|
+
"node_addr": node_addr,
|
249
249
|
"iface_name": ifname,
|
250
250
|
"data_nics_list": data_nics,
|
251
251
|
"max_snap": max_snap,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/controllers/caching_node_controller.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/clean_local_storage_deploy.sh
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/dashboards/node-exporter.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/capacity_and_stats_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_core/services/main_distr_event_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli-pre-25.5.2 → sbcli-pre-25.5.4}/simplyblock_web/static/SimplyBlock-API.postman_collection.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|