sbcli-dev 4.0.22__zip → 4.0.23__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.22 → sbcli_dev-4.0.23}/PKG-INFO +1 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/env_var +1 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/device_controller.py +89 -28
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/storage_node_ops.py +3 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/auth_middleware.py +0 -3
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_cluster.py +8 -18
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/README.md +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/pyproject.toml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/setup.cfg +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/setup.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/app.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_web/utils.py +0 -0
|
@@ -171,14 +171,6 @@ def _def_create_device_stack(device_obj, snode, force=False):
|
|
|
171
171
|
logger.info(f"Adding {pt_name} to the subsystem")
|
|
172
172
|
ret = rpc_client.nvmf_subsystem_add_ns(subsystem_nqn, pt_name)
|
|
173
173
|
|
|
174
|
-
if hasattr(device_obj, 'jm_bdev') and device_obj.jm_bdev:
|
|
175
|
-
ret = rpc_client.bdev_jm_create(device_obj.jm_bdev, device_obj.alceml_bdev,
|
|
176
|
-
jm_cpu_mask=snode.jm_cpu_mask)
|
|
177
|
-
if not ret:
|
|
178
|
-
logger.error(f"Failed to create jm bdev: {device_obj.jm_bdev}")
|
|
179
|
-
if not force:
|
|
180
|
-
return False
|
|
181
|
-
|
|
182
174
|
if snode.enable_test_device:
|
|
183
175
|
device_obj.testing_bdev = test_name
|
|
184
176
|
device_obj.alceml_bdev = alceml_name
|
|
@@ -820,29 +812,98 @@ def restart_jm_device(device_id, force=False, format_alceml=False):
|
|
|
820
812
|
return False
|
|
821
813
|
|
|
822
814
|
# add to jm raid
|
|
823
|
-
if snode.jm_device
|
|
815
|
+
if snode.jm_device:
|
|
824
816
|
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
if dev_part
|
|
833
|
-
jm_nvme_bdevs
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
817
|
+
if snode.jm_device.raid_bdev:
|
|
818
|
+
bdevs_names = [d['name'] for d in rpc_client.get_bdevs()]
|
|
819
|
+
jm_nvme_bdevs = []
|
|
820
|
+
for dev in snode.nvme_devices:
|
|
821
|
+
if dev.status != NVMeDevice.STATUS_ONLINE:
|
|
822
|
+
continue
|
|
823
|
+
dev_part = f"{dev.nvme_bdev[:-2]}p1"
|
|
824
|
+
if dev_part in bdevs_names:
|
|
825
|
+
if dev_part not in jm_nvme_bdevs:
|
|
826
|
+
jm_nvme_bdevs.append(dev_part)
|
|
827
|
+
|
|
828
|
+
if len(jm_nvme_bdevs) > 0:
|
|
829
|
+
new_jm = storage_node_ops._create_jm_stack_on_raid(
|
|
830
|
+
rpc_client, jm_nvme_bdevs, snode, after_restart=not format_alceml)
|
|
831
|
+
if not new_jm:
|
|
832
|
+
logger.error("failed to create jm stack")
|
|
833
|
+
return False
|
|
834
|
+
|
|
835
|
+
else:
|
|
836
|
+
snode = db_controller.get_storage_node_by_id(snode.get_id())
|
|
837
|
+
snode.jm_device = new_jm
|
|
838
|
+
snode.write_to_db(db_controller.kv_store)
|
|
839
|
+
set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
|
|
840
|
+
else:
|
|
841
|
+
nvme_bdev = jm_device.nvme_bdev
|
|
842
|
+
if snode.enable_test_device:
|
|
843
|
+
ret = rpc_client.bdev_passtest_create(jm_device.testing_bdev, jm_device.nvme_bdev)
|
|
844
|
+
if not ret:
|
|
845
|
+
logger.error(f"Failed to create passtest bdev {jm_device.testing_bdev}")
|
|
846
|
+
return False
|
|
847
|
+
nvme_bdev = jm_device.testing_bdev
|
|
848
|
+
alceml_cpu_mask = ""
|
|
849
|
+
alceml_worker_cpu_mask = ""
|
|
850
|
+
|
|
851
|
+
if snode.alceml_cpu_cores:
|
|
852
|
+
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
|
|
853
|
+
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
854
|
+
|
|
855
|
+
if snode.alceml_worker_cpu_cores:
|
|
856
|
+
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
857
|
+
snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
|
|
858
|
+
snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
|
|
859
|
+
|
|
860
|
+
ret = rpc_client.bdev_alceml_create(jm_device.alceml_bdev, nvme_bdev, jm_device.get_id(),
|
|
861
|
+
pba_init_mode=1, alceml_cpu_mask=alceml_cpu_mask,
|
|
862
|
+
alceml_worker_cpu_mask=alceml_worker_cpu_mask)
|
|
863
|
+
|
|
864
|
+
if not ret:
|
|
865
|
+
logger.error(f"Failed to create alceml bdev: {jm_device.alceml_bdev}")
|
|
866
|
+
return False
|
|
867
|
+
|
|
868
|
+
jm_bdev = f"jm_{snode.get_id()}"
|
|
869
|
+
ret = rpc_client.bdev_jm_create(jm_bdev, jm_device.alceml_bdev, jm_cpu_mask=snode.jm_cpu_mask)
|
|
870
|
+
if not ret:
|
|
871
|
+
logger.error(f"Failed to create {jm_bdev}")
|
|
840
872
|
return False
|
|
841
873
|
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
874
|
+
if snode.enable_ha_jm:
|
|
875
|
+
# add pass through
|
|
876
|
+
pt_name = f"{jm_bdev}_PT"
|
|
877
|
+
ret = rpc_client.bdev_PT_NoExcl_create(pt_name, jm_bdev)
|
|
878
|
+
if not ret:
|
|
879
|
+
logger.error(f"Failed to create pt noexcl bdev: {pt_name}")
|
|
880
|
+
return False
|
|
881
|
+
|
|
882
|
+
subsystem_nqn = snode.subsystem + ":dev:" + jm_bdev
|
|
883
|
+
logger.info("creating subsystem %s", subsystem_nqn)
|
|
884
|
+
ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', jm_bdev)
|
|
885
|
+
IP = None
|
|
886
|
+
for iface in snode.data_nics:
|
|
887
|
+
if iface.ip4_address:
|
|
888
|
+
tr_type = iface.get_transport_type()
|
|
889
|
+
ret = rpc_client.transport_list()
|
|
890
|
+
found = False
|
|
891
|
+
if ret:
|
|
892
|
+
for ty in ret:
|
|
893
|
+
if ty['trtype'] == tr_type:
|
|
894
|
+
found = True
|
|
895
|
+
if found is False:
|
|
896
|
+
ret = rpc_client.transport_create(tr_type)
|
|
897
|
+
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
898
|
+
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
899
|
+
IP = iface.ip4_address
|
|
900
|
+
break
|
|
901
|
+
logger.info(f"add {pt_name} to subsystem")
|
|
902
|
+
ret = rpc_client.nvmf_subsystem_add_ns(subsystem_nqn, pt_name)
|
|
903
|
+
if not ret:
|
|
904
|
+
logger.error(f"Failed to add: {pt_name} to the subsystem: {subsystem_nqn}")
|
|
905
|
+
return False
|
|
906
|
+
|
|
846
907
|
set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
|
|
847
908
|
|
|
848
909
|
return True
|
|
@@ -16,6 +16,7 @@ from simplyblock_core import constants, scripts, distr_controller
|
|
|
16
16
|
from simplyblock_core import utils
|
|
17
17
|
from simplyblock_core.controllers import lvol_controller, storage_events, snapshot_controller, device_events, \
|
|
18
18
|
device_controller, tasks_controller, health_controller
|
|
19
|
+
from simplyblock_core.controllers.device_controller import set_jm_device_state
|
|
19
20
|
from simplyblock_core.kv_store import DBController, KVStore
|
|
20
21
|
from simplyblock_core import shell_utils
|
|
21
22
|
from simplyblock_core.models.iface import IFace
|
|
@@ -743,7 +744,8 @@ def _prepare_cluster_devices_on_restart(snode):
|
|
|
743
744
|
logger.error(f"Failed to add: {pt_name} to the subsystem: {subsystem_nqn}")
|
|
744
745
|
return False
|
|
745
746
|
|
|
746
|
-
|
|
747
|
+
set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
|
|
748
|
+
return True
|
|
747
749
|
|
|
748
750
|
|
|
749
751
|
def _connect_to_remote_devs(this_node):
|
|
@@ -10,9 +10,6 @@ from simplyblock_core import kv_store
|
|
|
10
10
|
def token_required(f):
|
|
11
11
|
@wraps(f)
|
|
12
12
|
def decorated(*args, **kwargs):
|
|
13
|
-
#TODO: added for e2e tests automation
|
|
14
|
-
if request.method == "GET" and request.path.startswith("/cluster"):
|
|
15
|
-
return f(*args, **kwargs)
|
|
16
13
|
cluster_id = None
|
|
17
14
|
cluster_secret = None
|
|
18
15
|
if "Authorization" in request.headers:
|
|
@@ -55,24 +55,14 @@ def add_cluster():
|
|
|
55
55
|
@bp.route('/cluster', methods=['GET'], defaults={'uuid': None})
|
|
56
56
|
@bp.route('/cluster/<string:uuid>', methods=['GET'])
|
|
57
57
|
def list_clusters(uuid):
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
cls = db_controller.get_clusters()
|
|
67
|
-
if cls:
|
|
68
|
-
clusters_list.extend(cls)
|
|
69
|
-
|
|
70
|
-
data = []
|
|
71
|
-
for cluster in clusters_list:
|
|
72
|
-
d = cluster.get_clean_dict()
|
|
73
|
-
d['status_code'] = cluster.get_status_code()
|
|
74
|
-
data.append(d)
|
|
75
|
-
return utils.get_response(data)
|
|
58
|
+
cluster_id = utils.get_cluster_id(request)
|
|
59
|
+
cluster = db_controller.get_cluster_by_id(cluster_id)
|
|
60
|
+
if not cluster:
|
|
61
|
+
return utils.get_response_error(f"Cluster not found: {cluster_id}", 404)
|
|
62
|
+
|
|
63
|
+
d = cluster.get_clean_dict()
|
|
64
|
+
d['status_code'] = cluster.get_status_code()
|
|
65
|
+
return utils.get_response(d)
|
|
76
66
|
|
|
77
67
|
|
|
78
68
|
@bp.route('/cluster/capacity/<string:uuid>/history/<string:history>', methods=['GET'])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.22 → sbcli_dev-4.0.23}/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
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/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.22 → sbcli_dev-4.0.23}/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.22 → sbcli_dev-4.0.23}/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.22 → sbcli_dev-4.0.23}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/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.22 → sbcli_dev-4.0.23}/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.22 → sbcli_dev-4.0.23}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.0.23}/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
|