sbcli-dev 10.3.3__tar.gz → 10.3.5__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/PKG-INFO +1 -1
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/distr_controller.py +25 -8
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/env_var +1 -1
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/storage_node_monitor.py +1 -1
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_failed_migration.py +15 -1
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_migration.py +14 -9
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_new_dev_migration.py +14 -9
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/storage_node_ops.py +5 -5
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/utils.py +3 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/README.md +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/pyproject.toml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/requirements.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/setup.cfg +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/setup.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_cli/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/db_controller.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/README.md +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/app.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/requirements.txt +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_web/utils.py +0 -0
@@ -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):
|
@@ -138,7 +138,7 @@ def update_cluster_status(cluster_id):
|
|
138
138
|
break
|
139
139
|
|
140
140
|
if node.online_since:
|
141
|
-
diff = datetime.now() - datetime.fromisoformat(
|
141
|
+
diff = datetime.now() - datetime.fromisoformat(node.online_since)
|
142
142
|
if diff.total_seconds() < 60:
|
143
143
|
can_activate = False
|
144
144
|
break
|
{sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
@@ -2,7 +2,7 @@
|
|
2
2
|
import logging
|
3
3
|
import time
|
4
4
|
import sys
|
5
|
-
|
5
|
+
from datetime import datetime
|
6
6
|
|
7
7
|
from simplyblock_core import constants, db_controller, utils
|
8
8
|
from simplyblock_core.controllers import tasks_events, tasks_controller, device_controller
|
@@ -33,6 +33,20 @@ def task_runner(task):
|
|
33
33
|
return True
|
34
34
|
|
35
35
|
if task.status in [JobSchedule.STATUS_NEW ,JobSchedule.STATUS_SUSPENDED]:
|
36
|
+
if task.status == JobSchedule.STATUS_NEW:
|
37
|
+
for node in db_controller.get_storage_nodes_by_cluster_id(task.cluster_id):
|
38
|
+
if node.online_since:
|
39
|
+
try:
|
40
|
+
diff = datetime.now() - datetime.fromisoformat(node.online_since)
|
41
|
+
if diff.total_seconds() < 60:
|
42
|
+
task.function_result = "node is online < 1 min, retrying"
|
43
|
+
task.status = JobSchedule.STATUS_SUSPENDED
|
44
|
+
task.retry += 1
|
45
|
+
task.write_to_db(db_controller.kv_store)
|
46
|
+
return False
|
47
|
+
except Exception as e:
|
48
|
+
logger.error(f"Failed to get online since: {e}")
|
49
|
+
|
36
50
|
task.status = JobSchedule.STATUS_RUNNING
|
37
51
|
task.write_to_db(db_controller.kv_store)
|
38
52
|
tasks_events.task_updated(task)
|
@@ -30,6 +30,20 @@ def task_runner(task):
|
|
30
30
|
return True
|
31
31
|
|
32
32
|
if task.status in [JobSchedule.STATUS_NEW, JobSchedule.STATUS_SUSPENDED]:
|
33
|
+
if task.status == JobSchedule.STATUS_NEW:
|
34
|
+
for node in db_controller.get_storage_nodes_by_cluster_id(task.cluster_id):
|
35
|
+
if node.online_since:
|
36
|
+
try:
|
37
|
+
diff = datetime.now() - datetime.fromisoformat(node.online_since)
|
38
|
+
if diff.total_seconds() < 60:
|
39
|
+
task.function_result = "node is online < 1 min, retrying"
|
40
|
+
task.status = JobSchedule.STATUS_SUSPENDED
|
41
|
+
task.retry += 1
|
42
|
+
task.write_to_db(db_controller.kv_store)
|
43
|
+
return False
|
44
|
+
except Exception as e:
|
45
|
+
logger.error(f"Failed to get online since: {e}")
|
46
|
+
|
33
47
|
task.status = JobSchedule.STATUS_RUNNING
|
34
48
|
task.write_to_db(db_controller.kv_store)
|
35
49
|
tasks_events.task_updated(task)
|
@@ -41,15 +55,6 @@ def task_runner(task):
|
|
41
55
|
task.write_to_db(db_controller.kv_store)
|
42
56
|
return False
|
43
57
|
|
44
|
-
if snode.online_since:
|
45
|
-
diff = datetime.now() - datetime.fromisoformat(snode.online_since)
|
46
|
-
if diff.total_seconds() < 60:
|
47
|
-
task.function_result = "node is online < 1 min, retrying"
|
48
|
-
task.status = JobSchedule.STATUS_SUSPENDED
|
49
|
-
task.retry += 1
|
50
|
-
task.write_to_db(db_controller.kv_store)
|
51
|
-
return False
|
52
|
-
|
53
58
|
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password,
|
54
59
|
timeout=5, retry=2)
|
55
60
|
if "migration" not in task.function_params:
|
{sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/services/tasks_runner_new_dev_migration.py
RENAMED
@@ -33,6 +33,20 @@ def task_runner(task):
|
|
33
33
|
return True
|
34
34
|
|
35
35
|
if task.status in [JobSchedule.STATUS_NEW ,JobSchedule.STATUS_SUSPENDED]:
|
36
|
+
if task.status == JobSchedule.STATUS_NEW:
|
37
|
+
for node in db_controller.get_storage_nodes_by_cluster_id(task.cluster_id):
|
38
|
+
if node.online_since:
|
39
|
+
try:
|
40
|
+
diff = datetime.now() - datetime.fromisoformat(node.online_since)
|
41
|
+
if diff.total_seconds() < 60:
|
42
|
+
task.function_result = "node is online < 1 min, retrying"
|
43
|
+
task.status = JobSchedule.STATUS_SUSPENDED
|
44
|
+
task.retry += 1
|
45
|
+
task.write_to_db(db_controller.kv_store)
|
46
|
+
return False
|
47
|
+
except Exception as e:
|
48
|
+
logger.error(f"Failed to get online since: {e}")
|
49
|
+
|
36
50
|
task.status = JobSchedule.STATUS_RUNNING
|
37
51
|
task.write_to_db(db_controller.kv_store)
|
38
52
|
tasks_events.task_updated(task)
|
@@ -44,15 +58,6 @@ def task_runner(task):
|
|
44
58
|
task.write_to_db(db_controller.kv_store)
|
45
59
|
return False
|
46
60
|
|
47
|
-
if snode.online_since:
|
48
|
-
diff = datetime.now() - datetime.fromisoformat(snode.online_since)
|
49
|
-
if diff.total_seconds() < 60:
|
50
|
-
task.function_result = "node is online < 1 min, retrying"
|
51
|
-
task.status = JobSchedule.STATUS_SUSPENDED
|
52
|
-
task.retry += 1
|
53
|
-
task.write_to_db(db_controller.kv_store)
|
54
|
-
return False
|
55
|
-
|
56
61
|
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password, timeout=5, retry=2)
|
57
62
|
if "migration" not in task.function_params:
|
58
63
|
all_devs_online = True
|
@@ -866,7 +866,7 @@ def _connect_to_remote_jm_devs(this_node, jm_ids=[]):
|
|
866
866
|
continue
|
867
867
|
if node.jm_device and node.jm_device.status == JMDevice.STATUS_ONLINE:
|
868
868
|
remote_devices.append(node.jm_device)
|
869
|
-
if len(remote_devices) >=
|
869
|
+
if len(remote_devices) >= 3 :
|
870
870
|
break
|
871
871
|
|
872
872
|
new_devs = []
|
@@ -2793,7 +2793,7 @@ def get_next_ha_jms(current_node):
|
|
2793
2793
|
except :
|
2794
2794
|
pass
|
2795
2795
|
jm_count = dict(sorted(jm_count.items(), key=lambda x: x[1]))
|
2796
|
-
return list(jm_count.keys())[:
|
2796
|
+
return list(jm_count.keys())[:3]
|
2797
2797
|
|
2798
2798
|
|
2799
2799
|
def get_node_jm_names(current_node):
|
@@ -2805,7 +2805,7 @@ def get_node_jm_names(current_node):
|
|
2805
2805
|
jm_list.append("JM_LOCAL")
|
2806
2806
|
|
2807
2807
|
if current_node.enable_ha_jm:
|
2808
|
-
for jm_dev in current_node.remote_jm_devices[:
|
2808
|
+
for jm_dev in current_node.remote_jm_devices[:3]:
|
2809
2809
|
jm_list.append(jm_dev.remote_bdev)
|
2810
2810
|
return jm_list
|
2811
2811
|
|
@@ -2939,7 +2939,7 @@ def create_lvstore(snode, ndcs, npcs, distr_bs, distr_chunk_bs, page_size_in_blo
|
|
2939
2939
|
return True
|
2940
2940
|
|
2941
2941
|
|
2942
|
-
def _create_bdev_stack(snode, lvstore_stack=None, primary_node=
|
2942
|
+
def _create_bdev_stack(snode, lvstore_stack=None, primary_node=None):
|
2943
2943
|
rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
|
2944
2944
|
|
2945
2945
|
created_bdevs = []
|
@@ -2971,7 +2971,7 @@ def _create_bdev_stack(snode, lvstore_stack=None, primary_node=False):
|
|
2971
2971
|
jm_list.append(bdev_name)
|
2972
2972
|
else:
|
2973
2973
|
jm_list.append("JM_LOCAL")
|
2974
|
-
for jm_dev in primary_node.remote_jm_devices[:
|
2974
|
+
for jm_dev in primary_node.remote_jm_devices[:3]:
|
2975
2975
|
jm_list.append(jm_dev.remote_bdev)
|
2976
2976
|
params['jm_names'] = jm_list
|
2977
2977
|
else:
|
@@ -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)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.3 → sbcli_dev-10.3.5}/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
|
{sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
File without changes
|
File without changes
|
{sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/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.3 → sbcli_dev-10.3.5}/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.3 → sbcli_dev-10.3.5}/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.3 → sbcli_dev-10.3.5}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sbcli_dev-10.3.3 → sbcli_dev-10.3.5}/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.3 → sbcli_dev-10.3.5}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|