sbcli-dev 18.0.76__tar.gz → 18.0.78__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/PKG-INFO +1 -1
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/device_controller.py +10 -32
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/env_var +1 -1
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/storage_node.py +20 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/storage_node_ops.py +25 -72
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/snode_ops.py +2 -1
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/snode_ops_k8s.py +1 -1
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/README.md +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/pyproject.toml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/requirements.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/setup.cfg +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/setup.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_cli/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_cli/clibase.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/db_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/hublvol.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/helpers/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/helpers/deploy_cluster.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/helpers/destroy_cluster.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/prometheus.yml.j2 +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/spdk/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/spdk/client.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_cluster_status.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/test/test_models.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/test/test_utils.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/README.md +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/app.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/swagger_ui_blueprint.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_metrics.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/node_configure.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/node_utils_k8s.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/SimplyBlock-API.postman_collection.json +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/swagger.yaml +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/api/test_lvol.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/api/test_pool.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/api/test_snapshot.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/api/test_storage_node.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/conftest.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/pytest.ini +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/requirements.txt +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/test/util.py +0 -0
- {sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/utils.py +0 -0
|
@@ -144,24 +144,13 @@ def _def_create_device_stack(device_obj, snode, force=False):
|
|
|
144
144
|
alceml_name = get_alceml_name(alceml_id)
|
|
145
145
|
|
|
146
146
|
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
147
|
-
write_protection = False
|
|
148
|
-
if cluster.distr_ndcs > 1:
|
|
149
|
-
write_protection = True
|
|
150
147
|
if alceml_name not in bdev_names:
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
full_page_unmap=snode.full_page_unmap
|
|
158
|
-
)
|
|
159
|
-
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
160
|
-
else:
|
|
161
|
-
ret = rpc_client.bdev_alceml_create(
|
|
162
|
-
alceml_name, nvme_bdev, alceml_id, pba_init_mode=2, pba_page_size=cluster.page_size_in_blocks,
|
|
163
|
-
write_protection=write_protection, full_page_unmap=snode.full_page_unmap
|
|
164
|
-
)
|
|
148
|
+
ret = snode.create_alceml(
|
|
149
|
+
alceml_name, nvme_bdev, alceml_id,
|
|
150
|
+
pba_init_mode=2,
|
|
151
|
+
write_protection=cluster.distr_ndcs > 1,
|
|
152
|
+
pba_page_size=cluster.page_size_in_blocks,
|
|
153
|
+
)
|
|
165
154
|
|
|
166
155
|
if not ret:
|
|
167
156
|
logger.error(f"Failed to create alceml bdev: {alceml_name}")
|
|
@@ -899,23 +888,12 @@ def restart_jm_device(device_id, force=False, format_alceml=False):
|
|
|
899
888
|
# logger.error(f"Failed to create passtest bdev {jm_device.testing_bdev}")
|
|
900
889
|
# # return False
|
|
901
890
|
# nvme_bdev = jm_device.testing_bdev
|
|
902
|
-
alceml_cpu_mask = ""
|
|
903
|
-
alceml_worker_cpu_mask = ""
|
|
904
891
|
#
|
|
905
|
-
if snode.alceml_cpu_cores:
|
|
906
|
-
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
|
|
907
|
-
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
908
|
-
|
|
909
|
-
if snode.alceml_worker_cpu_cores:
|
|
910
|
-
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
911
|
-
snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
|
|
912
|
-
snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
|
|
913
|
-
|
|
914
892
|
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
915
|
-
ret =
|
|
916
|
-
jm_device.alceml_bdev, nvme_bdev, jm_device.get_id(),
|
|
917
|
-
|
|
918
|
-
|
|
893
|
+
ret = snode.create_alceml(
|
|
894
|
+
jm_device.alceml_bdev, nvme_bdev, jm_device.get_id(),
|
|
895
|
+
pba_init_mode=1,
|
|
896
|
+
pba_page_size=cluster.page_size_in_blocks,
|
|
919
897
|
)
|
|
920
898
|
|
|
921
899
|
if not ret:
|
|
@@ -258,3 +258,23 @@ class StorageNode(BaseNodeObject):
|
|
|
258
258
|
if not rpc_client.bdev_lvol_connect_hublvol(primary_node.lvstore, remote_bdev):
|
|
259
259
|
pass
|
|
260
260
|
# raise RPCException('Failed to connect secondary lvstore to primary')
|
|
261
|
+
|
|
262
|
+
def create_alceml(self, name, nvme_bdev, uuid, **kwargs):
|
|
263
|
+
logger.info(f"Adding {name}")
|
|
264
|
+
alceml_cpu_mask = ""
|
|
265
|
+
alceml_worker_cpu_mask = ""
|
|
266
|
+
if self.alceml_cpu_cores:
|
|
267
|
+
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(self.alceml_cpu_cores[self.alceml_cpu_index])
|
|
268
|
+
self.alceml_cpu_index = (self.alceml_cpu_index + 1) % len(self.alceml_cpu_cores)
|
|
269
|
+
if self.alceml_worker_cpu_cores:
|
|
270
|
+
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
271
|
+
self.alceml_worker_cpu_cores[self.alceml_worker_cpu_index])
|
|
272
|
+
self.alceml_worker_cpu_index = (self.alceml_worker_cpu_index + 1) % len(self.alceml_worker_cpu_cores)
|
|
273
|
+
|
|
274
|
+
return self.rpc_client().bdev_alceml_create(
|
|
275
|
+
name, nvme_bdev, uuid,
|
|
276
|
+
alceml_cpu_mask=alceml_cpu_mask,
|
|
277
|
+
alceml_worker_cpu_mask=alceml_worker_cpu_mask,
|
|
278
|
+
full_page_unmap=self.full_page_unmap,
|
|
279
|
+
**kwargs,
|
|
280
|
+
)
|
|
@@ -93,25 +93,15 @@ def _create_jm_stack_on_raid(rpc_client, jm_nvme_bdevs, snode, after_restart):
|
|
|
93
93
|
alceml_id = snode.get_id()
|
|
94
94
|
alceml_name = f"alceml_jm_{snode.get_id()}"
|
|
95
95
|
nvme_bdev = raid_bdev
|
|
96
|
-
pba_init_mode = 3
|
|
97
|
-
if after_restart:
|
|
98
|
-
pba_init_mode = 1
|
|
99
|
-
alceml_cpu_mask = ""
|
|
100
|
-
alceml_worker_cpu_mask = ""
|
|
101
|
-
if snode.alceml_cpu_cores:
|
|
102
|
-
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
|
|
103
|
-
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
104
|
-
if snode.alceml_worker_cpu_cores:
|
|
105
|
-
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
106
|
-
snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
|
|
107
|
-
snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
|
|
108
96
|
|
|
109
97
|
db_controller = DBController()
|
|
110
98
|
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
111
|
-
ret =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
99
|
+
ret = snode.create_alceml(
|
|
100
|
+
alceml_name, nvme_bdev, alceml_id,
|
|
101
|
+
pba_init_mode=1 if after_restart else 3,
|
|
102
|
+
pba_page_size=cluster.page_size_in_blocks,
|
|
103
|
+
)
|
|
104
|
+
|
|
115
105
|
if not ret:
|
|
116
106
|
logger.error(f"Failed to create alceml bdev: {alceml_name}")
|
|
117
107
|
return False
|
|
@@ -173,7 +163,6 @@ def _create_jm_stack_on_raid(rpc_client, jm_nvme_bdevs, snode, after_restart):
|
|
|
173
163
|
def _create_jm_stack_on_device(rpc_client, nvme, snode, after_restart):
|
|
174
164
|
alceml_id = nvme.get_id()
|
|
175
165
|
alceml_name = device_controller.get_alceml_name(alceml_id)
|
|
176
|
-
logger.info(f"adding {alceml_name}")
|
|
177
166
|
db_controller = DBController()
|
|
178
167
|
nvme_bdev = nvme.nvme_bdev
|
|
179
168
|
test_name = ""
|
|
@@ -184,24 +173,13 @@ def _create_jm_stack_on_device(rpc_client, nvme, snode, after_restart):
|
|
|
184
173
|
logger.error(f"Failed to create passtest bdev {test_name}")
|
|
185
174
|
return False
|
|
186
175
|
nvme_bdev = test_name
|
|
187
|
-
pba_init_mode = 3
|
|
188
|
-
if after_restart:
|
|
189
|
-
pba_init_mode = 1
|
|
190
|
-
alceml_cpu_mask = ""
|
|
191
|
-
alceml_worker_cpu_mask = ""
|
|
192
|
-
if snode.alceml_cpu_cores:
|
|
193
|
-
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
|
|
194
|
-
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
195
|
-
if snode.alceml_worker_cpu_cores:
|
|
196
|
-
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
197
|
-
snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
|
|
198
|
-
snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
|
|
199
176
|
|
|
200
177
|
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
201
|
-
ret =
|
|
202
|
-
alceml_name, nvme_bdev, alceml_id,
|
|
203
|
-
|
|
204
|
-
|
|
178
|
+
ret = snode.create_alceml(
|
|
179
|
+
alceml_name, nvme_bdev, alceml_id,
|
|
180
|
+
pba_init_mode=1 if after_restart else 3,
|
|
181
|
+
pba_page_size=cluster.page_size_in_blocks,
|
|
182
|
+
)
|
|
205
183
|
|
|
206
184
|
if not ret:
|
|
207
185
|
logger.error(f"Failed to create alceml bdev: {alceml_name}")
|
|
@@ -273,29 +251,16 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
|
|
|
273
251
|
nvme_bdev = test_name
|
|
274
252
|
alceml_id = nvme.get_id()
|
|
275
253
|
alceml_name = device_controller.get_alceml_name(alceml_id)
|
|
276
|
-
logger.info(f"adding {alceml_name}")
|
|
277
|
-
pba_init_mode = 3
|
|
278
|
-
if after_restart and nvme.status != NVMeDevice.STATUS_NEW:
|
|
279
|
-
pba_init_mode = 1
|
|
280
|
-
alceml_cpu_mask = ""
|
|
281
|
-
alceml_worker_cpu_mask = ""
|
|
282
|
-
|
|
283
|
-
if snode.alceml_cpu_cores:
|
|
284
|
-
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
|
|
285
|
-
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
286
|
-
if snode.alceml_worker_cpu_cores:
|
|
287
|
-
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
288
|
-
snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
|
|
289
|
-
snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
|
|
290
254
|
|
|
291
255
|
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
256
|
+
|
|
257
|
+
ret = snode.create_alceml(
|
|
258
|
+
alceml_name, nvme_bdev, alceml_id,
|
|
259
|
+
pba_init_mode=1 if (after_restart and nvme.status != NVMeDevice.STATUS_NEW) else 3,
|
|
260
|
+
write_protection=cluster.distr_ndcs > 1,
|
|
261
|
+
pba_page_size=cluster.page_size_in_blocks,
|
|
262
|
+
)
|
|
263
|
+
|
|
299
264
|
if not ret:
|
|
300
265
|
logger.error(f"Failed to create alceml bdev: {alceml_name}")
|
|
301
266
|
return None
|
|
@@ -564,25 +529,13 @@ def _prepare_cluster_devices_on_restart(snode, clear_data=False):
|
|
|
564
529
|
logger.error(f"Failed to create passtest bdev {jm_device.testing_bdev}")
|
|
565
530
|
return False
|
|
566
531
|
nvme_bdev = jm_device.testing_bdev
|
|
567
|
-
|
|
568
|
-
alceml_worker_cpu_mask = ""
|
|
569
|
-
if snode.alceml_cpu_cores:
|
|
570
|
-
alceml_cpu_mask = utils.decimal_to_hex_power_of_2(snode.alceml_cpu_cores[snode.alceml_cpu_index])
|
|
571
|
-
snode.alceml_cpu_index = (snode.alceml_cpu_index + 1) % len(snode.alceml_cpu_cores)
|
|
572
|
-
|
|
573
|
-
if snode.alceml_worker_cpu_cores:
|
|
574
|
-
alceml_worker_cpu_mask = utils.decimal_to_hex_power_of_2(
|
|
575
|
-
snode.alceml_worker_cpu_cores[snode.alceml_worker_cpu_index])
|
|
576
|
-
snode.alceml_worker_cpu_index = (snode.alceml_worker_cpu_index + 1) % len(snode.alceml_worker_cpu_cores)
|
|
577
|
-
|
|
578
|
-
pba_init_mode = 3
|
|
579
|
-
if not clear_data:
|
|
580
|
-
pba_init_mode = 1
|
|
532
|
+
|
|
581
533
|
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
582
|
-
ret =
|
|
583
|
-
jm_device.alceml_bdev, nvme_bdev, jm_device.get_id(),
|
|
584
|
-
|
|
585
|
-
pba_page_size=cluster.page_size_in_blocks,
|
|
534
|
+
ret = snode.create_alceml(
|
|
535
|
+
jm_device.alceml_bdev, nvme_bdev, jm_device.get_id(),
|
|
536
|
+
pba_init_mode=3 if clear_data else 1,
|
|
537
|
+
pba_page_size=cluster.page_size_in_blocks,
|
|
538
|
+
)
|
|
586
539
|
|
|
587
540
|
if not ret:
|
|
588
541
|
logger.error(f"Failed to create alceml bdev: {jm_device.alceml_bdev}")
|
|
@@ -251,6 +251,7 @@ def spdk_process_is_up(query: _RPCPortQuery):
|
|
|
251
251
|
try:
|
|
252
252
|
node_docker = get_docker_client()
|
|
253
253
|
for cont in node_docker.containers.list(all=True):
|
|
254
|
+
logger.debug(f"Container: {cont.attrs['Name']} status: {cont.attrs['State']}")
|
|
254
255
|
if cont.attrs['Name'] == f"/spdk_{query.rpc_port}":
|
|
255
256
|
status = cont.attrs['State']["Status"]
|
|
256
257
|
is_running = cont.attrs['State']["Running"]
|
|
@@ -260,7 +261,7 @@ def spdk_process_is_up(query: _RPCPortQuery):
|
|
|
260
261
|
return utils.get_response(False, f"SPDK container status: {status}, is running: {is_running}")
|
|
261
262
|
except Exception as e:
|
|
262
263
|
logger.error(e)
|
|
263
|
-
return utils.get_response(
|
|
264
|
+
return utils.get_response(False, f"container not found: /spdk_{query.rpc_port}")
|
|
264
265
|
|
|
265
266
|
|
|
266
267
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/controllers/caching_node_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/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-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/dashboards/node-exporter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/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
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.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
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/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
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/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
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/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
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/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
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2
RENAMED
|
File without changes
|
{sbcli_dev-18.0.76 → sbcli_dev-18.0.78}/simplyblock_web/templates/storage_deploy_spdk.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
|