sbcli-pre 1.4.0__zip → 1.4.2__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_pre-1.4.0 → sbcli_pre-1.4.2}/PKG-INFO +1 -1
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/env_var +1 -1
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/sbcli_pre.egg-info/PKG-INFO +1 -1
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_cli/cli.py +4 -1
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/caching_node_controller.py +10 -7
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/lvol_controller.py +1 -1
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/caching_node.py +1 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_caching_node.py +5 -1
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_deployer.py +20 -6
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/README.md +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/pyproject.toml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/sbcli_pre.egg-info/SOURCES.txt +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/sbcli_pre.egg-info/dependency_links.txt +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/sbcli_pre.egg-info/entry_points.txt +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/sbcli_pre.egg-info/requires.txt +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/sbcli_pre.egg-info/top_level.txt +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/setup.cfg +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/setup.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_cli/main.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/cluster_ops.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/compute_node_ops.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/constants.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/kv_store.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/compute_node.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/events.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/global_settings.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/iface.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/pool.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/stats.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/distr_event_collector.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/snode_client.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/storage_node_ops.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/utils.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/app.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/node_utils.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/snode_app.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/delete.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/static/tst.py +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/templates/deploy_spdk.yaml.j2 +0 -0
- {sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_web/utils.py +0 -0
@@ -585,6 +585,8 @@ class CLIWrapper:
|
|
585
585
|
sub_command.add_argument("--memory", help='SPDK huge memory allocation, default is Max hugepages available', dest='spdk_mem')
|
586
586
|
sub_command.add_argument("--spdk-image", help='SPDK image uri', dest='spdk_image')
|
587
587
|
sub_command.add_argument("--namespace", help='k8s namespace to deploy on',)
|
588
|
+
sub_command.add_argument("--multipathing", help='Enable multipathing for lvol connection, default: True',
|
589
|
+
type=bool, default=True)
|
588
590
|
|
589
591
|
self.add_sub_command(subparser, 'list', 'List Caching nodes')
|
590
592
|
|
@@ -1067,6 +1069,7 @@ class CLIWrapper:
|
|
1067
1069
|
data_nics = []
|
1068
1070
|
spdk_image = args.spdk_image
|
1069
1071
|
namespace = args.namespace
|
1072
|
+
multipathing = args.multipathing
|
1070
1073
|
|
1071
1074
|
spdk_cpu_mask = None
|
1072
1075
|
if args.spdk_cpu_mask:
|
@@ -1082,7 +1085,7 @@ class CLIWrapper:
|
|
1082
1085
|
return f"SPDK memory:{args.spdk_mem} must be larger than 1G"
|
1083
1086
|
|
1084
1087
|
ret = caching_node_controller.add_node(
|
1085
|
-
cluster_id, node_ip, ifname, data_nics, spdk_cpu_mask, spdk_mem, spdk_image, namespace)
|
1088
|
+
cluster_id, node_ip, ifname, data_nics, spdk_cpu_mask, spdk_mem, spdk_image, namespace, multipathing)
|
1086
1089
|
|
1087
1090
|
if sub_command == "list":
|
1088
1091
|
#cluster_id
|
@@ -74,7 +74,7 @@ def addNvmeDevices(cluster, rpc_client, devs, snode):
|
|
74
74
|
return devices
|
75
75
|
|
76
76
|
|
77
|
-
def add_node(cluster_id, node_ip, iface_name, data_nics_list, spdk_cpu_mask, spdk_mem, spdk_image=None, namespace=None):
|
77
|
+
def add_node(cluster_id, node_ip, iface_name, data_nics_list, spdk_cpu_mask, spdk_mem, spdk_image=None, namespace=None, multipathing=True):
|
78
78
|
db_controller = DBController()
|
79
79
|
kv_store = db_controller.kv_store
|
80
80
|
|
@@ -134,7 +134,7 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list, spdk_cpu_mask, spd
|
|
134
134
|
snode.cpu = node_info['cpu_count']
|
135
135
|
snode.cpu_hz = node_info['cpu_hz']
|
136
136
|
snode.memory = node_info['memory']
|
137
|
-
|
137
|
+
snode.multipathing = multipathing
|
138
138
|
|
139
139
|
# check for memory
|
140
140
|
if "memory_details" in node_info and node_info['memory_details']:
|
@@ -185,6 +185,8 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list, spdk_cpu_mask, spd
|
|
185
185
|
mem = node_info['memory_details']['huge_free']
|
186
186
|
logger.info(f"Free Hugepages detected: {utils.humanbytes(mem)}")
|
187
187
|
|
188
|
+
time.sleep(60)
|
189
|
+
|
188
190
|
# adding devices
|
189
191
|
nvme_devs = addNvmeDevices(cluster, rpc_client, node_info['spdk_pcie_list'], snode)
|
190
192
|
if not nvme_devs:
|
@@ -416,11 +418,12 @@ def connect(caching_node_id, lvol_id):
|
|
416
418
|
logger.error("Failed to connect to local subsystem")
|
417
419
|
return False
|
418
420
|
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
421
|
+
if cnode.multipathing:
|
422
|
+
snode = db_controller.get_storage_node_by_id(lvol.node_id)
|
423
|
+
for nic in snode.data_nics:
|
424
|
+
ip = nic.ip4_address
|
425
|
+
ret, _ = cnode_client.connect_nvme(ip, "4420", subsystem_nqn)
|
426
|
+
break
|
424
427
|
|
425
428
|
time.sleep(5)
|
426
429
|
cnode_info, _ = cnode_client.info()
|
@@ -611,7 +611,7 @@ def add_lvol_ha(name, size, host_id_or_name, ha_type, pool_id_or_name, use_comp,
|
|
611
611
|
lvol.npcs = distr_npcs
|
612
612
|
lvol.distr_bs = distr_bs
|
613
613
|
lvol.distr_chunk_bs = distr_chunk_bs
|
614
|
-
lvol.distr_page_size = cl.page_size_in_blocks
|
614
|
+
lvol.distr_page_size = (distr_npcs+distr_npcs)*cl.page_size_in_blocks
|
615
615
|
|
616
616
|
lvol.base_bdev = f"distr_{lvol.vuid}_{name}"
|
617
617
|
lvol.top_bdev = lvol.base_bdev
|
@@ -36,6 +36,7 @@ def add_node_to_cluster():
|
|
36
36
|
spdk_mem = None
|
37
37
|
spdk_image = None
|
38
38
|
namespace = None
|
39
|
+
multipathing = True
|
39
40
|
|
40
41
|
if 'spdk_cpu_mask' in cl_data:
|
41
42
|
spdk_cpu_mask = cl_data['spdk_cpu_mask']
|
@@ -52,9 +53,12 @@ def add_node_to_cluster():
|
|
52
53
|
if 'namespace' in cl_data:
|
53
54
|
namespace = cl_data['namespace']
|
54
55
|
|
56
|
+
if 'multipathing' in cl_data:
|
57
|
+
multipathing = bool(cl_data['multipathing'])
|
58
|
+
|
55
59
|
t = threading.Thread(
|
56
60
|
target=caching_node_controller.add_node,
|
57
|
-
args=(cluster_id, node_ip, iface_name, data_nics_list, spdk_cpu_mask, spdk_mem, spdk_image, namespace))
|
61
|
+
args=(cluster_id, node_ip, iface_name, data_nics_list, spdk_cpu_mask, spdk_mem, spdk_image, namespace, multipathing))
|
58
62
|
t.start()
|
59
63
|
|
60
64
|
return utils.get_response(True)
|
@@ -141,6 +141,10 @@ def update_cluster(d, kv_store, storage_nodes, availability_zone):
|
|
141
141
|
ECR_IMAGE_TAG = d.ecr_image_tag
|
142
142
|
ECR_ACCOUNT_ID = d.ecr_account_id
|
143
143
|
tf_logs_bucket_name = d.tf_logs_bucket_name
|
144
|
+
sbcli_cmd = d.sbcli_cmd
|
145
|
+
mgmt_nodes_instance_type = d.mgmt_nodes_instance_type
|
146
|
+
storage_nodes_instance_type = d.storage_nodes_instance_type
|
147
|
+
volumes_per_storage_nodes = d.volumes_per_storage_nodes
|
144
148
|
|
145
149
|
d.status = "in_progress"
|
146
150
|
d.write_to_db(kv_store)
|
@@ -159,10 +163,6 @@ def update_cluster(d, kv_store, storage_nodes, availability_zone):
|
|
159
163
|
docker volume create terraform
|
160
164
|
""",
|
161
165
|
f"""
|
162
|
-
docker run --rm -v terraform:/app -e TF_LOG=DEBUG -w /app {ECR_ACCOUNT_ID}.dkr.ecr.{ECR_REGION}.amazonaws.com/{ECR_REPOSITORY_NAME}:{ECR_IMAGE_TAG} \
|
163
|
-
workspace select -or-create {TF_WORKSPACE}
|
164
|
-
""",
|
165
|
-
f"""
|
166
166
|
docker run --rm -v terraform:/app -w /app {ECR_ACCOUNT_ID}.dkr.ecr.{ECR_REGION}.amazonaws.com/{ECR_REPOSITORY_NAME}:{ECR_IMAGE_TAG} \
|
167
167
|
init -reconfigure -input=false \
|
168
168
|
-backend-config='bucket={TFSTATE_BUCKET}' \
|
@@ -170,12 +170,21 @@ def update_cluster(d, kv_store, storage_nodes, availability_zone):
|
|
170
170
|
-backend-config='region={TFSTATE_REGION}'
|
171
171
|
""",
|
172
172
|
f"""
|
173
|
+
docker run --rm -v terraform:/app -e TF_LOG=DEBUG -w /app {ECR_ACCOUNT_ID}.dkr.ecr.{ECR_REGION}.amazonaws.com/{ECR_REPOSITORY_NAME}:{ECR_IMAGE_TAG} \
|
174
|
+
workspace select -or-create {TF_WORKSPACE}
|
175
|
+
""",
|
176
|
+
f"""
|
173
177
|
docker run --rm -v terraform:/app -w /app {ECR_ACCOUNT_ID}.dkr.ecr.{ECR_REGION}.amazonaws.com/{ECR_REPOSITORY_NAME}:{ECR_IMAGE_TAG} \
|
174
|
-
|
178
|
+
plan -var mgmt_nodes={mgmt_nodes} -var storage_nodes={storage_nodes} -var az={availability_zone} -var region={aws_region} \
|
179
|
+
-var mgmt_nodes_instance_type={mgmt_nodes_instance_type} -var storage_nodes_instance_type={storage_nodes_instance_type} \
|
180
|
+
-var volumes_per_storage_nodes={volumes_per_storage_nodes} -var sbcli_cmd={sbcli_cmd}
|
175
181
|
""",
|
176
182
|
f"""
|
177
183
|
docker run --rm -v terraform:/app -w /app {ECR_ACCOUNT_ID}.dkr.ecr.{ECR_REGION}.amazonaws.com/{ECR_REPOSITORY_NAME}:{ECR_IMAGE_TAG} \
|
178
|
-
apply -var mgmt_nodes={mgmt_nodes} -var storage_nodes={storage_nodes} -var az={availability_zone} -var region={aws_region}
|
184
|
+
apply -var mgmt_nodes={mgmt_nodes} -var storage_nodes={storage_nodes} -var az={availability_zone} -var region={aws_region} \
|
185
|
+
-var mgmt_nodes_instance_type={mgmt_nodes_instance_type} -var storage_nodes_instance_type={storage_nodes_instance_type} \
|
186
|
+
-var volumes_per_storage_nodes={volumes_per_storage_nodes} -var sbcli_cmd={sbcli_cmd} \
|
187
|
+
--auto-approve
|
179
188
|
"""
|
180
189
|
]
|
181
190
|
|
@@ -299,6 +308,8 @@ def validate_tf_vars(dpl_data):
|
|
299
308
|
return "missing required param: mgmt_nodes_instance_type"
|
300
309
|
if 'storage_nodes_instance_type' not in dpl_data:
|
301
310
|
return "missing required param: storage_nodes_instance_type"
|
311
|
+
if 'volumes_per_storage_nodes' not in dpl_data:
|
312
|
+
return "missing required param: volumes_per_storage_nodes"
|
302
313
|
|
303
314
|
return ""
|
304
315
|
|
@@ -375,6 +386,9 @@ def add_deployer():
|
|
375
386
|
d.write_to_db(db_controller.kv_store)
|
376
387
|
|
377
388
|
storage_nodes = int(dpl_data['storage_nodes'])
|
389
|
+
if d.storage_nodes+storage_nodes < 0:
|
390
|
+
return utils.get_response_error("total storage_nodes cannot be less than 0", 400)
|
391
|
+
|
378
392
|
availability_zone = dpl_data['availability_zone']
|
379
393
|
d.write_to_db(db_controller.kv_store)
|
380
394
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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_pre-1.4.0 → sbcli_pre-1.4.2}/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
|
{sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_pre-1.4.0 → sbcli_pre-1.4.2}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|