sbcli-dev 3.8.87__zip → 3.8.89__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/PKG-INFO +1 -1
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/env_var +1 -1
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_cli/cli.py +6 -2
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/cluster_ops.py +4 -2
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/distr_controller.py +5 -2
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/cluster.py +2 -1
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/cap_monitor.py +1 -1
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/storage_node_ops.py +1 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_cluster.py +3 -1
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/README.md +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/pyproject.toml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/setup.cfg +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/setup.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/distr_event_collector.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/app.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_web/utils.py +0 -0
|
@@ -285,6 +285,7 @@ class CLIWrapper:
|
|
|
285
285
|
default=4096)
|
|
286
286
|
sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
|
|
287
287
|
dest='ha_type', choices=["single", "ha", "default"], default='single')
|
|
288
|
+
sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
|
|
288
289
|
|
|
289
290
|
# add cluster
|
|
290
291
|
sub_command = self.add_sub_command(subparser, 'add', 'Add new cluster')
|
|
@@ -306,6 +307,7 @@ class CLIWrapper:
|
|
|
306
307
|
default=4096)
|
|
307
308
|
sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
|
|
308
309
|
dest='ha_type', choices=["single", "ha", "default"], default='default')
|
|
310
|
+
sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
|
|
309
311
|
|
|
310
312
|
# Activate cluster
|
|
311
313
|
sub_command = self.add_sub_command(subparser, 'activate', 'Create distribs and raid0 bdevs on all the storage node and move the cluster to active state')
|
|
@@ -1234,10 +1236,11 @@ class CLIWrapper:
|
|
|
1234
1236
|
distr_bs = args.distr_bs
|
|
1235
1237
|
distr_chunk_bs = args.distr_chunk_bs
|
|
1236
1238
|
ha_type = args.ha_type
|
|
1239
|
+
enable_node_affinity = args.enable_node_affinity
|
|
1237
1240
|
|
|
1238
1241
|
return cluster_ops.add_cluster(
|
|
1239
1242
|
blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
1240
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type)
|
|
1243
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
|
|
1241
1244
|
|
|
1242
1245
|
def cluster_create(self, args):
|
|
1243
1246
|
page_size_in_blocks = args.page_size
|
|
@@ -1257,12 +1260,13 @@ class CLIWrapper:
|
|
|
1257
1260
|
metrics_retention_period = args.metrics_retention_period
|
|
1258
1261
|
contact_point = args.contact_point
|
|
1259
1262
|
grafana_endpoint = args.grafana_endpoint
|
|
1263
|
+
enable_node_affinity = args.enable_node_affinity
|
|
1260
1264
|
|
|
1261
1265
|
return cluster_ops.create_cluster(
|
|
1262
1266
|
blk_size, page_size_in_blocks,
|
|
1263
1267
|
CLI_PASS, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
1264
1268
|
ifname, log_del_interval, metrics_retention_period, contact_point, grafana_endpoint,
|
|
1265
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type)
|
|
1269
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
|
|
1266
1270
|
|
|
1267
1271
|
def query_yes_no(self, question, default="yes"):
|
|
1268
1272
|
"""Ask a yes/no question via raw_input() and return their answer.
|
|
@@ -108,7 +108,7 @@ def _add_graylog_input(cluster_ip, password):
|
|
|
108
108
|
|
|
109
109
|
def create_cluster(blk_size, page_size_in_blocks, cli_pass,
|
|
110
110
|
cap_warn, cap_crit, prov_cap_warn, prov_cap_crit, ifname, log_del_interval, metrics_retention_period,
|
|
111
|
-
contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type):
|
|
111
|
+
contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
|
|
112
112
|
logger.info("Installing dependencies...")
|
|
113
113
|
ret = scripts.install_deps()
|
|
114
114
|
logger.info("Installing dependencies > Done")
|
|
@@ -171,6 +171,7 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
|
|
|
171
171
|
c.distr_chunk_bs = distr_chunk_bs
|
|
172
172
|
c.ha_type = ha_type
|
|
173
173
|
c.grafana_endpoint = grafana_endpoint
|
|
174
|
+
c.enable_node_affinity = enable_node_affinity
|
|
174
175
|
|
|
175
176
|
alerts_template_folder = os.path.join(TOP_DIR, "simplyblock_core/scripts/alerting/")
|
|
176
177
|
alert_resources_file = "alert_resources.yaml"
|
|
@@ -288,7 +289,7 @@ def deploy_spdk(node_docker, spdk_cpu_mask, spdk_mem):
|
|
|
288
289
|
|
|
289
290
|
|
|
290
291
|
def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
291
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type):
|
|
292
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
|
|
292
293
|
db_controller = DBController()
|
|
293
294
|
clusters = db_controller.get_clusters()
|
|
294
295
|
if not clusters:
|
|
@@ -319,6 +320,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
|
|
|
319
320
|
cluster.distr_bs = distr_bs
|
|
320
321
|
cluster.distr_chunk_bs = distr_chunk_bs
|
|
321
322
|
cluster.ha_type = ha_type
|
|
323
|
+
cluster.enable_node_affinity = enable_node_affinity
|
|
322
324
|
if cap_warn and cap_warn > 0:
|
|
323
325
|
cluster.cap_warn = cap_warn
|
|
324
326
|
if cap_crit and cap_crit > 0:
|
|
@@ -75,6 +75,8 @@ def get_distr_cluster_map(snodes, target_node):
|
|
|
75
75
|
map_cluster = {}
|
|
76
76
|
map_prob = []
|
|
77
77
|
local_node_index = 0
|
|
78
|
+
db_controller = DBController()
|
|
79
|
+
cluster = db_controller.get_cluster_by_id(target_node.cluster_id)
|
|
78
80
|
for index, snode in enumerate(snodes):
|
|
79
81
|
dev_map = {}
|
|
80
82
|
dev_w_map = []
|
|
@@ -122,9 +124,10 @@ def get_distr_cluster_map(snodes, target_node):
|
|
|
122
124
|
"UUID_node_target": "",
|
|
123
125
|
"timestamp": datetime.datetime.now().isoformat("T", "seconds")+'Z',
|
|
124
126
|
"map_cluster": map_cluster,
|
|
125
|
-
"map_prob": map_prob
|
|
126
|
-
'ppln1': local_node_index
|
|
127
|
+
"map_prob": map_prob
|
|
127
128
|
}
|
|
129
|
+
if cluster.enable_node_affinity:
|
|
130
|
+
cl_map['ppln1'] = local_node_index
|
|
128
131
|
return cl_map
|
|
129
132
|
|
|
130
133
|
|
|
@@ -53,7 +53,8 @@ class Cluster(BaseModel):
|
|
|
53
53
|
"secret": {"type": str, "default": ""},
|
|
54
54
|
"status": {"type": str, "default": ""},
|
|
55
55
|
"updated_at": {"type": str, "default": ""},
|
|
56
|
-
"grafana_endpoint": {"type": str, "default": ""}
|
|
56
|
+
"grafana_endpoint": {"type": str, "default": ""},
|
|
57
|
+
"enable_node_affinity": {"type": bool, 'default': False},
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
def __init__(self, data=None):
|
|
@@ -27,7 +27,7 @@ while True:
|
|
|
27
27
|
size_prov = records[0].size_prov_util
|
|
28
28
|
logger.debug(f"cluster abs util: {size_util}, prov util: {size_prov}")
|
|
29
29
|
if cl.cap_crit:
|
|
30
|
-
if cl.cap_crit
|
|
30
|
+
if cl.cap_crit <= size_util:
|
|
31
31
|
logger.warning(f"Cluster absolute cap critical, util: {size_util}% of cluster util: {cl.cap_crit}, "
|
|
32
32
|
f"putting the cluster in read_only mode")
|
|
33
33
|
cluster_events.cluster_cap_crit(cl, size_util)
|
|
@@ -30,6 +30,7 @@ def add_cluster():
|
|
|
30
30
|
prov_cap_warn = 0
|
|
31
31
|
prov_cap_crit = 0
|
|
32
32
|
|
|
33
|
+
|
|
33
34
|
cl_data = request.get_json()
|
|
34
35
|
if 'blk_size' in cl_data:
|
|
35
36
|
if cl_data['blk_size'] not in [512, 4096]:
|
|
@@ -44,9 +45,10 @@ def add_cluster():
|
|
|
44
45
|
distr_bs = cl_data.get('distr_bs', 4096)
|
|
45
46
|
distr_chunk_bs = cl_data.get('distr_chunk_bs', 4096)
|
|
46
47
|
ha_type = cl_data.get('ha_type', 'single')
|
|
48
|
+
enable_node_affinity = cl_data.get('enable_node_affinity', False)
|
|
47
49
|
|
|
48
50
|
ret = cluster_ops.add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
49
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type)
|
|
51
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
|
|
50
52
|
|
|
51
53
|
return utils.get_response(ret)
|
|
52
54
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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-3.8.87 → sbcli_dev-3.8.89}/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-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/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-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/dashboards/node-exporter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/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
|
{sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/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-3.8.87 → sbcli_dev-3.8.89}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-3.8.87 → sbcli_dev-3.8.89}/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
|