sbcli-dev 4.0.22__zip → 4.0.24__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.24}/PKG-INFO +1 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/env_var +1 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/device_controller.py +89 -28
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/storage_node_ops.py +2 -1
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/auth_middleware.py +0 -3
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_cluster.py +8 -18
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/README.md +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/pyproject.toml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/setup.cfg +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/setup.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/app.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/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
|
|
@@ -743,7 +743,8 @@ def _prepare_cluster_devices_on_restart(snode):
|
|
|
743
743
|
logger.error(f"Failed to add: {pt_name} to the subsystem: {subsystem_nqn}")
|
|
744
744
|
return False
|
|
745
745
|
|
|
746
|
-
|
|
746
|
+
device_controller.set_jm_device_state(snode.jm_device.get_id(), JMDevice.STATUS_ONLINE)
|
|
747
|
+
return True
|
|
747
748
|
|
|
748
749
|
|
|
749
750
|
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.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.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_dev-4.0.22 → sbcli_dev-4.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
|
{sbcli_dev-4.0.22 → sbcli_dev-4.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
|
{sbcli_dev-4.0.22 → sbcli_dev-4.0.24}/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.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_dev-4.0.22 → sbcli_dev-4.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_dev-4.0.22 → sbcli_dev-4.0.24}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.22 → sbcli_dev-4.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|