sbcli-dev 4.0.53__zip → 4.0.55__zip
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.
Potentially problematic release.
This version of sbcli-dev might be problematic. Click here for more details.
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/PKG-INFO +1 -1
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/env_var +1 -1
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_cli/cli.py +6 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/caching_node_controller.py +3 -3
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/rpc_client.py +13 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/snode_client.py +3 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/storage_node_ops.py +32 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/snode_ops.py +5 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/README.md +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/pyproject.toml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/setup.cfg +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/setup.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/app.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_web/utils.py +0 -0
|
@@ -248,6 +248,9 @@ class CLIWrapper:
|
|
|
248
248
|
'In case of HA SNode, make the current node as primary')
|
|
249
249
|
sub_command.add_argument("id", help='id')
|
|
250
250
|
|
|
251
|
+
sub_command = self.add_sub_command(subparser, 'dump-lvstore','Dump lvstore data')
|
|
252
|
+
sub_command.add_argument("id", help='id')
|
|
253
|
+
|
|
251
254
|
# check lvol
|
|
252
255
|
#
|
|
253
256
|
# ----------------- cluster -----------------
|
|
@@ -904,6 +907,9 @@ class CLIWrapper:
|
|
|
904
907
|
elif sub_command == "make-primary":
|
|
905
908
|
id = args.id
|
|
906
909
|
ret = storage_ops.make_sec_new_primary(id)
|
|
910
|
+
elif sub_command == "dump-lvstore":
|
|
911
|
+
node_id = args.id
|
|
912
|
+
ret = storage_ops.dump_lvstore(node_id)
|
|
907
913
|
else:
|
|
908
914
|
self.parser.print_help()
|
|
909
915
|
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/controllers/caching_node_controller.py
RENAMED
|
@@ -399,7 +399,7 @@ def connect(caching_node_id, lvol_id):
|
|
|
399
399
|
if lvol.ha_type == 'single':
|
|
400
400
|
snode = db_controller.get_storage_node_by_id(lvol.node_id)
|
|
401
401
|
for nic in snode.data_nics:
|
|
402
|
-
ret = rpc_client.
|
|
402
|
+
ret = rpc_client.bdev_nvme_attach_controller_tcp_caching(rem_name, lvol.nqn, nic.ip4_address, "4420")
|
|
403
403
|
logger.debug(ret)
|
|
404
404
|
if not ret:
|
|
405
405
|
logger.warning("Failed to connect to LVol")
|
|
@@ -409,7 +409,7 @@ def connect(caching_node_id, lvol_id):
|
|
|
409
409
|
for nodes_id in lvol.nodes:
|
|
410
410
|
snode = db_controller.get_storage_node_by_id(nodes_id)
|
|
411
411
|
for nic in snode.data_nics:
|
|
412
|
-
ret = rpc_client.
|
|
412
|
+
ret = rpc_client.bdev_nvme_attach_controller_tcp_caching(rem_name, lvol.nqn, nic.ip4_address, "4420")
|
|
413
413
|
logger.debug(ret)
|
|
414
414
|
# if not ret:
|
|
415
415
|
# logger.error("Failed to connect to LVol")
|
|
@@ -432,7 +432,7 @@ def connect(caching_node_id, lvol_id):
|
|
|
432
432
|
ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', lvol.get_id())
|
|
433
433
|
ret = rpc_client.transport_list("TCP")
|
|
434
434
|
if not ret:
|
|
435
|
-
ret = rpc_client.
|
|
435
|
+
ret = rpc_client.transport_create_caching("TCP")
|
|
436
436
|
ret = rpc_client.listeners_create(subsystem_nqn, "TCP", '127.0.0.1', "4420")
|
|
437
437
|
ret = rpc_client.nvmf_subsystem_listener_set_ana_state(subsystem_nqn, '127.0.0.1', "4420", is_optimized=True)
|
|
438
438
|
|
|
@@ -152,6 +152,12 @@ class RPCClient:
|
|
|
152
152
|
}
|
|
153
153
|
return self._request("nvmf_create_transport", params)
|
|
154
154
|
|
|
155
|
+
def transport_create_caching(self, trtype):
|
|
156
|
+
params = {
|
|
157
|
+
"trtype": trtype,
|
|
158
|
+
}
|
|
159
|
+
return self._request("nvmf_create_transport", params)
|
|
160
|
+
|
|
155
161
|
def listeners_list(self, nqn):
|
|
156
162
|
params = {"nqn": nqn}
|
|
157
163
|
return self._request("nvmf_subsystem_get_listeners", params)
|
|
@@ -824,3 +830,10 @@ class RPCClient:
|
|
|
824
830
|
"level": level
|
|
825
831
|
}
|
|
826
832
|
return self._request("log_set_print_level", params)
|
|
833
|
+
|
|
834
|
+
def bdev_lvs_dump(self, lvs_name, file):
|
|
835
|
+
params = {
|
|
836
|
+
"lvs_name": lvs_name,
|
|
837
|
+
"file": file,
|
|
838
|
+
}
|
|
839
|
+
return self._request("bdev_lvs_dump", params)
|
|
@@ -1763,6 +1763,10 @@ def restart_storage_node(
|
|
|
1763
1763
|
if not ret:
|
|
1764
1764
|
return False, "Failed to recreate lvstore on node"
|
|
1765
1765
|
|
|
1766
|
+
logger.info("Dumping lvstore data")
|
|
1767
|
+
ret = dump_lvstore(node_id)
|
|
1768
|
+
print(ret)
|
|
1769
|
+
|
|
1766
1770
|
logger.info("Starting migration tasks")
|
|
1767
1771
|
for dev in snode.nvme_devices:
|
|
1768
1772
|
if dev.status != NVMeDevice.STATUS_ONLINE:
|
|
@@ -1923,6 +1927,10 @@ def shutdown_storage_node(node_id, force=False):
|
|
|
1923
1927
|
rpc_client = RPCClient(
|
|
1924
1928
|
snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=10, retry=1)
|
|
1925
1929
|
|
|
1930
|
+
logger.info("Dumping lvstore data")
|
|
1931
|
+
ret = dump_lvstore(node_id)
|
|
1932
|
+
print(ret)
|
|
1933
|
+
|
|
1926
1934
|
logger.debug("Removing LVols")
|
|
1927
1935
|
_remove_bdev_stack(snode.lvstore_stack, rpc_client, remove_distr_only=True)
|
|
1928
1936
|
|
|
@@ -2875,3 +2883,27 @@ def make_sec_new_primary(node_id):
|
|
|
2875
2883
|
snode.primary_ip = snode.mgmt_ip
|
|
2876
2884
|
snode.write_to_db(db_controller.kv_store)
|
|
2877
2885
|
return True
|
|
2886
|
+
|
|
2887
|
+
|
|
2888
|
+
def dump_lvstore(node_id):
|
|
2889
|
+
db_controller = DBController()
|
|
2890
|
+
|
|
2891
|
+
snode = db_controller.get_storage_node_by_id(node_id)
|
|
2892
|
+
if not snode:
|
|
2893
|
+
logger.error(f"Can not find storage node: {node_id}")
|
|
2894
|
+
return False
|
|
2895
|
+
|
|
2896
|
+
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
|
|
2897
|
+
logger.info(f"Dumping lvstore data on node: {snode.get_id()}")
|
|
2898
|
+
file_name = f"LVS_dump_{snode.hostname}_{snode.lvstore}_{str(datetime.datetime.now().isoformat())}.txt"
|
|
2899
|
+
file_path = f"/etc/simplyblock/{file_name}"
|
|
2900
|
+
ret = rpc_client.bdev_lvs_dump(snode.lvstore, file_path)
|
|
2901
|
+
if not ret:
|
|
2902
|
+
logger.error("faild to dump lvstore data")
|
|
2903
|
+
return False
|
|
2904
|
+
|
|
2905
|
+
logger.info(f"LVS dump file path: {file_name}")
|
|
2906
|
+
snode_api = SNodeClient(f"{snode.mgmt_ip}:5000")
|
|
2907
|
+
file_content, _ = snode_api.get_file_content(file_name)
|
|
2908
|
+
|
|
2909
|
+
return json.dumps(file_content, indent=2)
|
|
@@ -244,6 +244,11 @@ def get_cluster_id():
|
|
|
244
244
|
out, _, _ = node_utils.run_command(f"cat {cluster_id_file}")
|
|
245
245
|
return out
|
|
246
246
|
|
|
247
|
+
@bp.route('/get_file_content/<string:file_name>', methods=['GET'])
|
|
248
|
+
def get_file_content(file_name):
|
|
249
|
+
out, err, _ = node_utils.run_command(f"cat /etc/simplyblock/{file_name}")
|
|
250
|
+
return utils.get_response(out, err)
|
|
251
|
+
|
|
247
252
|
|
|
248
253
|
def set_cluster_id(cluster_id):
|
|
249
254
|
out, _, _ = node_utils.run_command(f"echo {cluster_id} > {cluster_id_file}")
|
|
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
|
|
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_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/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_dev-4.0.53 → sbcli_dev-4.0.55}/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
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/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
|
|
File without changes
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/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
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.53 → sbcli_dev-4.0.55}/simplyblock_core/services/tasks_runner_new_dev_migration.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
|