Skip to content

Conversation

@patrickdillon
Copy link
Contributor

GCP introduced AI zones, which should be skipped when provisioning general compute instances.

@wking
Copy link
Member

wking commented Jan 28, 2026

/retitle OCPBUGS-74625: gcp: skip AI zones

@openshift-ci openshift-ci bot changed the title gcp: skip AI zones OCPBUGS-74625: gcp: skip AI zones Jan 28, 2026
@openshift-ci-robot openshift-ci-robot added jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Jan 28, 2026
@openshift-ci-robot
Copy link
Contributor

@patrickdillon: This pull request references Jira Issue OCPBUGS-74625, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @gpei

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

GCP introduced AI zones, which should be skipped when provisioning general compute instances.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested a review from gpei January 28, 2026 23:36
@patrickdillon
Copy link
Contributor Author

With local debug output enabled (not included in the PR), AI zones are skipped:

Installing to us-central1

DEBUG Checking zone us-central1-c
DEBUG Added zone us-central1-c
DEBUG Checking zone us-central1-a
DEBUG Added zone us-central1-a
DEBUG Checking zone us-central1-f
DEBUG Added zone us-central1-f
DEBUG Checking zone us-central1-b
DEBUG Added zone us-central1-b
DEBUG Checking zone us-central1-ai1a
DEBUG Skipped zone us-central1-ai1a

Installing to us-south-1

DEBUG Added zone us-south1-a
DEBUG Checking zone us-south1-ai1b
DEBUG Skipped zone us-south1-ai1b
DEBUG Checking zone us-south1-b
DEBUG Added zone us-south1-b
DEBUG Checking zone us-south1-c
DEBUG Added zone us-south1-c

Copy link
Member

@wking wking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 29, 2026
@patrickdillon
Copy link
Contributor Author

/approve

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 29, 2026
logrus.Warnf("Found zone %s, but it does not follow expected zone naming convention", zone)
return false
}
return strings.Contains(parts[2], "ai")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it's worth, the current GCP docs say:

Make a GET request to the zones.list method. To match zones containing ai in their name, use the filter query parameter with the regular expression name eq '.*-ai.*'.

That's not quite what you're doing here. I'm fine with how you have it, but aligning with the regexp GCP officially suggests might be more future-proof. It's also a bit mind-boggling that GCP's official recommendation is to use a zone-name regexp and not some more structured property.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From GCP docs on regions and zones:

  • Standard zone

    A standard zone name contains two parts: the region and the zone in the region. For example, the fully qualified name for zone a in region us-central1 is us-central1-a.

  • AI zone

    AI zones follow an extended naming convention to differentiate them from non-AI zones. For an AI zone, the variable consists of three parts: the string ai (to identify it as an AI zone), a number (indicating its deployment group), and a letter (indicating the shared software update schedule). For example, the fully qualified name for AI zone ai2b in region us-west4 is us-west4-ai2b. This AI zone shares its deployment rollout wave with the standard us-west4-b zone.

I think the convention is <region>-<zone>. For standard zone, the <zone> part is just the zone ID (e.g. a, b). For AI zone, the <zone> part is ai<number><letter> (e.g. ai2b).

I guess the current approach looks good, right? GCP doc is just "confusing" :D

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, the <region part seems to follow: <geography>-<area><number> too

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wking I missed that part in the docs (it is hidden in a tab).

Based on that, I have updated the PR to use strings.Contains to search for the substring -ai which is the equivalent of this regex.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the current approach looks good, right? GCP doc is just "confusing" :D

The approach would work... the updated substring match based on the regex is more "official" and a little simpler so I'm good with that!

Good find on those docs, I didn't see that section.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, sounds good to me!

Filter out AI zones when discovering zones in the region. AI zones
do not have quota for general compute resources, so we should not provision
nodes there by default.
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Jan 29, 2026
Copy link
Member

@wking wking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 29, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: patrickdillon, wking

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@patrickdillon
Copy link
Contributor Author

/verified later

@openshift-ci-robot
Copy link
Contributor

@patrickdillon: /verified later <@username> requires at least one GitHub @username to be specified (it can be a comma delimited list). It indicates the engineer(s) that will be performing the verification. See https://docs.ci.openshift.org/docs/architecture/jira/#premerge-verification for more information.

Details

In response to this:

/verified later

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@patrickdillon
Copy link
Contributor Author

/verified later @jianli-wei @patrickdillon

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jan 29, 2026
@openshift-ci-robot
Copy link
Contributor

@patrickdillon: This PR has been marked to be verified later by @jianli-wei @patrickdillon.

Details

In response to this:

/verified later @jianli-wei @patrickdillon

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 277456d and 2 for PR HEAD fee6f94 in total

@gpei
Copy link
Contributor

gpei commented Jan 30, 2026

/test e2e-gcp-ovn

@jianli-wei
Copy link
Contributor

/verified by jiwei

Mark as verified, according to my yesterday's testing (see comment-1 and comment-2), and the updates to the function aiZone should work. Besides, it seems today no any region shows any AI zone (in QE GCP project), and pull-ci-openshift-installer-main-e2e-gcp-ovn #2017034141555494912 got successful installation. That said, I won't test manually again.

@openshift-ci-robot
Copy link
Contributor

@jianli-wei: This PR has been marked as verified by jiwei.

Details

In response to this:

/verified by jiwei

Mark as verified, according to my yesterday's testing (see comment-1 and comment-2), and the updates to the function aiZone should work. Besides, it seems today no any region shows any AI zone (in QE GCP project), and pull-ci-openshift-installer-main-e2e-gcp-ovn #2017034141555494912 got successful installation. That said, I won't test manually again.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 30, 2026

@patrickdillon: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-gcp-ovn-byo-vpc fee6f94 link false /test e2e-gcp-ovn-byo-vpc
ci/prow/gcp-custom-endpoints-proxy-wif fee6f94 link false /test gcp-custom-endpoints-proxy-wif
ci/prow/e2e-gcp-secureboot fee6f94 link false /test e2e-gcp-secureboot
ci/prow/e2e-gcp-custom-dns fee6f94 link false /test e2e-gcp-custom-dns
ci/prow/e2e-gcp-xpn-dedicated-dns-project fee6f94 link false /test e2e-gcp-xpn-dedicated-dns-project
ci/prow/e2e-gcp-ovn-xpn fee6f94 link false /test e2e-gcp-ovn-xpn
ci/prow/e2e-gcp-custom-endpoints fee6f94 link false /test e2e-gcp-custom-endpoints

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 5314736 into openshift:main Jan 30, 2026
17 of 24 checks passed
@openshift-ci-robot
Copy link
Contributor

@patrickdillon: Jira Issue Verification Checks: Jira Issue OCPBUGS-74625
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-74625 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

GCP introduced AI zones, which should be skipped when provisioning general compute instances.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants