Skip to content

Commit ca6e2cc

Browse files
nupurg-ibmNupur GoyalSagar BK
authored
feat: Support for the Web Service feature on the LSF Cluster and IBM Storage Scale in the DA module (#283)
- Support for the Web Service feature on the LSF Cluster - IBM Storage Scale on the DA module - Bug fix on the ibmcloudgen2 Resource connector - Support of all the GUI nodes on the management 2 node - Code enhancements to support the LSF node unreachable --------- Co-authored-by: Nupur Goyal <[email protected]> Co-authored-by: Sagar BK <[email protected]>
1 parent 81ad261 commit ca6e2cc

File tree

8 files changed

+72
-116
lines changed

8 files changed

+72
-116
lines changed

modules/resource_provisioner/locals.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ locals {
55
remote_terraform_path = format("%s/terraform-ibm-hpc", local.deployer_path)
66
# da_hpc_repo_url = "github.ibm.com/workload-eng-services/HPCaaS.git"
77
da_hpc_repo_url = "github.com/terraform-ibm-modules/terraform-ibm-hpc.git"
8-
da_hpc_repo_tag = "29-sept" ###### change it to main in future
8+
da_hpc_repo_tag = "main" ###### change it to main in future
99
remote_ansible_path = format("%s/ibm-spectrumscale-cloud-deploy", local.deployer_path)
1010
scale_cloud_infra_repo_url = "https://github.com/jayeshh123/ibm-spectrum-scale-install-infra"
1111
scale_cloud_infra_repo_name = "ibm-spectrum-scale-install-infra"

tools/access-management/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ For example, for the App configuration service, the user requires Administrator
88

99
### Benefits of the scripts:
1010

11-
#### Interactive input collection - The script prompts for the IBMid (admin email), Resource Group ID, Account ID, and target (User or Access Group).
11+
#### Interactive input collection - The script prompts for the IBMid (admin email), Account ID, and target (User or Access Group).
1212

1313
#### Permission check - The script verifies that the admin has account-level Administrator rights which is required to assign policies.
1414

@@ -34,7 +34,7 @@ chmod +x permissions.sh
3434

3535
3. Enter the admin email or IBMid.
3636

37-
4. Enter the Resource group and Account ID.
37+
4. Enter the Account ID.
3838

3939
For the Account ID, login to the IBM Cloud account by using your unique credentials. Go to Manage > Account > Account settings. You will find the Account ID.
4040

@@ -50,10 +50,9 @@ Select the required option.
5050

5151
7. User policy is successfully created.
5252

53-
If the user skips to enter the RESOURCE_GROUP_ID or the ACCOUNT_ID, then script displays the error message:
53+
If the user skips to enter the ACCOUNT_ID, then script displays the error message:
5454

5555
```
56-
:x: RESOURCE_GROUP_ID is required.
5756
:x: ACCOUNT_ID is required.
5857
```
5958

tools/access-management/permissions.sh

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@ if [ -z "$ADMIN_EMAIL" ]; then
1212
exit 1
1313
fi
1414

15-
read -rp "Enter Resource Group ID: " RESOURCE_GROUP_ID
16-
if [ -z "$RESOURCE_GROUP_ID" ]; then
17-
echo "❌ RESOURCE_GROUP_ID is required."
18-
exit 1
19-
fi
20-
2115
read -rp "Enter Account ID: " ACCOUNT_ID
2216
if [ -z "$ACCOUNT_ID" ]; then
2317
echo "❌ ACCOUNT_ID is required."
@@ -71,20 +65,36 @@ check_policies() {
7165
select(any(.resources[].attributes[]?; .name == "serviceType" and .value == "platform_service"))
7266
' >/dev/null 2>&1 && echo "true" || echo "false")
7367

68+
# Check role for IAM Identity service (Administrator)
69+
local has_identity_role
70+
has_identity_role=$(echo "$policies" | jq -e '
71+
.[] |
72+
select(.roles? != null) |
73+
select(any(.roles[]?.display_name; . == "Administrator")) |
74+
select(any(.resources[].attributes[]?; .name == "accountId")) |
75+
select(any(.resources[].attributes[]?; .name == "serviceName" and .value == "iam-identity"))
76+
' >/dev/null 2>&1 && echo "true" || echo "false")
77+
7478
# Debug printing
7579
if [ "$has_admin" = "true" ]; then
7680
echo "✅ At $scope policy level: Has Administrator for All Identity and Access enabled service"
7781
else
7882
echo "❌ At $scope policy level: Missing Administrator for All Identity and Access enabled service"
7983
fi
8084

85+
if [ "$has_identity_role" = "true" ]; then
86+
echo "✅ At $scope policy level: Has Administrator for IAM Identity services"
87+
else
88+
echo "❌ At $scope policy level: Missing Administrator for IAM Identity service"
89+
fi
90+
8191
if [ "$has_platform_role" = "true" ]; then
8292
echo "✅ At $scope policy level: Has Viewer/Editor/Administrator for All Account Management services"
8393
else
8494
echo "❌ At $scope policy level: Missing Viewer/Editor/Administrator for All Account Management services"
8595
fi
8696

87-
[[ "$has_admin" == "true" && "$has_platform_role" == "true" ]]
97+
[[ "$has_admin" == "true" && "$has_platform_role" == "true" && "$has_identity_role" == "true" ]]
8898
}
8999

90100
USER_POLICIES=$(ibmcloud iam user-policies "$ADMIN_EMAIL" --output json 2>/dev/null || echo "[]")
@@ -125,7 +135,11 @@ sysdig-monitor|Administrator|Manager
125135
kms|Service Configuration Reader|Manager
126136
secrets-manager|Administrator|Manager
127137
sysdig-secure|Administrator|
128-
is|Editor|"
138+
is|Editor|
139+
iam-identity|Administrator|
140+
atracker|Administrator|
141+
logs-router|Administrator|
142+
metrics-router|Administrator|"
129143

130144
FRIENDLY_NAMES="apprapp|App Configuration
131145
cloud-object-storage|Cloud Object Storage
@@ -134,7 +148,11 @@ sysdig-monitor|Cloud Monitoring
134148
kms|Key Protect
135149
secrets-manager|Secrets Manager
136150
sysdig-secure|Security and Compliance Center Workload Protection
137-
is|VPC Infrastructure Services"
151+
is|VPC Infrastructure Services
152+
iam-identity|IAM Identity
153+
atracker|Activity tracker event routing
154+
logs-router|Cloud logs routing
155+
metrics-router|Metrics routing"
138156

139157
get_friendly_name() {
140158
local service="$1"
@@ -166,11 +184,8 @@ if [ -n "$ACCESS_GROUP" ] && [ -z "$USER_EMAIL" ]; then
166184
existing_policies=$(ibmcloud iam access-group-policies "$ACCESS_GROUP" --output json 2>/dev/null || echo "[]")
167185

168186
POLICY_ID=$(echo "$existing_policies" | jq -r \
169-
--arg service "$SERVICE_NAME" \
170-
--arg rg_id "$RESOURCE_GROUP_ID" '
187+
--arg service "$SERVICE_NAME" '
171188
.[] | select(any(.resources[].attributes[]?;
172-
.name == "resourceGroupId" and .value == $rg_id)) |
173-
select(any(.resources[].attributes[]?;
174189
.name == "serviceName" and .value == $service)) |
175190
.id' | head -n1)
176191

@@ -194,24 +209,20 @@ if [ -n "$ACCESS_GROUP" ] && [ -z "$USER_EMAIL" ]; then
194209

195210
ibmcloud iam access-group-policy-update "$ACCESS_GROUP" "$POLICY_ID" \
196211
--roles "$MERGED_SORTED" \
197-
--resource-group-id "$RESOURCE_GROUP_ID" \
198212
--service-name "$SERVICE_NAME" || echo "⚠️ Failed to update roles for $DISPLAY_NAME"
199213
fi
200214
else
201215
echo "➕ Creating new policy for $DISPLAY_NAME"
202216
ibmcloud iam access-group-policy-create "$ACCESS_GROUP" \
203217
--roles "$ROLES" \
204-
--service-name "$SERVICE_NAME" \
205-
--resource-group-id "$RESOURCE_GROUP_ID" || echo "⚠️ Failed to assign $ROLES for $DISPLAY_NAME"
218+
--service-name "$SERVICE_NAME" || echo "⚠️ Failed to assign $ROLES for $DISPLAY_NAME"
206219
fi
207220
done
208221

209222
echo "🔍 Checking global Administrator/Manager policy for access group: $ACCESS_GROUP"
210223
existing_policies=$(ibmcloud iam access-group-policies "$ACCESS_GROUP" --output json 2>/dev/null || echo "[]")
211-
POLICY_ID=$(echo "$existing_policies" | jq -r --arg rg_id "$RESOURCE_GROUP_ID" '
224+
POLICY_ID=$(echo "$existing_policies" | jq -r '
212225
.[] |
213-
select(any(.resources[].attributes[]?;
214-
.name == "resourceGroupId" and .value == $rg_id)) |
215226
select(all(.resources[].attributes[]?.name; . != "serviceName")) |
216227
.id' | head -n1)
217228

@@ -234,14 +245,12 @@ if [ -n "$ACCESS_GROUP" ] && [ -z "$USER_EMAIL" ]; then
234245
echo " • Adding roles : $NEW_ROLES"
235246

236247
ibmcloud iam access-group-policy-update "$ACCESS_GROUP" "$POLICY_ID" \
237-
--roles "$MERGED_SORTED" \
238-
--resource-group-id "$RESOURCE_GROUP_ID" || echo "⚠️ Failed to update Administrator,Manager roles for All Identity and Access enabled services to access group: $ACCESS_GROUP"
248+
--roles "$MERGED_SORTED" || echo "⚠️ Failed to update Administrator,Manager roles for All Identity and Access enabled services to access group: $ACCESS_GROUP"
239249
fi
240250
else
241251
echo "➕ Creating new global Administrator/Manager policy for access group: $ACCESS_GROUP"
242252
ibmcloud iam access-group-policy-create "$ACCESS_GROUP" \
243-
--roles "Administrator,Manager" \
244-
--resource-group-id "$RESOURCE_GROUP_ID" || echo "⚠️ Failed to assign Administrator,Manager roles for All Identity and Access enabled services to access group: $ACCESS_GROUP"
253+
--roles "Administrator,Manager" || echo "⚠️ Failed to assign Administrator,Manager roles for All Identity and Access enabled services to access group: $ACCESS_GROUP"
245254
fi
246255

247256
elif [ -z "$ACCESS_GROUP" ] && [ -n "$USER_EMAIL" ]; then
@@ -254,13 +263,11 @@ elif [ -z "$ACCESS_GROUP" ] && [ -n "$USER_EMAIL" ]; then
254263
existing_policies=$(ibmcloud iam user-policies "$USER_EMAIL" --output json 2>/dev/null || echo "[]")
255264

256265
POLICY_ID=$(echo "$existing_policies" | jq -r \
257-
--arg service "$SERVICE_NAME" \
258-
--arg rg_id "$RESOURCE_GROUP_ID" '
259-
.[] | select(any(.resources[].attributes[]?;
260-
.name == "resourceGroupId" and .value == $rg_id)) |
261-
select(any(.resources[].attributes[]?;
262-
.name == "serviceName" and .value == $service)) |
263-
.id' | head -n1)
266+
--arg service "$SERVICE_NAME" '
267+
.[]
268+
| select(any(.resources[].attributes[]?;
269+
.name == "serviceName" and .value == $service))
270+
| .id' | head -n1)
264271

265272
if [ -n "$POLICY_ID" ] && [ "$POLICY_ID" != "null" ]; then
266273
EXISTING_ROLES=$(echo "$existing_policies" | jq -r --arg id "$POLICY_ID" '
@@ -282,24 +289,20 @@ elif [ -z "$ACCESS_GROUP" ] && [ -n "$USER_EMAIL" ]; then
282289

283290
ibmcloud iam user-policy-update "$USER_EMAIL" "$POLICY_ID" \
284291
--roles "$MERGED_SORTED" \
285-
--resource-group-id "$RESOURCE_GROUP_ID" \
286292
--service-name "$SERVICE_NAME" || echo "⚠️ Failed to update roles for $DISPLAY_NAME"
287293
fi
288294
else
289295
echo "➕ Creating new policy for $DISPLAY_NAME"
290296
ibmcloud iam user-policy-create "$USER_EMAIL" \
291297
--roles "$ROLES" \
292-
--service-name "$SERVICE_NAME" \
293-
--resource-group-id "$RESOURCE_GROUP_ID" || echo "⚠️ Failed to assign $ROLES for $DISPLAY_NAME"
298+
--service-name "$SERVICE_NAME" || echo "⚠️ Failed to assign $ROLES for $DISPLAY_NAME"
294299
fi
295300
done
296301

297302
echo "🔍 Checking global Administrator/Manager policy for $USER_EMAIL"
298303
existing_policies=$(ibmcloud iam user-policies "$USER_EMAIL" --output json 2>/dev/null || echo "[]")
299-
POLICY_ID=$(echo "$existing_policies" | jq -r --arg rg_id "$RESOURCE_GROUP_ID" '
304+
POLICY_ID=$(echo "$existing_policies" | jq -r '
300305
.[] |
301-
select(any(.resources[].attributes[]?;
302-
.name == "resourceGroupId" and .value == $rg_id)) |
303306
select(all(.resources[].attributes[]?.name; . != "serviceName")) |
304307
.id' | head -n1)
305308

@@ -322,14 +325,12 @@ elif [ -z "$ACCESS_GROUP" ] && [ -n "$USER_EMAIL" ]; then
322325
echo " • Adding roles : $NEW_ROLES"
323326

324327
ibmcloud iam user-policy-update "$USER_EMAIL" "$POLICY_ID" \
325-
--roles "$MERGED_SORTED" \
326-
--resource-group-id "$RESOURCE_GROUP_ID" || echo "⚠️ Failed to update Administrator,Manager roles for All Identity and Access enabled services to user: $USER_EMAIL"
328+
--roles "$MERGED_SORTED" || echo "⚠️ Failed to update Administrator,Manager roles for All Identity and Access enabled services to user: $USER_EMAIL"
327329
fi
328330
else
329331
echo "➕ Creating new global Administrator/Manager policy for $USER_EMAIL"
330332
ibmcloud iam user-policy-create "$USER_EMAIL" \
331-
--roles "Administrator,Manager" \
332-
--resource-group-id "$RESOURCE_GROUP_ID" || echo "⚠️ Failed to assign Administrator,Manager roles for All Identity and Access enabled services to user: $USER_EMAIL"
333+
--roles "Administrator,Manager" || echo "⚠️ Failed to assign Administrator,Manager roles for All Identity and Access enabled services to user: $USER_EMAIL"
333334
fi
334335

335336
else

tools/image-builder/packer/hpcaas/compute/script.sh

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -83,57 +83,26 @@ curl -fsSL https://clis.cloud.ibm.com/install/linux | sh
8383
pip3 install ibm-vpc==0.10.0
8484
pip3 install ibm-cloud-networking-services ibm-cloud-sdk-core selinux
8585
ibmcloud plugin install vpc-infrastructure DNS
86-
echo 'LS_Standard 10.1 () () () () 18b1928f13939bd17bf25e09a2dd8459f238028f' > ${LSF_PACKAGES_PATH}/ls.entitlement
87-
echo 'LSF_Standard 10.1 () () () pa 3f08e215230ffe4608213630cd5ef1d8c9b4dfea' > ${LSF_PACKAGES_PATH}/lsf.entitlement
8886
echo "======================Installation of IBMCloud Plugins completed====================="
8987

9088

91-
hostname lsfservers
89+
hostnamectl
90+
hostnamectl set-hostname lsfservers
9291
# Installation of LSF base packages on compute node
9392
cd "${LSF_PACKAGES_PATH}" || exit
94-
zcat lsf*lsfinstall_linux_x86_64.tar.Z | tar xvf -
95-
cd lsf*_lsfinstall || exit
96-
sed -e '/show_copyright/ s/^#*/#/' -i lsfinstall
97-
cat <<EOT >> install.config
98-
LSF_TOP="/opt/ibm/lsf"
99-
LSF_ADMINS="lsfadmin"
100-
LSF_CLUSTER_NAME="HPCCluster"
101-
LSF_MASTER_LIST="lsfservers"
102-
LSF_ENTITLEMENT_FILE="${LSF_PACKAGES_PATH}/lsf.entitlement"
103-
CONFIGURATION_TEMPLATE="DEFAULT"
104-
ENABLE_DYNAMIC_HOSTS="Y"
105-
ENABLE_EGO="N"
106-
ACCEPT_LICENSE="Y"
107-
SILENT_INSTALL="Y"
108-
LSF_SILENT_INSTALL_TARLIST="ALL"
109-
EOT
110-
bash lsfinstall -f install.config
111-
echo $?
112-
cat Install.log
93+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-conf-10.1.0.15-25050119.noarch.rpm
94+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-man-pages-10.1.0.15-25050119.noarch.rpm
95+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-client-10.1.0.15-25050119.x86_64.rpm
96+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-server-10.1.0.15-25050119.x86_64.rpm
97+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-integrations-10.1.0.15-25050118.x86_64.rpm
98+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-ego-server-10.1.0.15-25050118.x86_64.rpm
99+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-devel-10.1.0.15-25050119.x86_64.rpm
100+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-data-mgr-10.1.0.15-25050119.x86_64.rpm
101+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-ls-client-10.1.0.15-25050119.x86_64.rpm
102+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/ibm-jre-1.8.0-25041010.x86_64.rpm
103+
yum install -y --nogpgcheck "${LSF_PACKAGES_PATH}"/lsf-pm-client-10.2.0.15-25050118.x86_64.rpm
113104
echo "========================LSF 10.1 installation completed====================="
114105

115-
116-
hostname lsfservers
117-
# Installation of Resource connector configuration on compute nodes
118-
cd "${LSF_PACKAGES_PATH}" || exit
119-
cd lsf*_lsfinstall || exit
120-
cat <<EOT >> server.config
121-
LSF_TOP="/opt/ibm/lsf_worker"
122-
LSF_ADMINS="lsfadmin"
123-
LSF_ENTITLEMENT_FILE="${LSF_PACKAGES_PATH}/lsf.entitlement"
124-
LSF_SERVER_HOSTS="lsfservers"
125-
LSF_LOCAL_RESOURCES="[resource cloudhpchost]"
126-
ACCEPT_LICENSE="Y"
127-
SILENT_INSTALL="Y"
128-
EOT
129-
bash lsfinstall -s -f server.config
130-
echo $?
131-
cat Install.log
132-
rm -rf /opt/ibm/lsf_worker/10.1
133-
ln -s /opt/ibm/lsf/10.1 /opt/ibm/lsf_worker
134-
echo "==================LSF 10.1 Resource connector installation completed==============="
135-
136-
137106
# Installation Of OpenMPI
138107
cd "${LSF_PACKAGES_PATH}" || exit
139108
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.gz
@@ -194,6 +163,18 @@ else
194163
echo "INSTALL_SYDIG is set as false and the sysdig agent is not installed on compute node image"
195164
fi
196165

166+
#Cloud Log Agent Installation
167+
echo "Cloud logs agent installation started"
168+
pwd
169+
wget https://logs-router-agent-install-packages.s3.us.cloud-object-storage.appdomain.cloud/logs-router-agent-rhel8-1.3.1.rpm.sha256
170+
wget https://logs-router-agent-install-packages.s3.us.cloud-object-storage.appdomain.cloud/logs-router-agent-rhel8-1.3.1.rpm
171+
sha256sum -c logs-router-agent-rhel8-1.3.1.rpm.sha256
172+
rpm -ivh logs-router-agent-rhel8-1.3.1.rpm
173+
rpm -qa | grep logs-router-agent
174+
wget -O /root/post-config.sh https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/post-config.sh
175+
ls -a /root
176+
echo "Cloud logs agent installated"
177+
197178
# Security approach to delete unwanted ssh keys and host file entries
198179
rm -rf "${LSF_PACKAGES_PATH}"
199180
if grep -q 'ID="rhel"' /etc/os-release || grep -q 'ID="rocky"' /etc/os-release; then

tools/image-builder/template_files.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ data "template_file" "packer_user_data" {
1414
target_dir = "/var"
1515
prefix = var.prefix
1616
cluster_name = var.cluster_name
17-
reservation_id = var.reservation_id
1817
catalog_validate_ssh_key = var.ssh_keys[0]
1918
zones = join(",", var.zones)
2019
existing_resource_group = var.existing_resource_group

tools/image-builder/templates/packer_user_data.tpl

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -125,16 +125,3 @@ if [ ! -d "$(pwd)/go" ]; then
125125
echo "export GOROOT=$(pwd)/go" >> ~/.bashrc
126126
source ~/.bashrc
127127
fi
128-
129-
echo "========== Executing Go function to validate the image through HPC deployment ========="
130-
export TF_VAR_ibmcloud_api_key=${ibm_api_key}
131-
132-
if [ "${private_catalog_id}" ]; then
133-
PREFIX=${prefix} CLUSTER_NAME=${cluster_name} RESERVATION_ID=${reservation_id} SSH_FILE_PATH="/HPCaaS/artifacts/.ssh/id_rsa" REMOTE_ALLOWED_IPS=$PACKER_FIP SSH_KEYS=$CICD_SSH_KEY CATALOG_VALIDATE_SSH_KEY=${catalog_validate_ssh_key} ZONES=${zones} EXISTING_RESOURCE_GROUP=${existing_resource_group} COMPUTE_IMAGE_NAME=${image_name} PRIVATE_CATALOG_ID=${private_catalog_id} VPC_ID=${vpc_id} SUBNET_ID=${vpc_subnet_id} SOURCE_IMAGE_NAME=${source_image_name} go test -v -timeout 900m -parallel 4 -run "TestRunHpcDeploymentForCustomImageBuilder" | tee hpc_log_$(date +%d-%m-%Y-%H-%M-%S).log
134-
else
135-
PREFIX=${prefix} CLUSTER_NAME=${cluster_name} RESERVATION_ID=${reservation_id} SSH_FILE_PATH="/HPCaaS/artifacts/.ssh/id_rsa" REMOTE_ALLOWED_IPS=$PACKER_FIP SSH_KEYS=$CICD_SSH_KEY ZONES=${zones} EXISTING_RESOURCE_GROUP=${existing_resource_group} COMPUTE_IMAGE_NAME=${image_name} SOURCE_IMAGE_NAME=${source_image_name} go test -v -timeout 900m -parallel 4 -run "TestRunHpcDeploymentForCustomImageBuilder" | tee hpc_log_$(date +%d-%m-%Y-%H-%M-%S).log
136-
fi
137-
138-
echo "========== Deleting the SSH key ========="
139-
140-
ibmcloud is key-delete $CICD_SSH_KEY -f

tools/image-builder/variables.tf

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ variable "existing_resource_group" {
2121
type = string
2222
default = "Default"
2323
validation {
24-
condition = var.resource_group != null
24+
condition = var.existing_resource_group != null
2525
error_message = "If you want to provide null for resource_group variable, it should be within double quotes."
2626
}
2727
}
@@ -197,17 +197,6 @@ variable "cluster_name" {
197197
}
198198
}
199199

200-
# tflint-ignore: terraform_unused_declarations
201-
variable "reservation_id" {
202-
type = string
203-
sensitive = true
204-
description = "Ensure that you have received the reservation ID from IBM technical sales. Reservation ID is a unique identifier to distinguish different IBM Cloud HPC service agreements. It must start with a letter and can only contain letters, numbers, hyphens (-), or underscores (_)."
205-
validation {
206-
condition = can(regex("^[a-zA-Z][a-zA-Z0-9-_]*$", var.reservation_id))
207-
error_message = "Reservation ID must start with a letter and can only contain letters, numbers, hyphens (-), or underscores (_)."
208-
}
209-
}
210-
211200
# tflint-ignore: terraform_unused_declarations
212201
variable "private_catalog_id" {
213202
type = string

tools/image-builder/version.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ terraform {
33
required_providers {
44
ibm = {
55
source = "IBM-Cloud/ibm"
6-
version = "1.69.2"
6+
version = ">= 1.77.0, < 2.0.0"
77
}
88
null = {
99
source = "hashicorp/null"

0 commit comments

Comments
 (0)