-
Notifications
You must be signed in to change notification settings - Fork 2.4k
TRT-2926: Revert #83996 "gcp: migrate N2 instance types to N4" #84065
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -619,19 +619,6 @@ else | |
| fi | ||
| GATHER_BOOTSTRAP_ARGS=('--bootstrap' "${BOOTSTRAP_IP}") | ||
|
|
||
| ## Select the appropriate boot disk type for a given machine type. | ||
| ## N4-family instances (n4-, n4a-, n4d-) require hyperdisk-balanced; | ||
| ## older families (n2-, e2-, etc.) use pd-ssd. | ||
| function boot_disk_type_for() { | ||
| local -r machine_type="$1" | ||
| case "${machine_type}" in | ||
| n4-*|n4a-*|n4d-*|c4-*|c4a-*|c4d-*|h4d-*|x4-*|m4-*|a4-*|a4x-*|g4-*) | ||
| echo "hyperdisk-balanced" ;; | ||
| *) | ||
| echo "pd-ssd" ;; | ||
| esac | ||
| } | ||
|
|
||
| function create_cluster_machines() | ||
| { | ||
| local -r machine_role="$1"; shift | ||
|
|
@@ -645,10 +632,9 @@ function create_cluster_machines() | |
| local -r deprovision_commands_file="$1"; shift | ||
| local -r zones=("$@") | ||
| local CMD index=0 | ||
| local -r disk_type="$(boot_disk_type_for "${node_type}")" | ||
|
|
||
| for zone in "${zones[@]}"; do | ||
| CMD="gcloud compute instances create ${infra_id}-${machine_role}-${index} --boot-disk-size=${root_volume_size}GB --boot-disk-type=${disk_type} --image=${cluster_image} --metadata=^#^user-data='${ignition}' --machine-type=${node_type} --zone=${zone} --no-address --service-account=${service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --tags=${infra_id}-${machine_role} --subnet=${machine_subnet}" | ||
| CMD="gcloud compute instances create ${infra_id}-${machine_role}-${index} --boot-disk-size=${root_volume_size}GB --boot-disk-type=pd-ssd --image=${cluster_image} --metadata=^#^user-data='${ignition}' --machine-type=${node_type} --zone=${zone} --no-address --service-account=${service_account} --scopes=https://www.googleapis.com/auth/cloud-platform --tags=${infra_id}-${machine_role} --subnet=${machine_subnet}" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -euo pipefail
rg -n -C 8 \
'create_cluster_machines|--boot-disk-type|n4-standard|c4-standard|h4-|x4-|m4-|a4-|g4-' \
ci-operator/step-registryRepository: openshift/release Length of output: 27577 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '--- scoped conventions and learnings ---'
find /tmp/coderabbit-repo-knowledge/openshift-release-f38bbba4 -maxdepth 2 -type f -name '*.md' -print \
| sort \
| while read -r f; do
case "$f" in
*/conventions/*|*/learnings/*)
printf '\n### %s\n' "$f"
head -80 "$f"
;;
esac
done
printf '%s\n' '--- target script outline ---'
ast-grep outline ci-operator/step-registry/upi/install/gcp/upi-install-gcp-commands.sh
printf '%s\n' '--- target script: machine-type setup and creation path ---'
rg -n -C 12 \
'CONTROL_PLANE_NODE_TYPE|COMPUTE_NODE_TYPE|create_cluster_machines|boot-disk-type|node_type|hyperdisk|pd-ssd' \
ci-operator/step-registry/upi/install/gcp/upi-install-gcp-commands.shRepository: openshift/release Length of output: 50373 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '--- machine-type definitions and callers ---'
rg -n \
'CONTROL_PLANE_NODE_TYPE|COMPUTE_NODE_TYPE|create_cluster_machines|boot-disk-type|node_type|hyperdisk|pd-ssd' \
ci-operator/step-registry/upi/install/gcp/upi-install-gcp-commands.sh
printf '%s\n' '--- creation function ---'
sed -n '600,655p' ci-operator/step-registry/upi/install/gcp/upi-install-gcp-commands.sh
printf '%s\n' '--- relevant compatibility contract ---'
sed -n '40,90p' ci-operator/step-registry/cucushift/installer/rehearse/gcp/cases/valid-machine-type-os-disk-type/provision/cucushift-installer-rehearse-gcp-cases-valid-machine-type-os-disk-type-provision-commands.shRepository: openshift/release Length of output: 8071 🌐 Web query:
💡 Result: For the latest generation Google Cloud Compute Engine machine series, including C4, N4, H4, X4, M4, A4, and G4, standard Persistent Disk (pd-standard) and SSD Persistent Disk (pd-ssd) are generally not supported as they have been superseded by Hyperdisk block storage technology [1][2][3]. Google Cloud documentation explicitly indicates that these modern machine families are designed to utilize Hyperdisk for durable block storage [1][3]. Specifically, these series typically require the use of Hyperdisk Balanced or other Hyperdisk variants [1][4][5]. Attempts to provision these machine types with legacy persistent disk types (pd-standard or pd-ssd) will result in configuration errors [4]. Key details regarding storage for these machine series include: - Hyperdisk Requirement: Hyperdisk is the primary durable block storage offering for these latest machine series [1][3]. - Unsupported Legacy Disks: Legacy Persistent Disk types, such as pd-standard and pd-ssd, are largely incompatible with these series [2]. For example, official support matrices show that SSD PD and Balanced PD are listed as unsupported (marked with a dash) for families such as C4, N4, H4, X4, M4, A4, and G4 [2]. - Hyperdisk Balanced: This is the recommended block storage solution for the majority of workloads on these machine types, offering configurable capacity, throughput, and IOPS [5][6][3]. For the most accurate and current information on specific disk support for a given machine type, refer to the official Google Cloud documentation on disk type compatibility [2][6]. Citations:
Preserve Hyperdisk selection for affected machine types.
🤖 Prompt for AI AgentsSource: MCP tools |
||
| run_command "${CMD}" | ||
| short_wait | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
Restore the N2 compute machine type in all verification jobs.
All seven changed values remain in the N4 family. Reducing the size from
n4-standard-4ton4-standard-2does not resolve thepd-standardincompatibility. Monitoring PVC attachment and installation can still fail.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.17.yaml#L538-L538: SetCOMPUTE_NODE_TYPEto the intended N2 equivalent.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.18.yaml#L681-L681: Set the compute node type to the intended N2 equivalent.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.19.yaml#L914-L914: Set the compute node type to the intended N2 equivalent.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.20.yaml#L970-L970: Set the compute node type to the intended N2 equivalent.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.21.yaml#L1189-L1189: Set the compute node type to the intended N2 equivalent.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.22.yaml#L1207-L1207: Set the compute node type to the intended N2 equivalent.ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-5.0.yaml#L1207-L1207: Set the compute node type to the intended N2 equivalent.The PR objective states that N4 machines cannot attach
pd-standarddisks.📍 Affects 7 files
ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.17.yaml#L538-L538(this comment)ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.18.yaml#L681-L681ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.19.yaml#L914-L914ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.20.yaml#L970-L970ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.21.yaml#L1189-L1189ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-4.22.yaml#L1207-L1207ci-operator/config/openshift/verification-tests/openshift-verification-tests-main__installation-nightly-5.0.yaml#L1207-L1207🤖 Prompt for AI Agents