sbcli-dev 10.3.4__tar.gz → 10.4.0__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-10.3.4 → sbcli_dev-10.4.0}/PKG-INFO +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_cli/cli.py +2 -2
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/constants.py +1 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/health_controller.py +4 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/lvol_controller.py +14 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/distr_controller.py +25 -8
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/env_var +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/storage_node_monitor.py +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/tasks_runner_failed_migration.py +6 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/storage_node_ops.py +5 -8
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/utils.py +3 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/caching_node_ops.py +2 -2
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/caching_node_ops_k8s.py +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/node_api_caching_docker.py +2 -2
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/node_api_caching_ks.py +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +1 -1
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/README.md +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/pyproject.toml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/requirements.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/setup.cfg +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/setup.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_cli/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/db_controller.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/README.md +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/app.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/requirements.txt +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_web/utils.py +0 -0
|
@@ -279,8 +279,8 @@ class CLIWrapper:
|
|
|
279
279
|
sub_command.add_argument("--prov-cap-crit", help='Capacity critical level in percent, default=190',
|
|
280
280
|
type=int, required=False, dest="prov_cap_crit")
|
|
281
281
|
sub_command.add_argument("--ifname", help='Management interface name, default: eth0')
|
|
282
|
-
sub_command.add_argument("--log-del-interval", help='graylog deletion interval, default:
|
|
283
|
-
dest='log_del_interval', default='
|
|
282
|
+
sub_command.add_argument("--log-del-interval", help='graylog deletion interval, default: 3d',
|
|
283
|
+
dest='log_del_interval', default='3d')
|
|
284
284
|
sub_command.add_argument("--metrics-retention-period", help='retention period for prometheus metrics, default: 7d',
|
|
285
285
|
dest='metrics_retention_period', default='7d')
|
|
286
286
|
sub_command.add_argument("--contact-point", help='the email or slack webhook url to be used for alerting',
|
|
@@ -73,6 +73,7 @@ SIMPLY_BLOCK_CLI_NAME = get_from_env_var_file(
|
|
|
73
73
|
"SIMPLY_BLOCK_COMMAND_NAME", "sbcli")
|
|
74
74
|
TASK_EXEC_INTERVAL_SEC = 10
|
|
75
75
|
TASK_EXEC_RETRY_COUNT = 8
|
|
76
|
+
SIMPLY_BLOCK_SPDK_CORE_IMAGE = "simplyblock/spdk-core:v24.05.x-latest"
|
|
76
77
|
|
|
77
78
|
|
|
78
79
|
SIMPLY_BLOCK_SPDK_ULTRA_IMAGE = "simplyblock/spdk:lvolstore-ha-snapshot-latest"
|
|
@@ -396,6 +396,9 @@ def check_lvol_on_node(lvol_id, node_id):
|
|
|
396
396
|
return False
|
|
397
397
|
|
|
398
398
|
snode = db_controller.get_storage_node_by_id(node_id)
|
|
399
|
+
if not snode:
|
|
400
|
+
return False
|
|
401
|
+
|
|
399
402
|
rpc_client = RPCClient(
|
|
400
403
|
snode.mgmt_ip, snode.rpc_port,
|
|
401
404
|
snode.rpc_username, snode.rpc_password, timeout=5, retry=1)
|
|
@@ -443,7 +446,7 @@ def check_lvol(lvol_id):
|
|
|
443
446
|
passed = True
|
|
444
447
|
for nodes_id in lvol.nodes:
|
|
445
448
|
node = db_controller.get_storage_node_by_id(nodes_id)
|
|
446
|
-
if node.status == StorageNode.STATUS_ONLINE:
|
|
449
|
+
if node and node.status == StorageNode.STATUS_ONLINE:
|
|
447
450
|
ret = check_lvol_on_node(lvol_id, nodes_id)
|
|
448
451
|
if not ret:
|
|
449
452
|
passed = False
|
|
@@ -175,6 +175,8 @@ def _get_next_3_nodes(cluster_id, lvol_size=0):
|
|
|
175
175
|
continue
|
|
176
176
|
|
|
177
177
|
if node.status == node.STATUS_ONLINE:
|
|
178
|
+
if node.hostname == "ip-10-245-16-169":
|
|
179
|
+
continue
|
|
178
180
|
# Validate Eligible nodes for adding lvol
|
|
179
181
|
# snode_api = SNodeClient(node.api_endpoint)
|
|
180
182
|
# result, _ = snode_api.info()
|
|
@@ -319,6 +321,18 @@ def add_lvol_ha(name, size, host_id_or_name, ha_type, pool_id_or_name, use_comp,
|
|
|
319
321
|
if cl.status not in [cl.STATUS_ACTIVE, cl.STATUS_DEGRADED]:
|
|
320
322
|
return False, f"Cluster is not active, status: {cl.status}"
|
|
321
323
|
|
|
324
|
+
if uid:
|
|
325
|
+
for lvol in db_controller.get_lvols():
|
|
326
|
+
if lvol.get_id() == uid:
|
|
327
|
+
if pvc_name:
|
|
328
|
+
lvol.pvc_name = pvc_name
|
|
329
|
+
if name:
|
|
330
|
+
lvol.lvol_name = name
|
|
331
|
+
if namespace:
|
|
332
|
+
lvol.namespace = namespace
|
|
333
|
+
lvol.write_to_db()
|
|
334
|
+
return uid, None
|
|
335
|
+
|
|
322
336
|
if ha_type == "default":
|
|
323
337
|
ha_type = cl.ha_type
|
|
324
338
|
|
|
@@ -140,6 +140,12 @@ def get_distr_cluster_map(snodes, target_node, distr_name=""):
|
|
|
140
140
|
"map_prob": [d for k, d in map_prob.items()]
|
|
141
141
|
}
|
|
142
142
|
if cluster.enable_node_affinity:
|
|
143
|
+
if target_node.is_secondary_node and distr_name:
|
|
144
|
+
for index, snode in enumerate(snodes):
|
|
145
|
+
for bdev in snode.lvstore_stack:
|
|
146
|
+
if bdev['type'] == "bdev_distr" and bdev['name'] == distr_name:
|
|
147
|
+
local_node_index = index
|
|
148
|
+
break
|
|
143
149
|
cl_map['ppln1'] = local_node_index
|
|
144
150
|
return cl_map
|
|
145
151
|
|
|
@@ -208,14 +214,25 @@ def send_cluster_map_to_node(node):
|
|
|
208
214
|
db_controller = DBController()
|
|
209
215
|
snodes = db_controller.get_storage_nodes_by_cluster_id(node.cluster_id)
|
|
210
216
|
rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password, timeout=10)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
|
|
218
|
+
if node.is_secondary_node:
|
|
219
|
+
for snode in db_controller.get_primary_storage_nodes_by_secondary_node_id(node.get_id()):
|
|
220
|
+
for bdev in snode.lvstore_stack:
|
|
221
|
+
if bdev['type'] == "bdev_distr":
|
|
222
|
+
cluster_map_data = get_distr_cluster_map(snodes, node, bdev["name"])
|
|
223
|
+
ret = rpc_client.distr_send_cluster_map(cluster_map_data)
|
|
224
|
+
if not ret:
|
|
225
|
+
logger.error("Failed to send cluster map")
|
|
226
|
+
return False
|
|
227
|
+
return True
|
|
228
|
+
else:
|
|
229
|
+
cluster_map_data = get_distr_cluster_map(snodes, node)
|
|
230
|
+
ret = rpc_client.distr_send_cluster_map(cluster_map_data)
|
|
231
|
+
if not ret:
|
|
232
|
+
logger.error("Failed to send cluster map")
|
|
233
|
+
logger.info(cluster_map_data)
|
|
234
|
+
return False
|
|
235
|
+
return True
|
|
219
236
|
|
|
220
237
|
|
|
221
238
|
def send_cluster_map_to_distr(node, distr_name):
|
|
@@ -62,7 +62,7 @@ def get_next_cluster_status(cluster_id):
|
|
|
62
62
|
else:
|
|
63
63
|
node_offline_devices += 1
|
|
64
64
|
|
|
65
|
-
if node_offline_devices > 0 or node_online_devices == 0:
|
|
65
|
+
if node_offline_devices > 0 or (node_online_devices == 0 and node.status != StorageNode.STATUS_REMOVED):
|
|
66
66
|
affected_nodes += 1
|
|
67
67
|
|
|
68
68
|
online_devices += node_online_devices
|
{sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
@@ -101,7 +101,12 @@ def task_runner(task):
|
|
|
101
101
|
|
|
102
102
|
mig_info = task.function_params["migration"]
|
|
103
103
|
res = rpc_client.distr_migration_status(**mig_info)
|
|
104
|
-
|
|
104
|
+
out = utils.handle_task_result(task, res)
|
|
105
|
+
dev_failed_task = tasks_controller.get_failed_device_mig_task(task.cluster_id, task.device_id)
|
|
106
|
+
if not dev_failed_task:
|
|
107
|
+
device_controller.device_set_failed_and_migrated(task.device_id)
|
|
108
|
+
|
|
109
|
+
return out
|
|
105
110
|
else:
|
|
106
111
|
task.retry += 1
|
|
107
112
|
task.write_to_db(db_controller.kv_store)
|
|
@@ -2845,7 +2845,6 @@ def create_lvstore(snode, ndcs, npcs, distr_bs, distr_chunk_bs, page_size_in_blo
|
|
|
2845
2845
|
distrib_vuid = utils.get_random_vuid()
|
|
2846
2846
|
|
|
2847
2847
|
distrib_name = f"distrib_{distrib_vuid}"
|
|
2848
|
-
lvs_name = f"LVS_{distrib_vuid}"
|
|
2849
2848
|
lvstore_stack.extend(
|
|
2850
2849
|
[
|
|
2851
2850
|
{
|
|
@@ -2904,18 +2903,16 @@ def create_lvstore(snode, ndcs, npcs, distr_bs, distr_chunk_bs, page_size_in_blo
|
|
|
2904
2903
|
}
|
|
2905
2904
|
)
|
|
2906
2905
|
|
|
2907
|
-
ret, err = _create_bdev_stack(snode, lvstore_stack)
|
|
2908
|
-
if err:
|
|
2909
|
-
logger.error(f"Failed to create lvstore on node {snode.get_id()}")
|
|
2910
|
-
logger.error(err)
|
|
2911
|
-
return False
|
|
2912
|
-
|
|
2913
2906
|
snode.lvstore = lvs_name
|
|
2914
2907
|
snode.lvstore_stack = lvstore_stack
|
|
2915
2908
|
snode.raid = raid_device
|
|
2916
2909
|
snode.write_to_db()
|
|
2917
2910
|
|
|
2918
|
-
|
|
2911
|
+
ret, err = _create_bdev_stack(snode, lvstore_stack)
|
|
2912
|
+
if err:
|
|
2913
|
+
logger.error(f"Failed to create lvstore on node {snode.get_id()}")
|
|
2914
|
+
logger.error(err)
|
|
2915
|
+
return False
|
|
2919
2916
|
|
|
2920
2917
|
if snode.secondary_node_id:
|
|
2921
2918
|
# creating lvstore on secondary
|
|
@@ -664,6 +664,9 @@ def strfdelta(tdelta):
|
|
|
664
664
|
|
|
665
665
|
def handle_task_result(task: JobSchedule, res: dict, allowed_error_codes = None):
|
|
666
666
|
if res:
|
|
667
|
+
if not allowed_error_codes:
|
|
668
|
+
allowed_error_codes = [0]
|
|
669
|
+
|
|
667
670
|
res_data = res[0]
|
|
668
671
|
migration_status = res_data.get("status")
|
|
669
672
|
error_code = res_data.get("error", -1)
|
|
@@ -176,7 +176,7 @@ def spdk_process_start():
|
|
|
176
176
|
node.remove(force=True)
|
|
177
177
|
time.sleep(2)
|
|
178
178
|
|
|
179
|
-
spdk_image = constants.
|
|
179
|
+
spdk_image = constants.SIMPLY_BLOCK_SPDK_CORE_IMAGE
|
|
180
180
|
|
|
181
181
|
if 'spdk_image' in data and data['spdk_image']:
|
|
182
182
|
spdk_image = data['spdk_image']
|
|
@@ -184,7 +184,7 @@ def spdk_process_start():
|
|
|
184
184
|
|
|
185
185
|
container = node_docker.containers.run(
|
|
186
186
|
spdk_image,
|
|
187
|
-
f"/root/scripts/run_spdk_tgt.sh {spdk_cpu_mask} {spdk_mem}",
|
|
187
|
+
f"/root/spdk/scripts/run_spdk_tgt.sh {spdk_cpu_mask} {spdk_mem}",
|
|
188
188
|
name="spdk",
|
|
189
189
|
detach=True,
|
|
190
190
|
privileged=True,
|
|
@@ -112,7 +112,7 @@ def spdk_process_start():
|
|
|
112
112
|
|
|
113
113
|
spdk_mem_gega = int(spdk_mem / 1024)
|
|
114
114
|
|
|
115
|
-
spdk_image = constants.
|
|
115
|
+
spdk_image = constants.SIMPLY_BLOCK_SPDK_CORE_IMAGE
|
|
116
116
|
|
|
117
117
|
if 'spdk_image' in data and data['spdk_image']:
|
|
118
118
|
spdk_image = data['spdk_image']
|
|
@@ -64,14 +64,14 @@ def spdk_process_start():
|
|
|
64
64
|
node.remove(force=True)
|
|
65
65
|
time.sleep(2)
|
|
66
66
|
|
|
67
|
-
spdk_image = constants.
|
|
67
|
+
spdk_image = constants.SIMPLY_BLOCK_SPDK_CORE_IMAGE
|
|
68
68
|
if 'spdk_image' in data and data['spdk_image']:
|
|
69
69
|
spdk_image = data['spdk_image']
|
|
70
70
|
node_docker.images.pull(spdk_image)
|
|
71
71
|
|
|
72
72
|
container = node_docker.containers.run(
|
|
73
73
|
spdk_image,
|
|
74
|
-
f"/root/scripts/run_spdk_tgt.sh {spdk_cpu_mask} {spdk_mem}",
|
|
74
|
+
f"/root/spdk/scripts/run_spdk_tgt.sh {spdk_cpu_mask} {spdk_mem}",
|
|
75
75
|
name="spdk",
|
|
76
76
|
detach=True,
|
|
77
77
|
privileged=True,
|
|
@@ -63,7 +63,7 @@ def spdk_process_start():
|
|
|
63
63
|
else:
|
|
64
64
|
spdk_mem = 64096
|
|
65
65
|
|
|
66
|
-
spdk_image = constants.
|
|
66
|
+
spdk_image = constants.SIMPLY_BLOCK_SPDK_CORE_IMAGE
|
|
67
67
|
if 'spdk_image' in data and data['spdk_image']:
|
|
68
68
|
spdk_image = data['spdk_image']
|
|
69
69
|
# node_docker.images.pull(spdk_image)
|
|
@@ -55,7 +55,7 @@ spec:
|
|
|
55
55
|
- name: spdk-container
|
|
56
56
|
image: {{ SPDK_IMAGE }}
|
|
57
57
|
imagePullPolicy: "Always"
|
|
58
|
-
command: ["/root/scripts/run_spdk_tgt.sh", "{{ SPDK_CPU_MASK }}", "{{ SPDK_MEM }}"]
|
|
58
|
+
command: ["/root/spdk/scripts/run_spdk_tgt.sh", "{{ SPDK_CPU_MASK }}", "{{ SPDK_MEM }}"]
|
|
59
59
|
lifecycle:
|
|
60
60
|
postStart:
|
|
61
61
|
exec:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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-10.3.4 → sbcli_dev-10.4.0}/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
|
{sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/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-10.3.4 → sbcli_dev-10.4.0}/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-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-10.3.4 → sbcli_dev-10.4.0}/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-10.3.4 → sbcli_dev-10.4.0}/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-10.3.4 → sbcli_dev-10.4.0}/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
|