Skip to content

Latest commit

 

History

History
103 lines (82 loc) · 12.7 KB

File metadata and controls

103 lines (82 loc) · 12.7 KB

IBM Cloud Catalog Solution for Power Virtual Server with VPC Landing Zone Standard Extend Variation

This example extends an existing PowerVS infrastructure for deployable architectures deployed as standard variation with an additional PowerVS workspace. It provisions the following infrastructure on top of the deployed Full Stack solution:

  • A Power Virtual Server workspace with the following network topology:
    • Creates two private networks: a management network and a backup network
    • Attaches the PowerVS workspace to transit gateway
    • Creates an SSH key.
    • Optionally imports list of stock catalog images.
    • Optionally imports up to three custom images from Cloud Object Storage.

Notes:

  • Make sure that you select a PowerVS zone that is different from the one used for the prerequisite infrastructure.
  • This solution requires a schematics workspace ID as input.
  • The catalog image names to be imported into the infrastructure can be found here

Before You Begin

If you do not have a PowerVS infrastructure that is the Standard variation create it first.

Variation Available on IBM Catalog Requires Schematics Workspace ID Creates VPC Landing Zone Performs VPC VSI OS Config Creates PowerVS Infrastructure Creates PowerVS Instance Performs PowerVS OS Config
Standard Extend ✔️ ✔️ N/A N/A ✔️ N/A N/A

Reference architecture

Standard Extend variation

Architecture diagram

Standard Extend

Requirements

Name Version
terraform >= 1.9
ibm 1.76.2

Modules

Name Source Version
powervs_workspace terraform-ibm-modules/powervs-workspace/ibm 2.5.0

Resources

Name Type
ibm_schematics_output.schematics_output data source
ibm_schematics_workspace.schematics_workspace data source

Inputs

Name Description Type Default Required
IC_SCHEMATICS_WORKSPACE_ID leave blank if running locally. This variable will be automatically populated if running from an IBM Cloud Schematics workspace string "" no
ibmcloud_api_key The IBM Cloud platform API key needed to deploy IAM enabled resources. string n/a yes
powervs_backup_network Name of the IBM Cloud PowerVS backup network and CIDR to create.
object({
name = string
cidr = string
})
{
"cidr": "10.62.0.0/24",
"name": "bkp_net"
}
no
powervs_custom_image_cos_configuration Cloud Object Storage bucket containing custom PowerVS images. bucket_name: string, name of the COS bucket. bucket_access: string, possible values: public, private (private requires powervs_custom_image_cos_service_credentials). bucket_region: string, COS bucket region
object({
bucket_name = string
bucket_access = string
bucket_region = string
})
{
"bucket_access": "",
"bucket_name": "",
"bucket_region": ""
}
no
powervs_custom_image_cos_service_credentials Service credentials for the Cloud Object Storage bucket containing the custom PowerVS images. The bucket must have HMAC credentials enabled. Click here for a json example of a service credential. string null no
powervs_custom_images Optionally import up to three custom images from Cloud Object Storage into PowerVS workspace. Requires 'powervs_custom_image_cos_configuration' to be set. image_name: string, must be unique. Name of image inside PowerVS workspace. file_name: string, object key of image inside COS bucket. storage_tier: string, storage tier which image will be stored in after import. Supported values: tier0, tier1, tier3, tier5k. sap_type: optional string, Supported values: null, Hana, Netweaver, use null for non-SAP image.
object({
powervs_custom_image1 = object({
image_name = string
file_name = string
storage_tier = string
sap_type = optional(string)
}),
powervs_custom_image2 = object({
image_name = string
file_name = string
storage_tier = string
sap_type = optional(string)
}),
powervs_custom_image3 = object({
image_name = string
file_name = string
storage_tier = string
sap_type = optional(string)
})
})
{
"powervs_custom_image1": {
"file_name": "",
"image_name": "",
"sap_type": null,
"storage_tier": ""
},
"powervs_custom_image2": {
"file_name": "",
"image_name": "",
"sap_type": null,
"storage_tier": ""
},
"powervs_custom_image3": {
"file_name": "",
"image_name": "",
"sap_type": null,
"storage_tier": ""
}
}
no
powervs_image_names List of Images to be imported into cloud account from catalog images. Supported values can be found here. For custom os image import configure the optional parameter 'powervs_custom_images'. list(string)
[
"IBMi-75-04-2984-1",
"IBMi-74-10-2984-1",
"7200-05-08",
"7300-02-02",
"SLES15-SP5-SAP",
"SLES15-SP5-SAP-NETWEAVER",
"RHEL9-SP4-SAP",
"RHEL9-SP4-SAP-NETWEAVER"
]
no
powervs_management_network Name of the IBM Cloud PowerVS management subnet and CIDR to create.
object({
name = string
cidr = string
})
{
"cidr": "10.61.0.0/24",
"name": "mgmt_net"
}
no
powervs_resource_group_name Existing IBM Cloud resource group name. string n/a yes
powervs_zone IBM Cloud data center location where IBM PowerVS infrastructure will be created. string n/a yes
prerequisite_workspace_id IBM Cloud Schematics workspace ID of the prerequisite infrastructure. If you do not have an existing deployment yet, create a new architecture using the same catalog tile. string n/a yes
tags List of tag names for the IBM Cloud PowerVS workspace list(string) [] no

Outputs

Name Description
access_host_or_ip Access host for created PowerVS infrastructure.
ansible_host_or_ip Central Ansible node private IP address.
dns_host_or_ip DNS forwarder host for created PowerVS infrastructure.
monitoring_instance Details of the IBM Cloud Monitoring Instance: CRN, location, guid
network_services_config Complete configuration of network management services.
nfs_host_or_ip_path NFS host for created PowerVS infrastructure.
ntp_host_or_ip NTP host for created PowerVS infrastructure.
powervs_backup_subnet Name, ID and CIDR of backup private network in created PowerVS infrastructure.
powervs_images Object containing imported PowerVS image names and image ids.
powervs_management_subnet Name, ID and CIDR of management private network in created PowerVS infrastructure.
powervs_resource_group_name IBM Cloud resource group where PowerVS infrastructure is created.
powervs_ssh_public_key SSH public key name and value in created PowerVS infrastructure.
powervs_workspace_guid PowerVS infrastructure workspace guid. The GUID of the resource instance.
powervs_workspace_id PowerVS infrastructure workspace id. The unique identifier of the new resource instance.
powervs_workspace_name PowerVS infrastructure workspace name.
powervs_zone Zone where PowerVS infrastructure is created.
prefix The prefix that is associated with all resources
proxy_host_or_ip_port Proxy host:port for created PowerVS infrastructure.
scc_wp_instance Details of the Security and Compliance Center Workload Protection Instance: guid, access key, api_endpoint, ingestion_endpoint.
schematics_workspace_id ID of the IBM Cloud Schematics workspace. Returns null if not ran in Schematics
ssh_public_key The string value of the ssh public key used when deploying VPC
transit_gateway_id The ID of transit gateway.
transit_gateway_name The name of the transit gateway.
vpc_names A list of the names of the VPC.
vsi_list A list of VSI with name, id, zone, and primary ipv4 address, VPC Name, and floating IP.
vsi_names A list of the vsis names provisioned within the VPCs.