sbcli-dev 4.0.5__zip → 4.0.6__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.
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/PKG-INFO +1 -1
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/env_var +1 -1
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/device_controller.py +6 -2
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/storage_node_ops.py +25 -5
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/README.md +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/pyproject.toml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/setup.cfg +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/setup.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/app.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/simplyblock_web/utils.py +0 -0
|
@@ -672,7 +672,7 @@ def add_device(device_id):
|
|
|
672
672
|
if snode.jm_device and snode.jm_device.raid_bdev:
|
|
673
673
|
# looking for jm partition
|
|
674
674
|
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
|
|
675
|
-
jm_dev_part = f"{dev.nvme_bdev[:-
|
|
675
|
+
jm_dev_part = f"{dev.nvme_bdev[:-2]}p1"
|
|
676
676
|
ret = rpc_client.get_bdevs(jm_dev_part)
|
|
677
677
|
if ret:
|
|
678
678
|
logger.info(f"JM part found: {jm_dev_part}")
|
|
@@ -714,6 +714,10 @@ def set_jm_device_state(device_id, state):
|
|
|
714
714
|
for node_index, node in enumerate(snodes):
|
|
715
715
|
if node.get_id() == snode.get_id() or node.status != StorageNode.STATUS_ONLINE:
|
|
716
716
|
continue
|
|
717
|
+
for jm_dev in node.remote_jm_devices:
|
|
718
|
+
if jm_dev.get_id() == device_id and jm_device.status != JMDevice.STATUS_ONLINE:
|
|
719
|
+
node.remote_jm_devices.remove(jm_dev)
|
|
720
|
+
break
|
|
717
721
|
logger.info(f"Connecting to node: {node.get_id()}")
|
|
718
722
|
node.remote_jm_devices = storage_node_ops._connect_to_remote_jm_devs(node)
|
|
719
723
|
node.write_to_db(db_controller.kv_store)
|
|
@@ -796,7 +800,7 @@ def restart_jm_device(device_id, force=False):
|
|
|
796
800
|
for dev in snode.nvme_devices:
|
|
797
801
|
if dev.status != NVMeDevice.STATUS_ONLINE:
|
|
798
802
|
continue
|
|
799
|
-
dev_part = f"{dev.nvme_bdev[:-
|
|
803
|
+
dev_part = f"{dev.nvme_bdev[:-2]}p1"
|
|
800
804
|
if dev_part in bdevs_names:
|
|
801
805
|
if dev_part not in jm_nvme_bdevs:
|
|
802
806
|
jm_nvme_bdevs.append(dev_part)
|
|
@@ -798,16 +798,24 @@ def _connect_to_remote_jm_devs(this_node, jm_ids=[]):
|
|
|
798
798
|
if jm_ids:
|
|
799
799
|
for jm_id in jm_ids:
|
|
800
800
|
jm_dev = db_controller.get_jm_device_by_id(jm_id)
|
|
801
|
-
|
|
801
|
+
if jm_dev:
|
|
802
|
+
remote_devices.append(jm_dev)
|
|
802
803
|
elif len(this_node.remote_jm_devices) > 0:
|
|
803
804
|
remote_devices = this_node.remote_jm_devices
|
|
804
805
|
else:
|
|
805
806
|
for node in db_controller.get_storage_nodes_by_cluster_id(this_node.cluster_id):
|
|
806
807
|
if node.get_id() == this_node.get_id() or node.status != StorageNode.STATUS_ONLINE:
|
|
807
808
|
continue
|
|
808
|
-
if node.jm_device:
|
|
809
|
+
if node.jm_device and node.jm_device.status == JMDevice.STATUS_ONLINE:
|
|
809
810
|
remote_devices.append(node.jm_device)
|
|
810
811
|
|
|
812
|
+
if len(remote_devices) < 2:
|
|
813
|
+
online_jms = get_next_ha_jms(this_node)
|
|
814
|
+
for jm_id in online_jms:
|
|
815
|
+
jm_dev = db_controller.get_jm_device_by_id(jm_id)
|
|
816
|
+
if jm_dev:
|
|
817
|
+
remote_devices.append(jm_dev)
|
|
818
|
+
|
|
811
819
|
for jm_dev in remote_devices:
|
|
812
820
|
name = f"remote_{jm_dev.jm_bdev}"
|
|
813
821
|
bdev_name = f"{name}n1"
|
|
@@ -1354,6 +1362,10 @@ def remove_storage_node(node_id, force_remove=False, force_migrate=False):
|
|
|
1354
1362
|
distr_controller.disconnect_device(dev)
|
|
1355
1363
|
device_controller.device_set_failed(dev.get_id())
|
|
1356
1364
|
|
|
1365
|
+
if snode.jm_device:
|
|
1366
|
+
logger.info("Removing JM")
|
|
1367
|
+
device_controller.remove_jm_device(snode.jm_device.get_id(), force=True)
|
|
1368
|
+
|
|
1357
1369
|
logger.info("Removing storage node")
|
|
1358
1370
|
|
|
1359
1371
|
logger.debug("Leaving swarm...")
|
|
@@ -1687,6 +1699,7 @@ def restart_storage_node(
|
|
|
1687
1699
|
|
|
1688
1700
|
if snode.enable_ha_jm:
|
|
1689
1701
|
logger.info("Connecting to remote JMs")
|
|
1702
|
+
snode.remote_jm_devices = []
|
|
1690
1703
|
snode.remote_jm_devices = _connect_to_remote_jm_devs(snode)
|
|
1691
1704
|
|
|
1692
1705
|
logger.info("Setting node status to Online")
|
|
@@ -1714,6 +1727,9 @@ def restart_storage_node(
|
|
|
1714
1727
|
continue
|
|
1715
1728
|
tasks_controller.add_device_mig_task(dev.get_id())
|
|
1716
1729
|
|
|
1730
|
+
if cluster.status == cluster.STATUS_UNREADY:
|
|
1731
|
+
logger.info("Done")
|
|
1732
|
+
return "Success"
|
|
1717
1733
|
# Create distribs, raid0, and lvstore and expose lvols to the fabrics
|
|
1718
1734
|
if snode.lvstore_stack:
|
|
1719
1735
|
temp_rpc_client = RPCClient(
|
|
@@ -2562,12 +2578,15 @@ def get_next_ha_jms(current_node):
|
|
|
2562
2578
|
for node in db_controller.get_storage_nodes_by_cluster_id(current_node.cluster_id):
|
|
2563
2579
|
if node.get_id() == current_node.get_id() or node.status != StorageNode.STATUS_ONLINE:
|
|
2564
2580
|
continue
|
|
2565
|
-
if node.jm_device:
|
|
2581
|
+
if node.jm_device and node.jm_device.status == JMDevice.STATUS_ONLINE:
|
|
2566
2582
|
jm_count[node.jm_device.get_id()] = 1 + jm_count.get(node.jm_device.get_id(), 0)
|
|
2567
2583
|
for rem_jm_device in node.remote_jm_devices:
|
|
2568
2584
|
if rem_jm_device.get_id() != current_node.jm_device.get_id():
|
|
2569
|
-
|
|
2570
|
-
|
|
2585
|
+
try:
|
|
2586
|
+
if db_controller.get_jm_device_by_id(rem_jm_device.get_id()).status == JMDevice.STATUS_ONLINE:
|
|
2587
|
+
jm_count[rem_jm_device.get_id()] = 1 + jm_count.get(rem_jm_device.get_id(), 0)
|
|
2588
|
+
except :
|
|
2589
|
+
pass
|
|
2571
2590
|
jm_count = dict(sorted(jm_count.items(), key=lambda x: x[1]))
|
|
2572
2591
|
return list(jm_count.keys())[:2]
|
|
2573
2592
|
|
|
@@ -2597,6 +2616,7 @@ def create_lvstore(snode, ndcs, npcs, distr_bs, distr_chunk_bs, page_size_in_blo
|
|
|
2597
2616
|
if snode.enable_ha_jm:
|
|
2598
2617
|
jm_vuid = utils.get_random_vuid()
|
|
2599
2618
|
online_jms = get_next_ha_jms(snode)
|
|
2619
|
+
logger.debug(f"online_jms: {str(online_jms)}")
|
|
2600
2620
|
snode.remote_jm_devices = _connect_to_remote_jm_devs(snode, online_jms)
|
|
2601
2621
|
snode.write_to_db()
|
|
2602
2622
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.5 → sbcli_dev-4.0.6}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
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_dev-4.0.5 → sbcli_dev-4.0.6}/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
|
|
File without changes
|
{sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/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
|
|
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.5 → sbcli_dev-4.0.6}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.5 → sbcli_dev-4.0.6}/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
|