Skip to content

Commit a347437

Browse files
authored
fix: input for VPC instance images (#998)
1 parent eb2785d commit a347437

File tree

15 files changed

+109
-116
lines changed

15 files changed

+109
-116
lines changed

ibm_catalog.json

Lines changed: 46 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,11 @@
228228
"key": "enable_monitoring",
229229
"required": true
230230
},
231+
{
232+
"key": "vpc_intel_images",
233+
"required": true,
234+
"hidden": true
235+
},
231236
{
232237
"key": "powervs_custom_images",
233238
"custom_config": {
@@ -430,33 +435,23 @@
430435
],
431436
"iam_permissions": [
432437
{
433-
"role_crns": [
434-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
435-
],
438+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
436439
"service_name": "appid"
437440
},
438441
{
439-
"role_crns": [
440-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
441-
],
442+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
442443
"service_name": "cloud-object-storage"
443444
},
444445
{
445-
"role_crns": [
446-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
447-
],
446+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
448447
"service_name": "hs-crypto"
449448
},
450449
{
451-
"role_crns": [
452-
"crn:v1:bluemix:public:iam::::role:Administrator"
453-
],
450+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Administrator"],
454451
"service_name": "iam-identity"
455452
},
456453
{
457-
"role_crns": [
458-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
459-
],
454+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
460455
"service_name": "kms"
461456
},
462457
{
@@ -467,27 +462,19 @@
467462
"service_name": "is.vpc"
468463
},
469464
{
470-
"role_crns": [
471-
"crn:v1:bluemix:public:iam::::role:Editor"
472-
],
465+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
473466
"service_name": "is.vpc"
474467
},
475468
{
476-
"role_crns": [
477-
"crn:v1:bluemix:public:iam::::role:Editor"
478-
],
469+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
479470
"service_name": "transit.gateway"
480471
},
481472
{
482-
"role_crns": [
483-
"crn:v1:bluemix:public:iam::::role:Editor"
484-
],
473+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
485474
"service_name": "directlink.connect"
486475
},
487476
{
488-
"role_crns": [
489-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
490-
],
477+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
491478
"service_name": "power-iaas"
492479
}
493480
],
@@ -530,7 +517,7 @@
530517
{
531518
"diagram": {
532519
"caption": "Power Virtual Server with VPC landing zone 'Standard' variation",
533-
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.svg",
520+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.svg",
534521
"type": "image/svg+xml"
535522
},
536523
"description": "The Power Virtual Server with VPC landing zone as variation 'Create a new architecture' deploys VPC services and a Power Virtual Server workspace and interconnects them.\n \nRequired and optional management components are configured."
@@ -784,6 +771,11 @@
784771
"key": "enable_monitoring",
785772
"required": true
786773
},
774+
{
775+
"key": "vpc_intel_images",
776+
"required": true,
777+
"hidden": true
778+
},
787779
{
788780
"key": "custom_profile_instance_boot_image",
789781
"type": "string",
@@ -1058,33 +1050,23 @@
10581050
],
10591051
"iam_permissions": [
10601052
{
1061-
"role_crns": [
1062-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1063-
],
1053+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
10641054
"service_name": "appid"
10651055
},
10661056
{
1067-
"role_crns": [
1068-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1069-
],
1057+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
10701058
"service_name": "cloud-object-storage"
10711059
},
10721060
{
1073-
"role_crns": [
1074-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1075-
],
1061+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
10761062
"service_name": "hs-crypto"
10771063
},
10781064
{
1079-
"role_crns": [
1080-
"crn:v1:bluemix:public:iam::::role:Administrator"
1081-
],
1065+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Administrator"],
10821066
"service_name": "iam-identity"
10831067
},
10841068
{
1085-
"role_crns": [
1086-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1087-
],
1069+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
10881070
"service_name": "kms"
10891071
},
10901072
{
@@ -1095,27 +1077,19 @@
10951077
"service_name": "is.vpc"
10961078
},
10971079
{
1098-
"role_crns": [
1099-
"crn:v1:bluemix:public:iam::::role:Editor"
1100-
],
1080+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
11011081
"service_name": "is.vpc"
11021082
},
11031083
{
1104-
"role_crns": [
1105-
"crn:v1:bluemix:public:iam::::role:Editor"
1106-
],
1084+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
11071085
"service_name": "transit.gateway"
11081086
},
11091087
{
1110-
"role_crns": [
1111-
"crn:v1:bluemix:public:iam::::role:Editor"
1112-
],
1088+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
11131089
"service_name": "directlink.connect"
11141090
},
11151091
{
1116-
"role_crns": [
1117-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1118-
],
1092+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
11191093
"service_name": "power-iaas"
11201094
}
11211095
],
@@ -1158,7 +1132,7 @@
11581132
{
11591133
"diagram": {
11601134
"caption": "Power Virtual Server with VPC landing zone 'Quickstart' variation",
1161-
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.svg",
1135+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.svg",
11621136
"type": "image/svg+xml"
11631137
},
11641138
"description": "The Power Virtual Server with VPC landing zone as 'Quickstart' variation of 'Create a new architecture' option deploys VPC services and a Power Virtual Server workspace and interconnects them. It also creates one Power virtual server instance of chosen t-shirt size or custom configuration.\n \nRequired and optional management components are configured."
@@ -1395,33 +1369,23 @@
13951369
],
13961370
"iam_permissions": [
13971371
{
1398-
"role_crns": [
1399-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1400-
],
1372+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
14011373
"service_name": "appid"
14021374
},
14031375
{
1404-
"role_crns": [
1405-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1406-
],
1376+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
14071377
"service_name": "cloud-object-storage"
14081378
},
14091379
{
1410-
"role_crns": [
1411-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1412-
],
1380+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
14131381
"service_name": "hs-crypto"
14141382
},
14151383
{
1416-
"role_crns": [
1417-
"crn:v1:bluemix:public:iam::::role:Administrator"
1418-
],
1384+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Administrator"],
14191385
"service_name": "iam-identity"
14201386
},
14211387
{
1422-
"role_crns": [
1423-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1424-
],
1388+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
14251389
"service_name": "kms"
14261390
},
14271391
{
@@ -1432,27 +1396,19 @@
14321396
"service_name": "is.vpc"
14331397
},
14341398
{
1435-
"role_crns": [
1436-
"crn:v1:bluemix:public:iam::::role:Editor"
1437-
],
1399+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
14381400
"service_name": "is.vpc"
14391401
},
14401402
{
1441-
"role_crns": [
1442-
"crn:v1:bluemix:public:iam::::role:Editor"
1443-
],
1403+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
14441404
"service_name": "transit.gateway"
14451405
},
14461406
{
1447-
"role_crns": [
1448-
"crn:v1:bluemix:public:iam::::role:Editor"
1449-
],
1407+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
14501408
"service_name": "directlink.connect"
14511409
},
14521410
{
1453-
"role_crns": [
1454-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1455-
],
1411+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
14561412
"service_name": "power-iaas"
14571413
}
14581414
],
@@ -1483,7 +1439,7 @@
14831439
{
14841440
"diagram": {
14851441
"caption": "Power Virtual Server with VPC landing zone 'Import' variation",
1486-
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.svg",
1442+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.svg",
14871443
"type": "image/svg+xml"
14881444
},
14891445
"description": "This solution helps to install the deployable architecture 'Power Virtual Server for SAP HANA' on top of a pre-existing Power Virtual Server(PowerVS) landscape. 'Power Virtual Server for SAP HANA' automation requires a schematics workspace id for installation. The 'Import' solution creates a schematics workspace by taking pre-existing VPC and PowerVS infrastructure resource details as inputs. The ID of this schematics workspace will be the pre-requisite workspace id required by 'Power Virtual Server for SAP HANA' to create and configure the PowerVS instances for SAP on top of the existing infrastructure.\n \nRequired and optional management components are configured."
@@ -1500,10 +1456,7 @@
15001456
"compliance": {},
15011457
"dependencies": [
15021458
{
1503-
"flavors": [
1504-
"standard",
1505-
"standard-plus-vsi"
1506-
],
1459+
"flavors": ["standard", "standard-plus-vsi"],
15071460
"install_type": "fullstack",
15081461
"catalogID": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc",
15091462
"id": "2dd486c7-b317-4aaa-907b-42671485ad96-global",
@@ -1762,27 +1715,19 @@
17621715
],
17631716
"iam_permissions": [
17641717
{
1765-
"role_crns": [
1766-
"crn:v1:bluemix:public:iam::::role:Editor"
1767-
],
1718+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
17681719
"service_name": "is.vpc"
17691720
},
17701721
{
1771-
"role_crns": [
1772-
"crn:v1:bluemix:public:iam::::role:Editor"
1773-
],
1722+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
17741723
"service_name": "transit.gateway"
17751724
},
17761725
{
1777-
"role_crns": [
1778-
"crn:v1:bluemix:public:iam::::role:Editor"
1779-
],
1726+
"role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"],
17801727
"service_name": "directlink.connect"
17811728
},
17821729
{
1783-
"role_crns": [
1784-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
1785-
],
1730+
"role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"],
17861731
"service_name": "power-iaas"
17871732
}
17881733
],
@@ -1797,7 +1742,7 @@
17971742
{
17981743
"diagram": {
17991744
"caption": "Power Virtual Server with VPC landing zone 'Standard Extend' variation",
1800-
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.svg",
1745+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.svg",
18011746
"type": "image/svg+xml"
18021747
},
18031748
"description": "The Power Virtual Server with VPC landing zone as variation 'Extend Power Virtual Server with VPC landing zone' creates an additional Power Virtual Server workspace and connects it with already created Power Virtual Server with VPC landing zone. It builds on existing Power Virtual Server with VPC landing zone deployed as a variation 'Create a new architecture'."

modules/powervs-vpc-landing-zone/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ Creates VPC Landing Zone | Performs VPC VSI OS Config | Creates PowerVS Infrastr
156156
| <a name="input_ssh_public_key"></a> [ssh\_public\_key](#input\_ssh\_public\_key) | Public SSH Key for VSI creation. Must be an RSA key with a key size of either 2048 bits or 4096 bits (recommended). Must be a valid SSH key that does not already exist in the deployment region. | `string` | n/a | yes |
157157
| <a name="input_tags"></a> [tags](#input\_tags) | List of tag names for the IBM Cloud PowerVS workspace | `list(string)` | `[]` | no |
158158
| <a name="input_transit_gateway_global"></a> [transit\_gateway\_global](#input\_transit\_gateway\_global) | Connect to the networks outside the associated region. | `bool` | `false` | no |
159+
| <a name="input_vpc_intel_images"></a> [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). | <pre>object({<br/> rhel_image = string<br/> sles_image = string<br/> })</pre> | n/a | yes |
159160

160161
### Outputs
161162

modules/powervs-vpc-landing-zone/locals.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ locals {
3131
override_json_string = templatefile("${path.module}/presets/slz-preset.json.tftpl",
3232
{
3333
external_access_ip = local.external_access_ip,
34-
rhel_image = "ibm-redhat-9-4-amd64-sap-applications-3",
34+
rhel_image = var.vpc_intel_images.rhel_image,
3535
network_services_vsi_profile = var.network_services_vsi_profile,
3636
transit_gateway_global = var.transit_gateway_global,
3737
enable_monitoring = var.enable_monitoring,
38-
sles_image = "ibm-sles-15-5-amd64-sap-applications-3"
38+
sles_image = var.vpc_intel_images.sles_image
3939
}
4040
)
4141
}

modules/powervs-vpc-landing-zone/main.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ module "landing_zone" {
1111
region = lookup(local.ibm_powervs_zone_cloud_region_map, var.powervs_zone, null)
1212
prefix = var.prefix
1313
override_json_string = local.override_json_string
14-
1514
}
1615

1716
#####################################################

modules/powervs-vpc-landing-zone/variables.tf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,22 @@ variable "client_to_site_vpn" {
3333
}
3434
}
3535

36+
variable "vpc_intel_images" {
37+
description = "Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring)."
38+
type = object({
39+
rhel_image = string
40+
sles_image = string
41+
})
42+
validation {
43+
condition = var.vpc_intel_images.rhel_image != ""
44+
error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances."
45+
}
46+
validation {
47+
condition = var.enable_monitoring ? (var.vpc_intel_images.sles_image != "" ? true : false) : true
48+
error_message = "The sles_image attribute of var.vpc_intel_images cannot be empty when enable_monitoring is set to true. Please provide a valid SLES OS stock image name to create monitoring VSI."
49+
}
50+
}
51+
3652
variable "ssh_public_key" {
3753
description = "Public SSH Key for VSI creation. Must be an RSA key with a key size of either 2048 bits or 4096 bits (recommended). Must be a valid SSH key that does not already exist in the deployment region."
3854
type = string

reference-architectures/import/deploy-arch-ibm-pvs-inf-import.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
copyright:
33
years: 2024, 2025
4-
lastupdated: "2025-01-07"
4+
lastupdated: "2025-01-16"
55
keywords:
66
subcollection: deployable-reference-architectures
77
authors:
@@ -15,7 +15,7 @@ use-case: ITServiceManagement
1515
industry: Technology
1616
compliance:
1717
content-type: reference-architecture
18-
version: v8.1.1
18+
version: v8.1.2
1919

2020
---
2121

@@ -26,7 +26,7 @@ version: v8.1.1
2626
{: toc-industry="Technology"}
2727
{: toc-use-case="ITServiceManagement"}
2828
{: toc-compliance="SAPCertified"}
29-
{: toc-version="8.1.1"}
29+
{: toc-version="8.1.2"}
3030

3131
This solution helps to install the deployable architecture ['Power Virtual Server for SAP HANA'](https://cloud.ibm.com/catalog/architecture/deploy-arch-ibm-pvs-sap-9aa6135e-75d5-467e-9f4a-ac2a21c069b8-global) on top of a pre-existing Power Virtual Server(PowerVS) landscape. 'Power Virtual Server for SAP HANA' automation requires a schematics workspace id for installation. The 'Import' solution creates a schematics workspace by taking pre-existing VPC and PowerVS infrastructure resource details as inputs. The ID of this schematics workspace will be the pre-requisite workspace id required by 'Power Virtual Server for SAP HANA' to create and configure the PowerVS instances for SAP on top of the existing infrastructure.
3232

0 commit comments

Comments
 (0)