Skip to content

Commit fac7e27

Browse files
authored
feat: Add Storage Scale enhancements and PPNLB support across LSF and Scale solutions (#295)
Scale code changes to enable Acadia volume support.<br> Implemented PPNLB support in the Scale solution code.<br> Configured MTU settings in LSF to support PPNLB networking requirements.<br> Updated the tile to set LSF as Import-only.<br> Added support for IBM Storage Scale (GPFS) version 6.0.<br> ---------
1 parent 782fe7f commit fac7e27

File tree

99 files changed

+1949
-575
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+1949
-575
lines changed

.catalog-onboard-pipeline.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ offerings:
1313
install_type: fullstack # ensure value matches what is in ibm_catalog.json (fullstack or extension)
1414
destroy_resources_on_failure: false # defaults to false if not specified so resources can be inspected to debug failures during validation
1515
destroy_workspace_on_failure: false # defaults to false if not specified so schematics workspace can be inspected to debug failures during validation
16-
import_only: false # defaults to false - set to true if you do not want to do any validation, but be aware offering can't be publish if not validated
16+
import_only: true # defaults to false - set to true if you do not want to do any validation, but be aware offering can't be publish if not validated
1717
validation_rg: validation # the resource group in which to do validation in. Will be created if does not exist. If not specified, default value is 'validation'
1818
# scc details needed if your offering is claiming any compliance controls
1919
scc:

.secrets.baseline

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2025-10-29T15:24:27Z",
6+
"generated_at": "2025-12-12T12:02:38Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -168,15 +168,15 @@
168168
"hashed_secret": "1f5e25be9b575e9f5d39c82dfd1d9f4d73f1975c",
169169
"is_secret": true,
170170
"is_verified": false,
171-
"line_number": 56,
171+
"line_number": 58,
172172
"type": "Secret Keyword",
173173
"verified_result": null
174174
},
175175
{
176176
"hashed_secret": "b295b04949a98dc50ba65adcddd588077b93ab3c",
177177
"is_secret": true,
178178
"is_verified": false,
179-
"line_number": 65,
179+
"line_number": 67,
180180
"type": "Secret Keyword",
181181
"verified_result": null
182182
}
@@ -202,15 +202,15 @@
202202
"hashed_secret": "1f5e25be9b575e9f5d39c82dfd1d9f4d73f1975c",
203203
"is_secret": true,
204204
"is_verified": false,
205-
"line_number": 56,
205+
"line_number": 58,
206206
"type": "Secret Keyword",
207207
"verified_result": null
208208
},
209209
{
210210
"hashed_secret": "b295b04949a98dc50ba65adcddd588077b93ab3c",
211211
"is_secret": true,
212212
"is_verified": false,
213-
"line_number": 65,
213+
"line_number": 67,
214214
"type": "Secret Keyword",
215215
"verified_result": null
216216
}
@@ -236,15 +236,15 @@
236236
"hashed_secret": "1f5e25be9b575e9f5d39c82dfd1d9f4d73f1975c",
237237
"is_secret": true,
238238
"is_verified": false,
239-
"line_number": 56,
239+
"line_number": 58,
240240
"type": "Secret Keyword",
241241
"verified_result": null
242242
},
243243
{
244244
"hashed_secret": "b295b04949a98dc50ba65adcddd588077b93ab3c",
245245
"is_secret": true,
246246
"is_verified": false,
247-
"line_number": 65,
247+
"line_number": 67,
248248
"type": "Secret Keyword",
249249
"verified_result": null
250250
}

DA-Scale-PPNLB.drawio.svg

Lines changed: 4 additions & 0 deletions
Loading

ci 2

Lines changed: 0 additions & 1 deletion
This file was deleted.

datasource.tf

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ data "ibm_is_subnet" "existing_storage_subnets" {
4444
identifier = var.storage_subnet_id
4545
}
4646

47+
data "ibm_is_subnet" "existing_compute_subnets_cidr" {
48+
count = var.enable_deployer == false && var.compute_subnet_id != null ? 1 : 0
49+
identifier = var.compute_subnet_id
50+
}
51+
4752
data "ibm_is_subnet" "existing_protocol_subnets" {
4853
count = var.vpc_name != null && var.protocol_subnet_id != null ? 1 : 0
4954
identifier = var.protocol_subnet_id
@@ -78,7 +83,7 @@ data "ibm_is_instance_profile" "storage_profile" {
7883
}
7984

8085
data "ibm_is_bare_metal_server_profile" "storage_bms_profile" {
81-
count = var.scheduler == "Scale" && var.storage_type == "persistent" ? 1 : 0
86+
count = var.scheduler == "Scale" && var.storage_type == "baremetal" ? 1 : 0
8287
name = local.storage_bms_profile[0]
8388
}
8489

@@ -115,3 +120,7 @@ data "ibm_is_security_group" "login_security_group" {
115120
count = var.login_security_group_name != null ? 1 : 0
116121
name = var.login_security_group_name
117122
}
123+
124+
data "ibm_iam_account_settings" "account" {
125+
count = var.enable_private_path_nlb ? 1 : 0
126+
}

ibm_catalog.json

Lines changed: 64 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
{
4646
"label": "Cluster with LSF v10.1.0.15",
4747
"name": "Cluster-with-LSF",
48+
"short_description": "Deploy your high performance computing (HPC) cluster with IBM scheduling software for compute intensive workloads.",
4849
"install_type": "fullstack",
4950
"working_directory": "solutions/lsf",
5051
"terraform_version": "1.10.5",
@@ -422,7 +423,7 @@
422423
{
423424
"key": "bastion_instance",
424425
"type": "object",
425-
"default_value": "{\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-3\",\n \"profile\": \"cx2-4x8\"\n}",
426+
"default_value": "{\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-8\",\n \"profile\": \"cx2-4x8\"\n}",
426427
"required": false,
427428
"custom_config": {
428429
"type": "json_editor",
@@ -533,14 +534,19 @@
533534
"default_value": "[\n {\n \"mount_path\": \"/mnt/vpcstorage/tools\",\n \"size\": 100,\n \"iops\": 2000\n },\n {\n \"mount_path\": \"/mnt/vpcstorage/data\",\n \"size\": 100,\n \"iops\": 6000\n },\n {\n \"mount_path\": \"/mnt/scale/tools\",\n \"nfs_share\": \"\"\n }\n]\n",
534535
"required": false,
535536
"custom_config": {
536-
"type": "json_editor",
537+
"type": "code_editor",
537538
"grouping": "deployment",
538539
"original_grouping": "deployment",
539540
"config_constraints": {
540-
"type": "mixed"
541+
"supportedLanguages": [
542+
"hcl"
543+
]
541544
}
542545
}
543546
},
547+
{
548+
"key": "mtu_value"
549+
},
544550
{
545551
"key": "storage_security_group_id"
546552
},
@@ -598,7 +604,7 @@
598604
{
599605
"key": "ldap_instance",
600606
"type": "array",
601-
"default_value": "[\n {\n \"profile\": \"cx2-2x4\",\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-5\"\n }\n]",
607+
"default_value": "[\n {\n \"profile\": \"cx2-2x4\",\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-8\"\n }\n]",
602608
"required": false,
603609
"custom_config": {
604610
"type": "json_editor",
@@ -818,6 +824,7 @@
818824
{
819825
"label": "IBM Storage Scale",
820826
"name": "Cluster-with-Scale",
827+
"short_description": "Deploy your HPC cluster with IBM Storage Scale for high performance, highly available, clustered file system.",
821828
"install_type": "fullstack",
822829
"working_directory": "solutions/scale",
823830
"terraform_version": "1.10.5",
@@ -1078,15 +1085,15 @@
10781085
},
10791086
{
10801087
"key": "storage_type",
1081-
"default_value": "scratch",
1088+
"default_value": "vsi",
10821089
"options": [
10831090
{
1084-
"displayname": "scratch",
1085-
"value": "scratch"
1091+
"displayname": "vsi",
1092+
"value": "vsi"
10861093
},
10871094
{
1088-
"displayname": "persistent",
1089-
"value": "persistent"
1095+
"displayname": "baremetal",
1096+
"value": "baremetal"
10901097
},
10911098
{
10921099
"displayname": "evaluation",
@@ -1175,7 +1182,7 @@
11751182
{
11761183
"key": "bastion_instance",
11771184
"type": "object",
1178-
"default_value": "{\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-5\",\n \"profile\": \"cx2-4x8\"\n}",
1185+
"default_value": "{\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-8\",\n \"profile\": \"cx2-4x8\"\n}",
11791186
"required": false,
11801187
"custom_config": {
11811188
"type": "json_editor",
@@ -1189,7 +1196,7 @@
11891196
{
11901197
"key": "deployer_instance",
11911198
"type": "object",
1192-
"default_value": "{\n \"image\": \"hpcc-scale-deployer-v1\",\n \"profile\": \"bx2-8x32\"\n}",
1199+
"default_value": "{\n \"image\": \"hpcc-scale-deployer-v2\",\n \"profile\": \"bx2-8x32\"\n}",
11931200
"required": false,
11941201
"custom_config": {
11951202
"type": "json_editor",
@@ -1203,7 +1210,7 @@
12031210
{
12041211
"key": "client_instances",
12051212
"type": "object",
1206-
"default_value": "[\n {\n \"count\": 2,\n \"profile\": \"cx2-2x4\",\n \"image\": \"ibm-redhat-8-10-minimal-amd64-6\"\n }\n]",
1213+
"default_value": "[\n {\n \"count\": 2,\n \"profile\": \"cx2-2x4\",\n \"image\": \"ibm-redhat-8-10-minimal-amd64-10\"\n }\n]",
12071214
"required": false,
12081215
"custom_config": {
12091216
"type": "json_editor",
@@ -1223,7 +1230,7 @@
12231230
{
12241231
"key": "compute_instances",
12251232
"type": "object",
1226-
"default_value": "[\n {\n \"count\": 0,\n \"profile\": \"bx2-2x8\",\n \"filesystem\": \"/gpfs/fs1\",\n \"image\": \"hpcc-scale5232-rhel810-v1\"\n }\n]",
1233+
"default_value": "[\n {\n \"count\": 0,\n \"profile\": \"bx2-2x8\",\n \"filesystem\": \"/gpfs/fs1\",\n \"image\": \"hpcc-scale6000-rhel810-v1\"\n }\n]",
12271234
"required": false,
12281235
"custom_config": {
12291236
"type": "json_editor",
@@ -1237,7 +1244,21 @@
12371244
{
12381245
"key": "storage_instances",
12391246
"type": "object",
1240-
"default_value": "[\n {\n \"count\": 2,\n \"profile\": \"bx2d-32x128\",\n \"filesystem\": \"/gpfs/fs1\",\n \"image\": \"hpcc-scale5232-rhel810-v1\"\n }\n]",
1247+
"default_value": "[\n {\n \"count\": 2,\n \"profile\": \"bx2-32x128\",\n \"filesystem\": \"/gpfs/fs1\",\n \"image\": \"hpcc-scale6000-rhel810-v1\"\n }\n]",
1248+
"required": false,
1249+
"custom_config": {
1250+
"type": "json_editor",
1251+
"grouping": "deployment",
1252+
"original_grouping": "deployment",
1253+
"config_constraints": {
1254+
"type": "mixed"
1255+
}
1256+
}
1257+
},
1258+
{
1259+
"key": "volume_storages",
1260+
"type": "object",
1261+
"default_value": "[\n {\n \"boot_volume_profile\": \"sdp\",\n \"boot_volume_size\": 100,\n \"boot_volume_iops\": 3000,\n \"boot_volume_disk_grow\": false,\n \"block_volume_capacity\": 500,\n \"block_volume_iops\": 20000,\n \"block_volume_disk_grow\": false\n }\n]",
12411262
"required": false,
12421263
"custom_config": {
12431264
"type": "json_editor",
@@ -1251,7 +1272,7 @@
12511272
{
12521273
"key": "storage_baremetal_server",
12531274
"type": "object",
1254-
"default_value": "[\n {\n \"count\": 0,\n \"profile\": \"cx2d-metal-96x192\",\n \"filesystem\": \"/gpfs/fs1\",\n \"image\": \"hpcc-scale5232-rhel810-v1\"\n }\n]",
1275+
"default_value": "[\n {\n \"count\": 0,\n \"profile\": \"cx2d-metal-96x192\",\n \"filesystem\": \"/gpfs/fs1\",\n \"image\": \"hpcc-scale6000-rhel810-v1\"\n }\n]",
12551276
"required": false,
12561277
"custom_config": {
12571278
"type": "json_editor",
@@ -1288,11 +1309,13 @@
12881309
"default_value": "[\n {\n \"afm_fileset\": \"afm_fileset\",\n \"mode\": \"iw\",\n \"cos_instance\": \"\",\n \"bucket_name\": \"\",\n \"bucket_region\": \"us-south\",\n \"cos_service_cred_key\": \"\",\n \"bucket_storage_class\": \"smart\",\n \"bucket_type\": \"region_location\"\n }\n]",
12891310
"required": false,
12901311
"custom_config": {
1291-
"type": "json_editor",
1312+
"type": "code_editor",
12921313
"grouping": "deployment",
12931314
"original_grouping": "deployment",
12941315
"config_constraints": {
1295-
"type": "mixed"
1316+
"supportedLanguages": [
1317+
"hcl"
1318+
]
12961319
}
12971320
}
12981321
},
@@ -1313,6 +1336,12 @@
13131336
{
13141337
"key": "colocate_protocol_instances"
13151338
},
1339+
{
1340+
"key": "enable_private_path_nlb"
1341+
},
1342+
{
1343+
"key": "protocol_instance_eth1_mtu"
1344+
},
13161345
{
13171346
"key": "scale_encryption_enabled"
13181347
},
@@ -1360,11 +1389,13 @@
13601389
"default_value": "[\n {\n \"filesystem\": \"/gpfs/fs1\",\n \"block_size\": \"4M\",\n \"default_data_replica\": 2,\n \"default_metadata_replica\": 2,\n \"max_data_replica\": 3,\n \"max_metadata_replica\": 3 }\n]",
13611390
"required": false,
13621391
"custom_config": {
1363-
"type": "json_editor",
1392+
"type": "code_editor",
13641393
"grouping": "deployment",
13651394
"original_grouping": "deployment",
13661395
"config_constraints": {
1367-
"type": "mixed"
1396+
"supportedLanguages": [
1397+
"hcl"
1398+
]
13681399
}
13691400
}
13701401
},
@@ -1374,11 +1405,13 @@
13741405
"default_value": "[\n {\n \"client_mount_path\": \"/mnt/scale/tools\",\n \"quota\": 0\n },\n {\n \"client_mount_path\": \"/mnt/scale/data\",\n \"quota\": 0\n }\n]",
13751406
"required": false,
13761407
"custom_config": {
1377-
"type": "json_editor",
1408+
"type": "code_editor",
13781409
"grouping": "deployment",
13791410
"original_grouping": "deployment",
13801411
"config_constraints": {
1381-
"type": "mixed"
1412+
"supportedLanguages": [
1413+
"hcl"
1414+
]
13821415
}
13831416
}
13841417
},
@@ -1409,7 +1442,7 @@
14091442
{
14101443
"key": "ldap_instance",
14111444
"type": "array",
1412-
"default_value": "[\n {\n \"profile\": \"cx2-2x4\",\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-5\"\n }\n]",
1445+
"default_value": "[\n {\n \"profile\": \"cx2-2x4\",\n \"image\": \"ibm-ubuntu-22-04-5-minimal-amd64-8\"\n }\n]",
14131446
"required": false,
14141447
"custom_config": {
14151448
"type": "json_editor",
@@ -1506,7 +1539,8 @@
15061539
"iam_permissions": [
15071540
{
15081541
"role_crns": [
1509-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1542+
"crn:v1:bluemix:public:iam::::serviceRole:Writer",
1543+
"crn:v1:bluemix:public:iam::::role:ConfigReader"
15101544
],
15111545
"service_name": "cloud-object-storage"
15121546
},
@@ -1556,6 +1590,12 @@
15561590
"crn:v1:bluemix:public:iam::::role:Administrator"
15571591
]
15581592
},
1593+
{
1594+
"service_name": "All Account Management services",
1595+
"role_crns": [
1596+
"crn:v1:bluemix:public:iam::::role:Administrator"
1597+
]
1598+
},
15591599
{
15601600
"service_name": "secrets-manager",
15611601
"role_crns": [
@@ -1604,7 +1644,7 @@
16041644
{
16051645
"diagram": {
16061646
"caption": "IBM Storage Scale",
1607-
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-hpc/refs/heads/main/Scale-DA-Architecture.drawio.svg",
1647+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-hpc/refs/heads/main/DA-Scale-PPNLB.drawio.svg",
16081648
"type": "image/svg+xml"
16091649
},
16101650
"description": "This deployable architecture provisions a VPC on IBM Cloud to run a clustered file system within a single availability zone. A Bastion node is deployed in a dedicated subnet and security group to enable secure access to the storage environment. The IBM Spectrum Scale (GPFS) storage nodes and compute nodes are hosted in a separate subnet and security group\n. Each GPFS storage node operates as part of the Spectrum Scale cluster, contributing to the system’s high-performance, distributed storage by adding capacity and enabling application access through the compute nodes. The NFS server, running on a protocol node, interacts with the underlying distributed file system to serve client requests. By separating storage management from protocol services, the NFS storage node acts as an intelligent gateway, translating NFS client requests into operations on the highly scalable and resilient Spectrum Scale backend file system."

0 commit comments

Comments
 (0)