sbcli-dev 6.2.3__tar.gz → 6.2.4__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-6.2.3 → sbcli_dev-6.2.4}/PKG-INFO +1 -1
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/env_var +1 -1
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/sbcli_dev.egg-info/SOURCES.txt +1 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/constants.py +1 -1
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/distr_controller.py +2 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/docker-compose-swarm.yml +14 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/storage_node_monitor.py +7 -8
- sbcli_dev-6.2.4/simplyblock_core/services/storage_node_self_lock.py +41 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/utils.py +15 -14
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/README.md +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/pyproject.toml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/setup.cfg +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/setup.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_cli/cli.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/storage_node_ops.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/app.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_web/utils.py +0 -0
|
@@ -106,6 +106,7 @@ simplyblock_core/services/remove_service.sh
|
|
|
106
106
|
simplyblock_core/services/service_template.service
|
|
107
107
|
simplyblock_core/services/spdk_http_proxy_server.py
|
|
108
108
|
simplyblock_core/services/storage_node_monitor.py
|
|
109
|
+
simplyblock_core/services/storage_node_self_lock.py
|
|
109
110
|
simplyblock_core/services/tasks_runner_failed_migration.py
|
|
110
111
|
simplyblock_core/services/tasks_runner_migration.py
|
|
111
112
|
simplyblock_core/services/tasks_runner_new_dev_migration.py
|
|
@@ -14,6 +14,8 @@ logger = logging.getLogger()
|
|
|
14
14
|
def send_node_status_event(node, node_status, target_node=None):
|
|
15
15
|
db_controller = DBController()
|
|
16
16
|
node_id = node.get_id()
|
|
17
|
+
if node_status == StorageNode.STATUS_SCHEDULABLE:
|
|
18
|
+
node_status = StorageNode.STATUS_UNREACHABLE
|
|
17
19
|
logging.info(f"Sending event updates, node: {node_id}, status: {node_status}")
|
|
18
20
|
node_status_event = {
|
|
19
21
|
"timestamp": datetime.datetime.now().isoformat("T", "seconds") + 'Z',
|
|
@@ -289,6 +289,20 @@ services:
|
|
|
289
289
|
environment:
|
|
290
290
|
SIMPLYBLOCK_LOG_LEVEL: "$LOG_LEVEL"
|
|
291
291
|
|
|
292
|
+
StorageNodeSelfLock:
|
|
293
|
+
image: $SIMPLYBLOCK_DOCKER_IMAGE
|
|
294
|
+
command: "python simplyblock_core/services/storage_node_self_lock.py"
|
|
295
|
+
deploy:
|
|
296
|
+
mode: global
|
|
297
|
+
placement:
|
|
298
|
+
constraints: [node.role == worker]
|
|
299
|
+
volumes:
|
|
300
|
+
- "/etc/foundationdb:/etc/foundationdb"
|
|
301
|
+
networks:
|
|
302
|
+
- hostnet
|
|
303
|
+
environment:
|
|
304
|
+
SIMPLYBLOCK_LOG_LEVEL: "$LOG_LEVEL"
|
|
305
|
+
|
|
292
306
|
|
|
293
307
|
volumes:
|
|
294
308
|
os_data:
|
|
@@ -165,12 +165,11 @@ def get_current_cluster_status(cluster_id):
|
|
|
165
165
|
|
|
166
166
|
def update_cluster_status(cluster_id):
|
|
167
167
|
cluster = db_controller.get_cluster_by_id(cluster_id)
|
|
168
|
-
|
|
169
|
-
if cluster.status
|
|
170
|
-
or Cluster.STATUS_IN_ACTIVATION:
|
|
168
|
+
logger.info("cluster_status: %s", cluster.status)
|
|
169
|
+
if cluster.status in [Cluster.STATUS_READONLY, Cluster.STATUS_UNREADY, Cluster.STATUS_IN_ACTIVATION]:
|
|
171
170
|
return
|
|
171
|
+
|
|
172
172
|
cluster_current_status = get_current_cluster_status(cluster_id)
|
|
173
|
-
logger.info("cluster_status: %s", cluster.status)
|
|
174
173
|
logger.info("cluster_new_status: %s", cluster_current_status)
|
|
175
174
|
if cluster.status not in [Cluster.STATUS_ACTIVE, Cluster.STATUS_UNREADY] and cluster_current_status == Cluster.STATUS_ACTIVE:
|
|
176
175
|
# cluster_ops.cluster_activate(cluster_id, True)
|
|
@@ -274,11 +273,11 @@ while True:
|
|
|
274
273
|
else:
|
|
275
274
|
set_node_offline(snode)
|
|
276
275
|
|
|
277
|
-
if not ping_check and not node_api_check and not spdk_process:
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
# if not ping_check and not node_api_check and not spdk_process:
|
|
277
|
+
# # restart on new node
|
|
278
|
+
# storage_node_ops.set_node_status(snode.get_id(), StorageNode.STATUS_SCHEDULABLE)
|
|
280
279
|
|
|
281
|
-
|
|
280
|
+
if ping_check and node_api_check and (not spdk_process or not node_rpc_check):
|
|
282
281
|
# add node to auto restart
|
|
283
282
|
if cluster.status == Cluster.STATUS_ACTIVE:
|
|
284
283
|
tasks_controller.add_node_to_auto_restart(snode)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
import time
|
|
3
|
+
|
|
4
|
+
import fdb
|
|
5
|
+
|
|
6
|
+
from simplyblock_core import constants, utils
|
|
7
|
+
from simplyblock_core.snode_client import SNodeClient
|
|
8
|
+
|
|
9
|
+
logger = utils.get_logger(__name__)
|
|
10
|
+
|
|
11
|
+
logger.info("Starting node monitor")
|
|
12
|
+
MAX_RETRY = 6
|
|
13
|
+
retry = MAX_RETRY
|
|
14
|
+
error_open = False
|
|
15
|
+
snode_api = SNodeClient("0.0.0.0:5000")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
while True:
|
|
19
|
+
|
|
20
|
+
is_up, _ = snode_api.spdk_process_is_up()
|
|
21
|
+
if is_up:
|
|
22
|
+
if error_open is True and retry <= 0:
|
|
23
|
+
snode_api.spdk_process_kill()
|
|
24
|
+
error_open = False
|
|
25
|
+
retry = MAX_RETRY
|
|
26
|
+
else:
|
|
27
|
+
try:
|
|
28
|
+
fdb.api_version(constants.KVD_DB_VERSION)
|
|
29
|
+
db = fdb.open(constants.KVD_DB_FILE_PATH)
|
|
30
|
+
db.options.set_transaction_timeout(5)
|
|
31
|
+
d = db.get_range_startswith(b"/", limit=1)
|
|
32
|
+
logger.info("Open db ok")
|
|
33
|
+
error_open = False
|
|
34
|
+
retry = MAX_RETRY
|
|
35
|
+
except Exception as e:
|
|
36
|
+
logger.error(e)
|
|
37
|
+
logger.info("Open db error")
|
|
38
|
+
error_open = True
|
|
39
|
+
retry -= 1
|
|
40
|
+
|
|
41
|
+
time.sleep(10)
|
|
@@ -17,9 +17,6 @@ from simplyblock_core import constants
|
|
|
17
17
|
from simplyblock_core import shell_utils
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
logger = logging.getLogger()
|
|
21
|
-
|
|
22
|
-
|
|
23
20
|
def get_env_var(name, default=None, is_required=False):
|
|
24
21
|
if not name:
|
|
25
22
|
logger.warning("Invalid env var name %s", name)
|
|
@@ -131,7 +128,7 @@ def get_docker_client(cluster_id=None):
|
|
|
131
128
|
nodes = db_controller.get_mgmt_nodes(cluster_id)
|
|
132
129
|
if not nodes:
|
|
133
130
|
logger.error("No mgmt nodes was found in the cluster!")
|
|
134
|
-
|
|
131
|
+
return False
|
|
135
132
|
|
|
136
133
|
docker_ips = [node.docker_ip_port for node in nodes]
|
|
137
134
|
|
|
@@ -139,9 +136,10 @@ def get_docker_client(cluster_id=None):
|
|
|
139
136
|
try:
|
|
140
137
|
c = docker.DockerClient(base_url=f"tcp://{ip}", version="auto")
|
|
141
138
|
return c
|
|
142
|
-
except
|
|
139
|
+
except Exception as e:
|
|
143
140
|
print(e)
|
|
144
|
-
|
|
141
|
+
raise e
|
|
142
|
+
return False
|
|
145
143
|
|
|
146
144
|
|
|
147
145
|
def dict_agg(data, mean=False):
|
|
@@ -580,23 +578,23 @@ def decimal_to_hex_power_of_2(decimal_number):
|
|
|
580
578
|
|
|
581
579
|
def get_logger(name):
|
|
582
580
|
# first configure a root logger
|
|
583
|
-
|
|
581
|
+
logg = logging.getLogger(name)
|
|
584
582
|
log_level = os.getenv("SIMPLYBLOCK_LOG_LEVEL")
|
|
585
583
|
log_level = log_level.upper() if log_level else constants.LOG_LEVEL
|
|
586
584
|
|
|
587
585
|
try:
|
|
588
|
-
|
|
586
|
+
logg.setLevel(log_level)
|
|
589
587
|
except ValueError as e:
|
|
590
|
-
|
|
591
|
-
|
|
588
|
+
logg.warning(f'Invalid SIMPLYBLOCK_LOG_LEVEL: {str(e)}')
|
|
589
|
+
logg.setLevel(constants.LOG_LEVEL)
|
|
592
590
|
|
|
593
591
|
logger_handler = logging.StreamHandler(stream=sys.stdout)
|
|
594
592
|
logger_handler.setFormatter(logging.Formatter('%(asctime)s: %(levelname)s: %(message)s'))
|
|
595
|
-
|
|
593
|
+
logg.addHandler(logger_handler)
|
|
596
594
|
|
|
597
595
|
gelf_handler = GELFTCPHandler('0.0.0.0', constants.GELF_PORT)
|
|
598
|
-
|
|
599
|
-
return
|
|
596
|
+
logg.addHandler(gelf_handler)
|
|
597
|
+
return logg
|
|
600
598
|
|
|
601
599
|
|
|
602
600
|
def parse_size(size_string: str):
|
|
@@ -653,4 +651,7 @@ def strfdelta(tdelta):
|
|
|
653
651
|
if values[field] > 0:
|
|
654
652
|
out += f"{values[field]}{field.lower()} "
|
|
655
653
|
|
|
656
|
-
return out.strip()
|
|
654
|
+
return out.strip()
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
logger = get_logger(__name__)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/scripts/alerting/alert_resources.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/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
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-6.2.3 → sbcli_dev-6.2.4}/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
|
|
File without changes
|
|
File without changes
|