sbcli-dev 4.0.63__zip → 4.0.65__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.
Potentially problematic release.
This version of sbcli-dev might be problematic. Click here for more details.
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/PKG-INFO +1 -1
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/env_var +1 -1
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_cli/cli.py +6 -3
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/cluster_ops.py +6 -3
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/lvol_controller.py +4 -2
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/snapshot_controller.py +2 -1
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/mgmt_node_ops.py +1 -1
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/cluster.py +2 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/rpc_client.py +2 -2
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/storage_node_ops.py +7 -3
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_cluster.py +2 -1
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/README.md +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/pyproject.toml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/setup.cfg +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/setup.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/constants.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/app.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/simplyblock_web/utils.py +0 -0
|
@@ -293,7 +293,7 @@ class CLIWrapper:
|
|
|
293
293
|
sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
|
|
294
294
|
dest='ha_type', choices=["single", "ha", "default"], default='single')
|
|
295
295
|
sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
|
|
296
|
-
|
|
296
|
+
sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count', default=256)
|
|
297
297
|
# add cluster
|
|
298
298
|
sub_command = self.add_sub_command(subparser, 'add', 'Add new cluster')
|
|
299
299
|
sub_command.add_argument("--blk_size", help='The block size in bytes', type=int, choices=[512, 4096], default=512)
|
|
@@ -315,6 +315,7 @@ class CLIWrapper:
|
|
|
315
315
|
sub_command.add_argument("--ha-type", help='LVol HA type (single, ha), default is cluster HA type',
|
|
316
316
|
dest='ha_type', choices=["single", "ha", "default"], default='default')
|
|
317
317
|
sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
|
|
318
|
+
sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count', default=256)
|
|
318
319
|
|
|
319
320
|
# Activate cluster
|
|
320
321
|
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')
|
|
@@ -1248,10 +1249,11 @@ class CLIWrapper:
|
|
|
1248
1249
|
distr_chunk_bs = args.distr_chunk_bs
|
|
1249
1250
|
ha_type = args.ha_type
|
|
1250
1251
|
enable_node_affinity = args.enable_node_affinity
|
|
1252
|
+
qpair_count = args.qpair_count
|
|
1251
1253
|
|
|
1252
1254
|
return cluster_ops.add_cluster(
|
|
1253
1255
|
blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
1254
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
|
|
1256
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count)
|
|
1255
1257
|
|
|
1256
1258
|
def cluster_create(self, args):
|
|
1257
1259
|
page_size_in_blocks = args.page_size
|
|
@@ -1272,12 +1274,13 @@ class CLIWrapper:
|
|
|
1272
1274
|
contact_point = args.contact_point
|
|
1273
1275
|
grafana_endpoint = args.grafana_endpoint
|
|
1274
1276
|
enable_node_affinity = args.enable_node_affinity
|
|
1277
|
+
qpair_count = args.qpair_count
|
|
1275
1278
|
|
|
1276
1279
|
return cluster_ops.create_cluster(
|
|
1277
1280
|
blk_size, page_size_in_blocks,
|
|
1278
1281
|
CLI_PASS, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
1279
1282
|
ifname, log_del_interval, metrics_retention_period, contact_point, grafana_endpoint,
|
|
1280
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
|
|
1283
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count)
|
|
1281
1284
|
|
|
1282
1285
|
def query_yes_no(self, question, default="yes"):
|
|
1283
1286
|
"""Ask a yes/no question via raw_input() and return their answer.
|
|
@@ -102,7 +102,8 @@ def _add_graylog_input(cluster_ip, password):
|
|
|
102
102
|
|
|
103
103
|
def create_cluster(blk_size, page_size_in_blocks, cli_pass,
|
|
104
104
|
cap_warn, cap_crit, prov_cap_warn, prov_cap_crit, ifname, log_del_interval, metrics_retention_period,
|
|
105
|
-
contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type,
|
|
105
|
+
contact_point, grafana_endpoint, distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type,
|
|
106
|
+
enable_node_affinity, qpair_count):
|
|
106
107
|
logger.info("Installing dependencies...")
|
|
107
108
|
ret = scripts.install_deps()
|
|
108
109
|
logger.info("Installing dependencies > Done")
|
|
@@ -169,7 +170,8 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
|
|
|
169
170
|
else:
|
|
170
171
|
c.grafana_endpoint = f"http://{DEV_IP}/grafana"
|
|
171
172
|
c.enable_node_affinity = enable_node_affinity
|
|
172
|
-
|
|
173
|
+
c.qpair_count = qpair_count or 256
|
|
174
|
+
|
|
173
175
|
alerts_template_folder = os.path.join(TOP_DIR, "simplyblock_core/scripts/alerting/")
|
|
174
176
|
alert_resources_file = "alert_resources.yaml"
|
|
175
177
|
|
|
@@ -287,7 +289,7 @@ def deploy_spdk(node_docker, spdk_cpu_mask, spdk_mem):
|
|
|
287
289
|
|
|
288
290
|
|
|
289
291
|
def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
290
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity):
|
|
292
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count):
|
|
291
293
|
db_controller = DBController()
|
|
292
294
|
clusters = db_controller.get_clusters()
|
|
293
295
|
if not clusters:
|
|
@@ -319,6 +321,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
|
|
|
319
321
|
cluster.distr_chunk_bs = distr_chunk_bs
|
|
320
322
|
cluster.ha_type = ha_type
|
|
321
323
|
cluster.enable_node_affinity = enable_node_affinity
|
|
324
|
+
cluster.qpair_count = qpair_count or 256
|
|
322
325
|
if cap_warn and cap_warn > 0:
|
|
323
326
|
cluster.cap_warn = cap_warn
|
|
324
327
|
if cap_crit and cap_crit > 0:
|
|
@@ -635,6 +635,7 @@ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
|
|
|
635
635
|
ret = rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid)
|
|
636
636
|
logger.debug(ret)
|
|
637
637
|
|
|
638
|
+
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
638
639
|
# add listeners
|
|
639
640
|
logger.info("adding listeners")
|
|
640
641
|
for iface in snode.data_nics:
|
|
@@ -647,7 +648,7 @@ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
|
|
|
647
648
|
if ty['trtype'] == tr_type:
|
|
648
649
|
found = True
|
|
649
650
|
if found is False:
|
|
650
|
-
ret = rpc_client.transport_create(tr_type)
|
|
651
|
+
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
651
652
|
logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
|
|
652
653
|
ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
|
|
653
654
|
is_optimized = False
|
|
@@ -695,6 +696,7 @@ def recreate_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
|
|
|
695
696
|
ret = rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid)
|
|
696
697
|
logger.debug(ret)
|
|
697
698
|
|
|
699
|
+
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
698
700
|
# add listeners
|
|
699
701
|
logger.info("adding listeners")
|
|
700
702
|
for iface in snode.data_nics:
|
|
@@ -707,7 +709,7 @@ def recreate_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=None):
|
|
|
707
709
|
if ty['trtype'] == tr_type:
|
|
708
710
|
found = True
|
|
709
711
|
if found is False:
|
|
710
|
-
ret = rpc_client.transport_create(tr_type)
|
|
712
|
+
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
711
713
|
logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
|
|
712
714
|
ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
|
|
713
715
|
is_optimized = False
|
|
@@ -307,12 +307,13 @@ def clone(snapshot_id, clone_name, new_size=0):
|
|
|
307
307
|
logger.info("creating subsystem %s", subsystem_nqn)
|
|
308
308
|
ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', lvol.uuid)
|
|
309
309
|
|
|
310
|
+
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
310
311
|
# add listeners
|
|
311
312
|
logger.info("adding listeners")
|
|
312
313
|
for iface in snode.data_nics:
|
|
313
314
|
if iface.ip4_address:
|
|
314
315
|
tr_type = iface.get_transport_type()
|
|
315
|
-
ret = rpc_client.transport_create(tr_type)
|
|
316
|
+
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
316
317
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
317
318
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
318
319
|
|
|
@@ -22,7 +22,7 @@ def deploy_mgmt_node(cluster_ip, cluster_id, ifname, cluster_secret):
|
|
|
22
22
|
headers = {'Authorization': f'{cluster_id} {cluster_secret}'}
|
|
23
23
|
resp = requests.get(f"http://{cluster_ip}/cluster/{cluster_id}", headers=headers)
|
|
24
24
|
resp_json = resp.json()
|
|
25
|
-
cluster_data = resp_json[0]
|
|
25
|
+
cluster_data = resp_json['results'][0]
|
|
26
26
|
logger.info(f"Cluster found, NQN:{cluster_data['nqn']}")
|
|
27
27
|
logger.debug(cluster_data)
|
|
28
28
|
except Exception as e:
|
|
@@ -50,6 +50,8 @@ class Cluster(BaseModel):
|
|
|
50
50
|
"prov_cap_warn": {"type": int, "default": 180},
|
|
51
51
|
"prov_cap_crit": {"type": int, "default": 190},
|
|
52
52
|
|
|
53
|
+
"qpair_count": {"type": int, "default": 256},
|
|
54
|
+
|
|
53
55
|
"secret": {"type": str, "default": ""},
|
|
54
56
|
"status": {"type": str, "default": ""},
|
|
55
57
|
"updated_at": {"type": str, "default": ""},
|
|
@@ -119,7 +119,7 @@ class RPCClient:
|
|
|
119
119
|
params = {"trtype": trtype}
|
|
120
120
|
return self._request("nvmf_get_transports", params)
|
|
121
121
|
|
|
122
|
-
def transport_create(self, trtype):
|
|
122
|
+
def transport_create(self, trtype, qpair_count=256):
|
|
123
123
|
"""
|
|
124
124
|
[{'trtype': 'TCP', 'max_queue_depth': 128,
|
|
125
125
|
'max_io_qpairs_per_ctrlr': 127, 'in_capsule_data_size': 4096,
|
|
@@ -134,7 +134,7 @@ class RPCClient:
|
|
|
134
134
|
"""
|
|
135
135
|
params = {
|
|
136
136
|
"trtype": trtype,
|
|
137
|
-
"max_io_qpairs_per_ctrlr":
|
|
137
|
+
"max_io_qpairs_per_ctrlr": qpair_count,
|
|
138
138
|
"max_queue_depth": 512,
|
|
139
139
|
"abort_timeout_sec": 5,
|
|
140
140
|
"ack_timeout": 512,
|
|
@@ -440,6 +440,7 @@ def _create_jm_stack_on_device(rpc_client, nvme, snode, after_restart):
|
|
|
440
440
|
|
|
441
441
|
|
|
442
442
|
def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
|
|
443
|
+
db_controller = DBController()
|
|
443
444
|
nvme_bdev = nvme.nvme_bdev
|
|
444
445
|
if snode.enable_test_device:
|
|
445
446
|
test_name = f"{nvme.nvme_bdev}_test"
|
|
@@ -478,6 +479,7 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
|
|
|
478
479
|
logger.error(f"Failed to create pt noexcl bdev: {pt_name}")
|
|
479
480
|
return False
|
|
480
481
|
|
|
482
|
+
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
481
483
|
subsystem_nqn = snode.subsystem + ":dev:" + alceml_id
|
|
482
484
|
logger.info("creating subsystem %s", subsystem_nqn)
|
|
483
485
|
ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', alceml_id)
|
|
@@ -492,7 +494,7 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
|
|
|
492
494
|
if ty['trtype'] == tr_type:
|
|
493
495
|
found = True
|
|
494
496
|
if found is False:
|
|
495
|
-
ret = rpc_client.transport_create(tr_type)
|
|
497
|
+
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
496
498
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
497
499
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
498
500
|
IP = iface.ip4_address
|
|
@@ -510,7 +512,8 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
|
|
|
510
512
|
nvme.nvmf_ip = IP
|
|
511
513
|
nvme.nvmf_port = 4420
|
|
512
514
|
nvme.io_error = False
|
|
513
|
-
nvme.status
|
|
515
|
+
if nvme.status != NVMeDevice.STATUS_NEW:
|
|
516
|
+
nvme.status = NVMeDevice.STATUS_ONLINE
|
|
514
517
|
return nvme
|
|
515
518
|
|
|
516
519
|
|
|
@@ -719,6 +722,7 @@ def _prepare_cluster_devices_on_restart(snode):
|
|
|
719
722
|
logger.error(f"Failed to create pt noexcl bdev: {pt_name}")
|
|
720
723
|
return False
|
|
721
724
|
|
|
725
|
+
cluster = db_controller.get_cluster_by_id(snode.cluster_id)
|
|
722
726
|
subsystem_nqn = snode.subsystem + ":dev:" + jm_bdev
|
|
723
727
|
logger.info("creating subsystem %s", subsystem_nqn)
|
|
724
728
|
ret = rpc_client.subsystem_create(subsystem_nqn, 'sbcli-cn', jm_bdev)
|
|
@@ -733,7 +737,7 @@ def _prepare_cluster_devices_on_restart(snode):
|
|
|
733
737
|
if ty['trtype'] == tr_type:
|
|
734
738
|
found = True
|
|
735
739
|
if found is False:
|
|
736
|
-
ret = rpc_client.transport_create(tr_type)
|
|
740
|
+
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
737
741
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
738
742
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
739
743
|
IP = iface.ip4_address
|
|
@@ -45,9 +45,10 @@ def add_cluster():
|
|
|
45
45
|
distr_chunk_bs = cl_data.get('distr_chunk_bs', 4096)
|
|
46
46
|
ha_type = cl_data.get('ha_type', 'single')
|
|
47
47
|
enable_node_affinity = cl_data.get('enable_node_affinity', False)
|
|
48
|
+
qpair_count = cl_data.get('qpair_count', 256)
|
|
48
49
|
|
|
49
50
|
ret = cluster_ops.add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn, prov_cap_crit,
|
|
50
|
-
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity)
|
|
51
|
+
distr_ndcs, distr_npcs, distr_bs, distr_chunk_bs, ha_type, enable_node_affinity, qpair_count)
|
|
51
52
|
|
|
52
53
|
return utils.get_response(ret)
|
|
53
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-4.0.63 → sbcli_dev-4.0.65}/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-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/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-4.0.63 → sbcli_dev-4.0.65}/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-4.0.63 → sbcli_dev-4.0.65}/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-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/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-4.0.63 → sbcli_dev-4.0.65}/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-4.0.63 → sbcli_dev-4.0.65}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-4.0.63 → sbcli_dev-4.0.65}/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
|