sbcli-dev 6.1.8__tar.gz → 6.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/PKG-INFO +1 -1
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/env_var +1 -1
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/PKG-INFO +1 -1
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_cli/cli.py +2 -2
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/cluster_ops.py +4 -4
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/constants.py +2 -1
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/device_controller.py +0 -17
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/lvol_controller.py +0 -16
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/snapshot_controller.py +0 -1
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/storage_node_ops.py +21 -36
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/README.md +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/pyproject.toml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/SOURCES.txt +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/requires.txt +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/setup.cfg +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/setup.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/kv_store.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/pool.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/snode_client.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/utils.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/app.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/snode_app.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_web/utils.py +0 -0
|
@@ -298,7 +298,7 @@ class CLIWrapper:
|
|
|
298
298
|
dest='ha_type', choices=["single", "ha"], default='single')
|
|
299
299
|
sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
|
|
300
300
|
sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count',
|
|
301
|
-
default=
|
|
301
|
+
default=0, choices=range(128))
|
|
302
302
|
sub_command.add_argument("--max-queue-size", help='The max size the queue will grow', type=int, default=128)
|
|
303
303
|
sub_command.add_argument("--inflight-io-threshold", help='The number of inflight IOs allowed before the IO queuing starts', type=int, default=4)
|
|
304
304
|
sub_command.add_argument("--enable-qos", help='Enable qos bdev for storage nodes', action='store_true', dest='enable_qos')
|
|
@@ -328,7 +328,7 @@ class CLIWrapper:
|
|
|
328
328
|
dest='ha_type', choices=["single", "ha"], default='single')
|
|
329
329
|
sub_command.add_argument("--enable-node-affinity", help='Enable node affinity for storage nodes', action='store_true')
|
|
330
330
|
sub_command.add_argument("--qpair-count", help='tcp transport qpair count', type=int, dest='qpair_count',
|
|
331
|
-
default=
|
|
331
|
+
default=0, choices=range(128))
|
|
332
332
|
sub_command.add_argument("--max-queue-size", help='The max size the queue will grow', type=int, default=128)
|
|
333
333
|
sub_command.add_argument("--inflight-io-threshold", help='The number of inflight IOs allowed before the IO queuing starts', type=int, default=4)
|
|
334
334
|
sub_command.add_argument("--enable-qos", help='Enable qos bdev for storage nodes', action='store_true', dest='enable_qos')
|
|
@@ -173,7 +173,7 @@ def create_cluster(blk_size, page_size_in_blocks, cli_pass,
|
|
|
173
173
|
else:
|
|
174
174
|
c.grafana_endpoint = f"http://{DEV_IP}/grafana"
|
|
175
175
|
c.enable_node_affinity = enable_node_affinity
|
|
176
|
-
c.qpair_count = qpair_count or
|
|
176
|
+
c.qpair_count = qpair_count or constants.QPAIR_COUNT
|
|
177
177
|
|
|
178
178
|
c.max_queue_size = max_queue_size
|
|
179
179
|
c.inflight_io_threshold = inflight_io_threshold
|
|
@@ -324,7 +324,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
|
|
|
324
324
|
_create_update_user(cluster.uuid, cluster.grafana_endpoint, cluster.grafana_secret, cluster.secret)
|
|
325
325
|
|
|
326
326
|
if distr_ndcs == 0 and distr_npcs == 0:
|
|
327
|
-
cluster.distr_ndcs =
|
|
327
|
+
cluster.distr_ndcs = 2
|
|
328
328
|
cluster.distr_npcs = 1
|
|
329
329
|
else:
|
|
330
330
|
cluster.distr_ndcs = distr_ndcs
|
|
@@ -333,7 +333,7 @@ def add_cluster(blk_size, page_size_in_blocks, cap_warn, cap_crit, prov_cap_warn
|
|
|
333
333
|
cluster.distr_chunk_bs = distr_chunk_bs
|
|
334
334
|
cluster.ha_type = ha_type
|
|
335
335
|
cluster.enable_node_affinity = enable_node_affinity
|
|
336
|
-
cluster.qpair_count = qpair_count or
|
|
336
|
+
cluster.qpair_count = qpair_count or constants.QPAIR_COUNT
|
|
337
337
|
cluster.max_queue_size = max_queue_size
|
|
338
338
|
cluster.inflight_io_threshold = inflight_io_threshold
|
|
339
339
|
cluster.enable_qos = enable_qos
|
|
@@ -710,7 +710,7 @@ def get_cluster(cl_id):
|
|
|
710
710
|
logger.error(f"Cluster not found {cl_id}")
|
|
711
711
|
return False
|
|
712
712
|
|
|
713
|
-
return json.dumps(cluster.get_clean_dict(), indent=2)
|
|
713
|
+
return json.dumps(cluster.get_clean_dict(), indent=2, sort_keys=True)
|
|
714
714
|
|
|
715
715
|
|
|
716
716
|
def update_cluster(cl_id):
|
|
@@ -66,7 +66,7 @@ GELF_PORT = 12202
|
|
|
66
66
|
|
|
67
67
|
MIN_HUGE_PAGE_MEMORY_FOR_LVOL = 209715200
|
|
68
68
|
MIN_SYS_MEMORY_FOR_LVOL = 524288000
|
|
69
|
-
EXTRA_SMALL_POOL_COUNT =
|
|
69
|
+
EXTRA_SMALL_POOL_COUNT = 4096
|
|
70
70
|
EXTRA_LARGE_POOL_COUNT = 16000
|
|
71
71
|
# EXTRA_SMALL_POOL_COUNT = 0
|
|
72
72
|
# EXTRA_LARGE_POOL_COUNT = 0
|
|
@@ -108,3 +108,4 @@ SPDK_PROXY_MULTI_THREADING_ENABLED=True
|
|
|
108
108
|
SPDK_PROXY_TIMEOUT=60*5
|
|
109
109
|
LVOL_NVME_CONNECT_RECONNECT_DELAY=3
|
|
110
110
|
LVOL_NVME_CONNECT_CTRL_LOSS_TMO=-1
|
|
111
|
+
QPAIR_COUNT=10
|
|
@@ -163,15 +163,6 @@ def _def_create_device_stack(device_obj, snode, force=False):
|
|
|
163
163
|
for iface in snode.data_nics:
|
|
164
164
|
if iface.ip4_address:
|
|
165
165
|
tr_type = iface.get_transport_type()
|
|
166
|
-
ret = rpc_client.transport_list()
|
|
167
|
-
found = False
|
|
168
|
-
if ret:
|
|
169
|
-
for ty in ret:
|
|
170
|
-
if ty['trtype'] == tr_type:
|
|
171
|
-
found = True
|
|
172
|
-
if found is False:
|
|
173
|
-
ret = rpc_client.transport_create(tr_type)
|
|
174
|
-
# logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
175
166
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
176
167
|
IP = iface.ip4_address
|
|
177
168
|
break
|
|
@@ -910,14 +901,6 @@ def restart_jm_device(device_id, force=False, format_alceml=False):
|
|
|
910
901
|
for iface in snode.data_nics:
|
|
911
902
|
if iface.ip4_address:
|
|
912
903
|
tr_type = iface.get_transport_type()
|
|
913
|
-
ret = rpc_client.transport_list()
|
|
914
|
-
found = False
|
|
915
|
-
if ret:
|
|
916
|
-
for ty in ret:
|
|
917
|
-
if ty['trtype'] == tr_type:
|
|
918
|
-
found = True
|
|
919
|
-
if found is False:
|
|
920
|
-
ret = rpc_client.transport_create(tr_type)
|
|
921
904
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
922
905
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
923
906
|
IP = iface.ip4_address
|
|
@@ -621,14 +621,6 @@ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=0):
|
|
|
621
621
|
for iface in snode.data_nics:
|
|
622
622
|
if iface.ip4_address:
|
|
623
623
|
tr_type = iface.get_transport_type()
|
|
624
|
-
ret = rpc_client.transport_list()
|
|
625
|
-
found = False
|
|
626
|
-
if ret:
|
|
627
|
-
for ty in ret:
|
|
628
|
-
if ty['trtype'] == tr_type:
|
|
629
|
-
found = True
|
|
630
|
-
if found is False:
|
|
631
|
-
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
632
624
|
logger.info("adding listener for %s on IP %s" % (lvol.nqn, iface.ip4_address))
|
|
633
625
|
ret = rpc_client.listeners_create(lvol.nqn, tr_type, iface.ip4_address, "4420")
|
|
634
626
|
is_optimized = False
|
|
@@ -707,14 +699,6 @@ def recreate_lvol_on_node(lvol, snode, ha_inode_self=0, ana_state=None):
|
|
|
707
699
|
for iface in snode.data_nics:
|
|
708
700
|
if iface.ip4_address:
|
|
709
701
|
tr_type = iface.get_transport_type()
|
|
710
|
-
ret = rpc_client.transport_list()
|
|
711
|
-
found = False
|
|
712
|
-
if ret:
|
|
713
|
-
for ty in ret:
|
|
714
|
-
if ty['trtype'] == tr_type:
|
|
715
|
-
found = True
|
|
716
|
-
if found is False:
|
|
717
|
-
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
718
702
|
if not ana_state:
|
|
719
703
|
ana_state = "non_optimized"
|
|
720
704
|
if lvol.node_id == snode.get_id():
|
|
@@ -315,7 +315,6 @@ def clone(snapshot_id, clone_name, new_size=0):
|
|
|
315
315
|
for iface in snode.data_nics:
|
|
316
316
|
if iface.ip4_address:
|
|
317
317
|
tr_type = iface.get_transport_type()
|
|
318
|
-
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
319
318
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
320
319
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
321
320
|
|
|
@@ -310,14 +310,6 @@ def _create_jm_stack_on_raid(rpc_client, jm_nvme_bdevs, snode, after_restart):
|
|
|
310
310
|
for iface in snode.data_nics:
|
|
311
311
|
if iface.ip4_address:
|
|
312
312
|
tr_type = iface.get_transport_type()
|
|
313
|
-
ret = rpc_client.transport_list()
|
|
314
|
-
found = False
|
|
315
|
-
if ret:
|
|
316
|
-
for ty in ret:
|
|
317
|
-
if ty['trtype'] == tr_type:
|
|
318
|
-
found = True
|
|
319
|
-
if found is False:
|
|
320
|
-
ret = rpc_client.transport_create(tr_type)
|
|
321
313
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
322
314
|
ana_state = "optimized"
|
|
323
315
|
if after_restart:
|
|
@@ -408,14 +400,6 @@ def _create_jm_stack_on_device(rpc_client, nvme, snode, after_restart):
|
|
|
408
400
|
for iface in snode.data_nics:
|
|
409
401
|
if iface.ip4_address:
|
|
410
402
|
tr_type = iface.get_transport_type()
|
|
411
|
-
ret = rpc_client.transport_list()
|
|
412
|
-
found = False
|
|
413
|
-
if ret:
|
|
414
|
-
for ty in ret:
|
|
415
|
-
if ty['trtype'] == tr_type:
|
|
416
|
-
found = True
|
|
417
|
-
if found is False:
|
|
418
|
-
ret = rpc_client.transport_create(tr_type)
|
|
419
403
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
420
404
|
ana_state = "optimized"
|
|
421
405
|
if after_restart:
|
|
@@ -509,14 +493,6 @@ def _create_storage_device_stack(rpc_client, nvme, snode, after_restart):
|
|
|
509
493
|
for iface in snode.data_nics:
|
|
510
494
|
if iface.ip4_address:
|
|
511
495
|
tr_type = iface.get_transport_type()
|
|
512
|
-
ret = rpc_client.transport_list()
|
|
513
|
-
found = False
|
|
514
|
-
if ret:
|
|
515
|
-
for ty in ret:
|
|
516
|
-
if ty['trtype'] == tr_type:
|
|
517
|
-
found = True
|
|
518
|
-
if found is False:
|
|
519
|
-
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
520
496
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
521
497
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420")
|
|
522
498
|
IP = iface.ip4_address
|
|
@@ -789,14 +765,6 @@ def _prepare_cluster_devices_on_restart(snode):
|
|
|
789
765
|
for iface in snode.data_nics:
|
|
790
766
|
if iface.ip4_address:
|
|
791
767
|
tr_type = iface.get_transport_type()
|
|
792
|
-
ret = rpc_client.transport_list()
|
|
793
|
-
found = False
|
|
794
|
-
if ret:
|
|
795
|
-
for ty in ret:
|
|
796
|
-
if ty['trtype'] == tr_type:
|
|
797
|
-
found = True
|
|
798
|
-
if found is False:
|
|
799
|
-
ret = rpc_client.transport_create(tr_type, cluster.qpair_count)
|
|
800
768
|
logger.info("adding listener for %s on IP %s" % (subsystem_nqn, iface.ip4_address))
|
|
801
769
|
ret = rpc_client.listeners_create(subsystem_nqn, tr_type, iface.ip4_address, "4420",
|
|
802
770
|
ana_state="inaccessible")
|
|
@@ -1076,7 +1044,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
|
1076
1044
|
# for jm
|
|
1077
1045
|
number_of_alceml_devices += 1
|
|
1078
1046
|
if is_secondary_node:
|
|
1079
|
-
number_of_distribs *=
|
|
1047
|
+
number_of_distribs *= 5
|
|
1080
1048
|
small_pool_count, large_pool_count = utils.calculate_pool_count(
|
|
1081
1049
|
number_of_alceml_devices, number_of_distribs, cpu_count, len(poller_cpu_cores) or cpu_count)
|
|
1082
1050
|
|
|
@@ -1121,9 +1089,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
|
1121
1089
|
logger.error(f"Failed to Join docker swarm: {err}")
|
|
1122
1090
|
return False
|
|
1123
1091
|
|
|
1124
|
-
|
|
1125
|
-
rpc_user = "rpc_username"
|
|
1126
|
-
rpc_pass = "rpc_password"
|
|
1092
|
+
rpc_user, rpc_pass = utils.generate_rpc_user_and_pass()
|
|
1127
1093
|
mgmt_ip = node_info['network_interface'][iface_name]['ip']
|
|
1128
1094
|
if not spdk_image:
|
|
1129
1095
|
spdk_image = constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE
|
|
@@ -1289,6 +1255,15 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
|
|
|
1289
1255
|
logger.error("Failed to set nvme options")
|
|
1290
1256
|
return False
|
|
1291
1257
|
|
|
1258
|
+
qpair = min(max(len(db_controller.get_storage_nodes_by_cluster_id(cluster_id)), 5) * snode.number_of_distribs, constants.QPAIR_COUNT)
|
|
1259
|
+
if is_secondary_node:
|
|
1260
|
+
qpair *= 2
|
|
1261
|
+
|
|
1262
|
+
ret = rpc_client.transport_create("TCP", qpair)
|
|
1263
|
+
if not ret:
|
|
1264
|
+
logger.error(f"Failed to create transport TCP with qpair: {qpair}")
|
|
1265
|
+
# return False
|
|
1266
|
+
|
|
1292
1267
|
# 7- set jc singleton mask
|
|
1293
1268
|
if snode.jc_singleton_mask:
|
|
1294
1269
|
ret = rpc_client.jc_set_hint_lcpu_mask(snode.jc_singleton_mask)
|
|
@@ -1784,6 +1759,16 @@ def restart_storage_node(
|
|
|
1784
1759
|
logger.error("Failed to set nvme options")
|
|
1785
1760
|
return False
|
|
1786
1761
|
|
|
1762
|
+
qpair = max(max(len(db_controller.get_storage_nodes_by_cluster_id(snode.cluster_id)), 5) * snode.number_of_distribs,
|
|
1763
|
+
constants.QPAIR_COUNT)
|
|
1764
|
+
if snode.is_secondary_node:
|
|
1765
|
+
qpair *= 2
|
|
1766
|
+
|
|
1767
|
+
ret = rpc_client.transport_create("TCP", qpair)
|
|
1768
|
+
if not ret:
|
|
1769
|
+
logger.error(f"Failed to create transport TCP with qpair: {qpair}")
|
|
1770
|
+
# return False
|
|
1771
|
+
|
|
1787
1772
|
# 7- set jc singleton mask
|
|
1788
1773
|
if snode.jc_singleton_mask:
|
|
1789
1774
|
ret = rpc_client.jc_set_hint_lcpu_mask(snode.jc_singleton_mask)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.1.8 → sbcli_dev-6.2.0}/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.1.8 → sbcli_dev-6.2.0}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/capacity_and_stats_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
{sbcli_dev-6.1.8 → sbcli_dev-6.2.0}/simplyblock_core/services/tasks_runner_new_dev_migration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|