sbcli-hmdi 0.0.23__tar.gz → 0.0.24__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/PKG-INFO +1 -1
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/sbcli_hmdi.egg-info/PKG-INFO +1 -1
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/lvol_controller.py +35 -35
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/env_var +1 -1
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/rpc_client.py +7 -10
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/storage_node_ops.py +90 -46
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/README.md +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/pyproject.toml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/requirements.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/sbcli_hmdi.egg-info/SOURCES.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/sbcli_hmdi.egg-info/dependency_links.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/sbcli_hmdi.egg-info/entry_points.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/sbcli_hmdi.egg-info/requires.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/sbcli_hmdi.egg-info/top_level.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/setup.cfg +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/setup.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_cli/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_cli/cli.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_cli/main.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/constants.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/db_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/events.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/iface.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/pool.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/stats.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/snode_client.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/utils.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/README.md +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/app.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/node_utils.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/requirements.txt +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/snode_app.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/delete.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/static/tst.py +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/utils.py +0 -0
@@ -463,7 +463,7 @@ def add_lvol_ha(name, size, host_id_or_name, ha_type, pool_id_or_name, use_comp,
|
|
463
463
|
}
|
464
464
|
}
|
465
465
|
|
466
|
-
if lvol.lvol_priority_class:
|
466
|
+
if cl.enable_qos and lvol.lvol_priority_class >= 0:
|
467
467
|
lvol_dict["params"]["lvol_priority_class"] = lvol.lvol_priority_class
|
468
468
|
lvol.bdev_stack = [lvol_dict]
|
469
469
|
|
@@ -659,20 +659,20 @@ def recreate_lvol_on_node(lvol, snode, ha_inode_self=0, ana_state=None):
|
|
659
659
|
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
|
660
660
|
|
661
661
|
base=f"{lvol.lvs_name}/{lvol.lvol_bdev}"
|
662
|
-
retry = 3
|
663
|
-
while retry > 0:
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
else:
|
673
|
-
|
674
|
-
|
675
|
-
|
662
|
+
# retry = 3
|
663
|
+
# while retry > 0:
|
664
|
+
# lv = rpc_client.get_bdevs(base)
|
665
|
+
# if lv:
|
666
|
+
# break
|
667
|
+
# else:
|
668
|
+
# retry -= 1
|
669
|
+
# msg = f"LVol bdev not found: {base} on node {snode.get_id()}, retrying"
|
670
|
+
# logger.warning(msg)
|
671
|
+
# time.sleep(2)
|
672
|
+
# else:
|
673
|
+
# msg = f"LVol bdev not found: {base} on node {snode.get_id()}"
|
674
|
+
# logger.error(msg)
|
675
|
+
# return False, msg
|
676
676
|
|
677
677
|
if "crypto" in lvol.lvol_type:
|
678
678
|
ret = _create_crypto_lvol(
|
@@ -682,27 +682,27 @@ def recreate_lvol_on_node(lvol, snode, ha_inode_self=0, ana_state=None):
|
|
682
682
|
logger.error(msg)
|
683
683
|
return False, msg
|
684
684
|
|
685
|
-
namespace_found = False
|
686
|
-
subsys_found = False
|
687
|
-
ret = rpc_client.subsystem_list(lvol.nqn)
|
688
|
-
if ret :
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
if subsys_found is False:
|
697
|
-
|
698
|
-
|
699
|
-
|
685
|
+
# namespace_found = False
|
686
|
+
# subsys_found = False
|
687
|
+
# ret = rpc_client.subsystem_list(lvol.nqn)
|
688
|
+
# if ret :
|
689
|
+
# subsys_found = True
|
690
|
+
# if ret[0]["namespaces"]:
|
691
|
+
# for ns in ret[0]["namespaces"]:
|
692
|
+
# if ns['name'] == lvol.top_bdev:
|
693
|
+
# namespace_found = True
|
694
|
+
# break
|
695
|
+
|
696
|
+
# if subsys_found is False:
|
697
|
+
min_cntlid = 1 + 1000 * ha_inode_self
|
698
|
+
logger.info("creating subsystem %s", lvol.nqn)
|
699
|
+
rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid, min_cntlid)
|
700
700
|
|
701
|
-
if namespace_found is False:
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
701
|
+
# if namespace_found is False:
|
702
|
+
logger.info("Add BDev to subsystem")
|
703
|
+
ret = rpc_client.nvmf_subsystem_add_ns(lvol.nqn, lvol.top_bdev, lvol.uuid, lvol.guid)
|
704
|
+
# if not ret:
|
705
|
+
# return False, "Failed to add bdev to subsystem"
|
706
706
|
|
707
707
|
# add listeners
|
708
708
|
logger.info("adding listeners")
|
@@ -775,14 +775,9 @@ class RPCClient:
|
|
775
775
|
|
776
776
|
def sock_impl_set_options(self):
|
777
777
|
method = "sock_impl_set_options"
|
778
|
-
params = {
|
779
|
-
|
780
|
-
|
781
|
-
"enable_zerocopy_send_server": False,
|
782
|
-
"enable_zerocopy_send_client": True,
|
783
|
-
"recv_buf_size": 6097152,
|
784
|
-
"send_buf_size": 6097152
|
785
|
-
}
|
778
|
+
params = {"impl_name": "posix", "enable_quickack": True,
|
779
|
+
"enable_zerocopy_send_server": True,
|
780
|
+
"enable_zerocopy_send_client": True}
|
786
781
|
return self._request(method, params)
|
787
782
|
|
788
783
|
def nvmf_set_config(self, poll_groups_mask):
|
@@ -914,15 +909,17 @@ class RPCClient:
|
|
914
909
|
params = {"jm_vuid": jm_vuid}
|
915
910
|
return self._request("bdev_distrib_force_to_non_leader", params)
|
916
911
|
|
917
|
-
def bdev_lvol_set_leader(self, is_leader=False, uuid=None, lvs_name=None):
|
912
|
+
def bdev_lvol_set_leader(self, is_leader=False, uuid=None, lvs_name=None, bs_nonleadership=False):
|
918
913
|
params = {
|
919
|
-
"
|
914
|
+
"lvs_leadership": is_leader,
|
920
915
|
}
|
921
916
|
if uuid:
|
922
917
|
params["uuid"] = uuid
|
923
918
|
elif lvs_name:
|
924
919
|
params["lvs_name"] = lvs_name
|
925
920
|
|
921
|
+
params["bs_nonleadership"] = bs_nonleadership
|
922
|
+
|
926
923
|
return self._request("bdev_lvol_set_leader_all", params)
|
927
924
|
|
928
925
|
def bdev_lvol_register(self, name, lvs_name, registered_uuid, blobid, priority_class=0):
|
@@ -2866,7 +2866,46 @@ def recreate_lvstore(snode):
|
|
2866
2866
|
if snode.is_secondary_node:
|
2867
2867
|
return recreate_lvstore_on_sec(snode)
|
2868
2868
|
|
2869
|
+
# connecting to remote devices
|
2870
|
+
logger.info("Connecting to remote devices")
|
2871
|
+
snode = db_controller.get_storage_node_by_id(snode.get_id())
|
2872
|
+
snode.remote_devices = _connect_to_remote_devs(snode)
|
2873
|
+
if snode.enable_ha_jm:
|
2874
|
+
online_devs = []
|
2875
|
+
for remote_device in snode.remote_jm_devices:
|
2876
|
+
if remote_device.status == StorageNode.STATUS_ONLINE:
|
2877
|
+
online_devs.append(remote_device)
|
2878
|
+
|
2879
|
+
if len(online_devs) < 2:
|
2880
|
+
devs = get_sorted_ha_jms(snode)
|
2881
|
+
for did in devs:
|
2882
|
+
dev = db_controller.get_jm_device_by_id(did)
|
2883
|
+
online_devs.append(dev)
|
2884
|
+
if len(online_devs) > snode.ha_jm_count - 1:
|
2885
|
+
break
|
2886
|
+
|
2887
|
+
snode.remote_jm_devices = online_devs
|
2888
|
+
snode.remote_jm_devices = _connect_to_remote_jm_devs(snode)
|
2889
|
+
snode.write_to_db()
|
2890
|
+
|
2891
|
+
time.sleep(1)
|
2892
|
+
|
2893
|
+
ret, err = _create_bdev_stack(snode, [], primary_node=snode)
|
2894
|
+
|
2895
|
+
if err:
|
2896
|
+
logger.error(f"Failed to recreate lvstore on node {snode.get_id()}")
|
2897
|
+
logger.error(err)
|
2898
|
+
return False
|
2899
|
+
|
2900
|
+
# ret = rpc_client.bdev_examine(snode.raid)
|
2901
|
+
# ret = rpc_client.bdev_wait_for_examine()
|
2902
|
+
# ret = rpc_client.bdev_lvol_set_lvs_groupid(snode.lvstore, snode.jm_vuid)
|
2903
|
+
# time.sleep(1)
|
2904
|
+
|
2905
|
+
|
2869
2906
|
sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
|
2907
|
+
sec_node_api = SNodeClient(sec_node.api_endpoint)
|
2908
|
+
|
2870
2909
|
prim_node_suspend = False
|
2871
2910
|
lvol_list = db_controller.get_lvols_by_node_id(snode.get_id())
|
2872
2911
|
if sec_node:
|
@@ -2882,60 +2921,64 @@ def recreate_lvstore(snode):
|
|
2882
2921
|
# ret = sec_rpc_client.nvmf_subsystem_listener_set_ana_state(
|
2883
2922
|
# lvol.nqn, iface.ip4_address, lvol.subsys_port, False, "inaccessible")
|
2884
2923
|
|
2885
|
-
sec_node_api = SNodeClient(sec_node.api_endpoint)
|
2886
2924
|
sec_node_api.firewall_set_port(snode.lvol_subsys_port, "tcp", "block")
|
2887
2925
|
|
2888
|
-
sec_rpc_client.bdev_lvol_set_leader(False, lvs_name=snode.lvstore)
|
2926
|
+
sec_rpc_client.bdev_lvol_set_leader(False, lvs_name=snode.lvstore, bs_nonleadership=True)
|
2889
2927
|
sec_rpc_client.bdev_distrib_force_to_non_leader(snode.jm_vuid)
|
2890
2928
|
|
2891
2929
|
rpc_client = RPCClient(
|
2892
2930
|
snode.mgmt_ip, snode.rpc_port,
|
2893
2931
|
snode.rpc_username, snode.rpc_password, retry=1, timeout=30)
|
2894
2932
|
|
2895
|
-
|
2896
|
-
|
2897
|
-
|
2898
|
-
|
2899
|
-
|
2900
|
-
|
2901
|
-
|
2902
|
-
|
2903
|
-
|
2904
|
-
|
2905
|
-
|
2906
|
-
|
2907
|
-
|
2908
|
-
|
2909
|
-
|
2910
|
-
|
2911
|
-
|
2912
|
-
|
2913
|
-
|
2914
|
-
|
2915
|
-
snode.
|
2916
|
-
|
2917
|
-
|
2933
|
+
ret = rpc_client.bdev_examine(snode.raid)
|
2934
|
+
ret = rpc_client.bdev_wait_for_examine()
|
2935
|
+
ret = rpc_client.bdev_lvol_set_lvs_ops(snode.lvstore, snode.jm_vuid, snode.lvol_subsys_port)
|
2936
|
+
# time.sleep(1)
|
2937
|
+
|
2938
|
+
# # connecting to remote devices
|
2939
|
+
# logger.info("Connecting to remote devices")
|
2940
|
+
# snode = db_controller.get_storage_node_by_id(snode.get_id())
|
2941
|
+
# snode.remote_devices = _connect_to_remote_devs(snode)
|
2942
|
+
# if snode.enable_ha_jm:
|
2943
|
+
# # online_devs = []
|
2944
|
+
# # for remote_device in snode.remote_jm_devices:
|
2945
|
+
# # if remote_device.status == StorageNode.STATUS_ONLINE:
|
2946
|
+
# # online_devs.append(remote_device)
|
2947
|
+
# #
|
2948
|
+
# # if len(online_devs) < 2:
|
2949
|
+
# # devs = get_sorted_ha_jms(snode)
|
2950
|
+
# # for did in devs:
|
2951
|
+
# # dev = db_controller.get_jm_device_by_id(did)
|
2952
|
+
# # online_devs.append(dev)
|
2953
|
+
# # if len(online_devs) > snode.ha_jm_count - 1:
|
2954
|
+
# # break
|
2955
|
+
# #
|
2956
|
+
# # snode.remote_jm_devices = online_devs
|
2957
|
+
# snode.remote_jm_devices = _connect_to_remote_jm_devs(snode)
|
2958
|
+
# snode.write_to_db()
|
2959
|
+
#
|
2960
|
+
# time.sleep(2)
|
2918
2961
|
|
2919
2962
|
if not lvol_list:
|
2920
2963
|
prim_node_suspend = False
|
2921
2964
|
|
2922
|
-
ret, err = _create_bdev_stack(snode, [], primary_node=snode)
|
2923
|
-
|
2924
|
-
if err:
|
2925
|
-
|
2926
|
-
|
2927
|
-
|
2928
|
-
|
2929
|
-
ret = rpc_client.bdev_examine(snode.raid)
|
2930
|
-
ret = rpc_client.bdev_wait_for_examine()
|
2931
|
-
time.sleep(1)
|
2932
|
-
|
2933
|
-
ret = rpc_client.bdev_lvol_set_lvs_ops(snode.lvstore, snode.jm_vuid, snode.lvol_subsys_port)
|
2965
|
+
# ret, err = _create_bdev_stack(snode, [], primary_node=snode)
|
2966
|
+
#
|
2967
|
+
# if err:
|
2968
|
+
# logger.error(f"Failed to recreate lvstore on node {snode.get_id()}")
|
2969
|
+
# logger.error(err)
|
2970
|
+
# return False
|
2971
|
+
#
|
2972
|
+
# ret = rpc_client.bdev_examine(snode.raid)
|
2973
|
+
# ret = rpc_client.bdev_wait_for_examine()
|
2974
|
+
# time.sleep(1)
|
2975
|
+
#
|
2976
|
+
# ret = rpc_client.bdev_lvol_set_lvs_ops(snode.lvstore, snode.jm_vuid, snode.lvol_subsys_port)
|
2934
2977
|
|
2935
|
-
|
2936
|
-
|
2937
|
-
|
2938
|
-
|
2978
|
+
if not prim_node_suspend:
|
2979
|
+
if snode.jm_vuid:
|
2980
|
+
ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
|
2981
|
+
logger.info(f"JM Sync res: {ret}")
|
2939
2982
|
|
2940
2983
|
lvol_ana_state = "optimized"
|
2941
2984
|
if prim_node_suspend:
|
@@ -2953,13 +2996,14 @@ def recreate_lvstore(snode):
|
|
2953
2996
|
lvol_obj.health_check = True
|
2954
2997
|
lvol_obj.write_to_db()
|
2955
2998
|
|
2956
|
-
if snode.jm_vuid:
|
2957
|
-
|
2958
|
-
|
2999
|
+
# if snode.jm_vuid:
|
3000
|
+
# ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
|
3001
|
+
# logger.info(f"JM Sync res: {ret}")
|
2959
3002
|
|
2960
|
-
sec_node_api = SNodeClient(sec_node.api_endpoint)
|
2961
3003
|
if prim_node_suspend:
|
2962
|
-
|
3004
|
+
if sec_node.status == StorageNode.STATUS_ONLINE:
|
3005
|
+
sec_node_api.firewall_set_port(snode.lvol_subsys_port, "tcp", "allow")
|
3006
|
+
|
2963
3007
|
set_node_status(snode.get_id(), StorageNode.STATUS_SUSPENDED)
|
2964
3008
|
logger.info("Node restart interrupted because secondary node is unreachable")
|
2965
3009
|
logger.info("Node status changed to suspended")
|
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_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/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
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/blueprints/node_api_caching_docker.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
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2
RENAMED
File without changes
|
{sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.24}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2
RENAMED
File without changes
|
File without changes
|