sbcli-dev 10.9.0__tar.gz → 10.9.2__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_dev-10.9.0 → sbcli_dev-10.9.2}/PKG-INFO +1 -1
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/cluster_ops.py +6 -9
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/env_var +1 -1
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/storage_node_ops.py +41 -20
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/README.md +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/pyproject.toml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/requirements.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/setup.cfg +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/setup.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_cli/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/db_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/README.md +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/app.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/requirements.txt +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_web/utils.py +0 -0
|
@@ -612,8 +612,8 @@ def list_all_info(cluster_id):
|
|
|
612
612
|
data = []
|
|
613
613
|
|
|
614
614
|
data.append({
|
|
615
|
-
"UUID": cl.uuid,
|
|
616
|
-
"Type": "Cluster Object",
|
|
615
|
+
"Cluster UUID": cl.uuid,
|
|
616
|
+
# "Type": "Cluster Object",
|
|
617
617
|
# "Devices": f"{len(devs)}/{len(devs_online)}",
|
|
618
618
|
# "Lvols": f"{len(lvols)}/{len(lv_online)}",
|
|
619
619
|
|
|
@@ -656,8 +656,7 @@ def list_all_info(cluster_id):
|
|
|
656
656
|
online_devices += 1
|
|
657
657
|
|
|
658
658
|
data.append({
|
|
659
|
-
"UUID": node.uuid,
|
|
660
|
-
"Type": "Storage",
|
|
659
|
+
"Storage node UUID": node.uuid,
|
|
661
660
|
"Devices": f"{total_devices}/{online_devices}",
|
|
662
661
|
"LVols": f"{len(lvs)}",
|
|
663
662
|
|
|
@@ -684,8 +683,7 @@ def list_all_info(cluster_id):
|
|
|
684
683
|
rec = StatsObject()
|
|
685
684
|
|
|
686
685
|
dev_data.append({
|
|
687
|
-
"UUID": dev.uuid,
|
|
688
|
-
"Type": "Storage Device",
|
|
686
|
+
"Device UUID": dev.uuid,
|
|
689
687
|
|
|
690
688
|
"Size total": f"{utils.humanbytes(rec.size_total)}",
|
|
691
689
|
"Size Used": f"{utils.humanbytes(rec.size_used)}",
|
|
@@ -704,7 +702,7 @@ def list_all_info(cluster_id):
|
|
|
704
702
|
})
|
|
705
703
|
|
|
706
704
|
out += "\n"
|
|
707
|
-
out += utils.print_table(data, title="Storage
|
|
705
|
+
out += utils.print_table(data, title="Storage Nodes Stats")
|
|
708
706
|
out += "\n"
|
|
709
707
|
|
|
710
708
|
out += "\n"
|
|
@@ -720,8 +718,7 @@ def list_all_info(cluster_id):
|
|
|
720
718
|
rec = StatsObject()
|
|
721
719
|
|
|
722
720
|
lvol_data.append({
|
|
723
|
-
"UUID": lvol.uuid,
|
|
724
|
-
"Type": "LVol",
|
|
721
|
+
"LVol UUID": lvol.uuid,
|
|
725
722
|
|
|
726
723
|
"Size prov": f"{utils.humanbytes(rec.size_total)}",
|
|
727
724
|
"Size Used": f"{utils.humanbytes(rec.size_used)}",
|
|
@@ -2319,18 +2319,23 @@ def resume_storage_node(node_id):
|
|
|
2319
2319
|
else:
|
|
2320
2320
|
|
|
2321
2321
|
sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
|
|
2322
|
-
if sec_node
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2322
|
+
if sec_node :
|
|
2323
|
+
if sec_node.status == StorageNode.STATUS_UNREACHABLE:
|
|
2324
|
+
logger.error("Secondary node is unreachable, cannot resume primary node")
|
|
2325
|
+
return False
|
|
2326
|
+
|
|
2327
|
+
elif sec_node.status == StorageNode.STATUS_ONLINE:
|
|
2328
|
+
sec_node_client = RPCClient(
|
|
2329
|
+
sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password, timeout=5, retry=1)
|
|
2330
|
+
for lvol in db_controller.get_lvols_by_node_id(snode.get_id()):
|
|
2331
|
+
for iface in sec_node.data_nics:
|
|
2332
|
+
if iface.ip4_address:
|
|
2333
|
+
ret = sec_node_client.nvmf_subsystem_listener_set_ana_state(
|
|
2334
|
+
lvol.nqn, iface.ip4_address, "4420", False, ana="inaccessible")
|
|
2335
|
+
time.sleep(1)
|
|
2336
|
+
sec_node_client.bdev_lvol_set_leader(False, lvs_name=snode.lvstore)
|
|
2337
|
+
sec_node_client.bdev_distrib_force_to_non_leader(snode.jm_vuid)
|
|
2338
|
+
time.sleep(1)
|
|
2334
2339
|
|
|
2335
2340
|
for lvol in db_controller.get_lvols_by_node_id(snode.get_id()):
|
|
2336
2341
|
for iface in snode.data_nics:
|
|
@@ -2823,11 +2828,13 @@ def recreate_lvstore(snode):
|
|
|
2823
2828
|
if snode.is_secondary_node:
|
|
2824
2829
|
return recreate_lvstore_on_sec(snode)
|
|
2825
2830
|
|
|
2826
|
-
sec_node =
|
|
2831
|
+
sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
|
|
2832
|
+
prim_node_suspend = False
|
|
2827
2833
|
lvol_list = db_controller.get_lvols_by_node_id(snode.get_id())
|
|
2828
|
-
if
|
|
2829
|
-
sec_node
|
|
2830
|
-
|
|
2834
|
+
if sec_node:
|
|
2835
|
+
if sec_node.status == StorageNode.STATUS_UNREACHABLE:
|
|
2836
|
+
prim_node_suspend = True
|
|
2837
|
+
elif sec_node.status == StorageNode.STATUS_ONLINE:
|
|
2831
2838
|
sec_rpc_client = RPCClient(sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password)
|
|
2832
2839
|
|
|
2833
2840
|
for lvol in lvol_list:
|
|
@@ -2868,6 +2875,9 @@ def recreate_lvstore(snode):
|
|
|
2868
2875
|
|
|
2869
2876
|
time.sleep(2)
|
|
2870
2877
|
|
|
2878
|
+
if not lvol_list:
|
|
2879
|
+
prim_node_suspend = False
|
|
2880
|
+
|
|
2871
2881
|
ret, err = _create_bdev_stack(snode, [], primary_node=snode)
|
|
2872
2882
|
|
|
2873
2883
|
if err:
|
|
@@ -2879,13 +2889,18 @@ def recreate_lvstore(snode):
|
|
|
2879
2889
|
ret = rpc_client.bdev_wait_for_examine()
|
|
2880
2890
|
ret = rpc_client.bdev_lvol_set_lvs_groupid(snode.lvstore, snode.jm_vuid)
|
|
2881
2891
|
|
|
2882
|
-
if
|
|
2883
|
-
|
|
2884
|
-
|
|
2892
|
+
if not prim_node_suspend:
|
|
2893
|
+
if snode.jm_vuid:
|
|
2894
|
+
ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
|
|
2895
|
+
logger.info(f"JM Sync res: {ret}")
|
|
2896
|
+
|
|
2897
|
+
lvol_ana_state = "optimized"
|
|
2898
|
+
if prim_node_suspend:
|
|
2899
|
+
lvol_ana_state = "inaccessible"
|
|
2885
2900
|
|
|
2886
2901
|
for lvol in lvol_list:
|
|
2887
2902
|
lvol_obj = db_controller.get_lvol_by_id(lvol.get_id())
|
|
2888
|
-
is_created, error = lvol_controller.recreate_lvol_on_node(lvol_obj, snode)
|
|
2903
|
+
is_created, error = lvol_controller.recreate_lvol_on_node(lvol_obj, snode, ana_state=lvol_ana_state)
|
|
2889
2904
|
if error:
|
|
2890
2905
|
logger.error(f"Failed to recreate LVol: {lvol_obj.get_id()} on node: {snode.get_id()}")
|
|
2891
2906
|
lvol_obj.status = LVol.STATUS_OFFLINE
|
|
@@ -2895,6 +2910,12 @@ def recreate_lvstore(snode):
|
|
|
2895
2910
|
lvol_obj.health_check = True
|
|
2896
2911
|
lvol_obj.write_to_db()
|
|
2897
2912
|
|
|
2913
|
+
if prim_node_suspend:
|
|
2914
|
+
set_node_status(snode.get_id(), StorageNode.STATUS_SUSPENDED)
|
|
2915
|
+
logger.info("Node restart interrupted because secondary node is unreachable")
|
|
2916
|
+
logger.info("Node status changed to suspended")
|
|
2917
|
+
return False
|
|
2918
|
+
|
|
2898
2919
|
if sec_node and sec_node.status == StorageNode.STATUS_ONLINE:
|
|
2899
2920
|
time.sleep(10)
|
|
2900
2921
|
sec_rpc_client = RPCClient(sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password, timeout=3, retry=2)
|
|
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-10.9.0 → sbcli_dev-10.9.2}/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
|
|
File without changes
|
{sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/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-10.9.0 → sbcli_dev-10.9.2}/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_dev-10.9.0 → sbcli_dev-10.9.2}/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
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/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-10.9.0 → sbcli_dev-10.9.2}/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-10.9.0 → sbcli_dev-10.9.2}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.9.0 → sbcli_dev-10.9.2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|