Skip to content

OCPBUGS-81635: AWS: Increase cluster bootstrap timeout with userProvisioned DNS#10459

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
sadasu:aws-custom-dns
Apr 3, 2026
Merged

OCPBUGS-81635: AWS: Increase cluster bootstrap timeout with userProvisioned DNS#10459
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
sadasu:aws-custom-dns

Conversation

@sadasu
Copy link
Copy Markdown
Contributor

@sadasu sadasu commented Apr 2, 2026

For standard AWS installs, continue to use 45-minute timeout (default) For AWS with UserProvisionedDNS enabled, use 60-minute timeout (extended)

@sadasu sadasu changed the title AWS: Increase cluster bootstrap timeout with userProvisioned DNS OCPBUGS-81635: AWS: Increase cluster bootstrap timeout with userProvisioned DNS Apr 2, 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/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Apr 2, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sadasu: This pull request references Jira Issue OCPBUGS-81635, which is invalid:

  • expected the bug to target the "4.22.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

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

Details

In response to this:

For standard AWS installs, continue to use 45-minute timeout (default) For AWS with UserProvisionedDNS enabled, use 60-minute timeout (extended)

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 review from barbacbd and jhixson74 April 2, 2026 13:38
@sadasu
Copy link
Copy Markdown
Contributor Author

sadasu commented Apr 2, 2026

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Apr 2, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sadasu: This pull request references Jira Issue OCPBUGS-81635, 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 ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @yunjiang29

Details

In response to this:

/jira refresh

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 yunjiang29 April 2, 2026 13:39
@sadasu
Copy link
Copy Markdown
Contributor Author

sadasu commented Apr 2, 2026

/test

@sadasu
Copy link
Copy Markdown
Contributor Author

sadasu commented Apr 2, 2026

/test e2e-aws-custom-dns-techpreview

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 2, 2026

Walkthrough

Refactors scoping of installConfig when detecting the bootstrapping platform and adjusts timeout logic: baremetal and vSphere remain 60 minutes; AWS timeout is increased to 60 minutes only when installConfig exists, Config.AWS is non-nil, and UserProvisionedDNS is enabled; an info log is emitted on the AWS timeout increase.

Changes

Cohort / File(s) Summary
Bootstrap timeout & installConfig scoping
cmd/openshift-install/create.go
Move installConfig declaration to outer scope in waitForBootstrapComplete; derive platformName from the retained pointer; extend AWS timeout increase to 60m only when installConfig.Config.AWS exists and UserProvisionedDNS is enabled; add info log for timeout change.
Cluster init timeout switching
cmd/openshift-install/command/waitfor.go
Replace previous baremetal-only special case with a switch on platform name in waitForInitializedCluster; preserve baremetal/vSphere 60m behavior and add AWS 60m path conditioned on installConfig.Config.AWS.UserProvisionedDNS being enabled; add imports for AWS/DNS constants.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.11.4)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Member

@tthvo tthvo left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

The log shows this is applied as expected:

time="2026-04-02T15:33:50Z" level=info msg="Increasing bootstrapping timeout on AWS to 1h0m0s since UserProvisionedDNS is enabled"
time="2026-04-02T15:33:50Z" level=info msg="Waiting up to 1h0m0s (until 4:33PM UTC) for bootstrapping to complete..."

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

openshift-ci bot commented Apr 2, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tthvo

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 2, 2026
@sadasu
Copy link
Copy Markdown
Contributor Author

sadasu commented Apr 2, 2026

/retest-required

For standard AWS installs, continue to use 45-minute timeout (default)
for the bootstrap phase and 40 minute timeout for cluster creation
step.
For AWS with UserProvisionedDNS enabled, use 60-minute timeout each
for both the bootstrap and cluster creation steps.
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Apr 2, 2026
@sadasu
Copy link
Copy Markdown
Contributor Author

sadasu commented Apr 2, 2026

/test e2e-aws-custom-dns-techpreview

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
cmd/openshift-install/command/waitfor.go (1)

95-106: Consider extracting the type assertion to reduce repetition.

The type assertion installConfig.(*installconfig.InstallConfig) is repeated three times. Extracting it to a variable would improve readability.

♻️ Optional refactor
 	if installConfig, err := assetstore.Load(&installconfig.InstallConfig{}); err == nil && installConfig != nil {
-		switch installConfig.(*installconfig.InstallConfig).Config.Platform.Name() {
+		ic := installConfig.(*installconfig.InstallConfig)
+		switch ic.Config.Platform.Name() {
 		case baremetal.Name:
 			// Wait longer for baremetal, due to length of time it takes to boot
 			timeout = 60 * time.Minute
 		case aws.Name:
 			// Wait longer for AWS with userProvisionedDNS enabled.
 			// Tests show that with this feature enabled, MCO needs additional time to complete tasks
-			if installConfig.(*installconfig.InstallConfig).Config.AWS != nil &&
-				installConfig.(*installconfig.InstallConfig).Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
+			if ic.Config.AWS != nil && ic.Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled {
 				timeout = 60 * time.Minute
 			}
 		}
 	}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@cmd/openshift-install/command/waitfor.go` around lines 95 - 106, Extract the
repeated type assertion by assigning
installConfig.(*installconfig.InstallConfig) to a local variable (e.g., ic) near
the top of the switch, then use ic.Config.Platform.Name(), ic.Config.AWS and
ic.Config.AWS.UserProvisionedDNS in the cases to remove the duplicate
assertions; ensure you reference the same symbols (installConfig,
installconfig.InstallConfig, Config.Platform.Name, AWS.UserProvisionedDNS) so
behavior remains identical.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@cmd/openshift-install/command/waitfor.go`:
- Around line 95-106: Extract the repeated type assertion by assigning
installConfig.(*installconfig.InstallConfig) to a local variable (e.g., ic) near
the top of the switch, then use ic.Config.Platform.Name(), ic.Config.AWS and
ic.Config.AWS.UserProvisionedDNS in the cases to remove the duplicate
assertions; ensure you reference the same symbols (installConfig,
installconfig.InstallConfig, Config.Platform.Name, AWS.UserProvisionedDNS) so
behavior remains identical.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6005069f-a5b6-4027-be29-cc9a1167f6c2

📥 Commits

Reviewing files that changed from the base of the PR and between f0bd6bf and 43faae8.

📒 Files selected for processing (2)
  • cmd/openshift-install/command/waitfor.go
  • cmd/openshift-install/create.go

@yunjiang29
Copy link
Copy Markdown
Contributor

/verified by e2e-aws-custom-dns-techpreview

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

@yunjiang29: This PR has been marked as verified by [e2e-aws-custom-dns-techpreview](https://prow.ci.openshift.org/view/gs/test-platform-results/pr-logs/pull/openshift_installer/10459/pull-ci-openshift-installer-main-e2e-aws-custom-dns-techpreview/2039828697170579456).

Details

In response to this:

/verified by e2e-aws-custom-dns-techpreview

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.

Copy link
Copy Markdown
Member

@tthvo tthvo left a comment

Choose a reason for hiding this comment

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

/lgtm

I guess it'd be nice to have a similar log: "Increasing operator initialization timeout on..." too (if later on we adjust this code again) :D

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

openshift-ci bot commented Apr 3, 2026

@sadasu: The following test 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-aws-custom-dns-techpreview 43faae8 link false /test e2e-aws-custom-dns-techpreview

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 f8a1613 into openshift:main Apr 3, 2026
15 of 16 checks passed
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sadasu: Jira Issue Verification Checks: Jira Issue OCPBUGS-81635
✔️ 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-81635 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:

For standard AWS installs, continue to use 45-minute timeout (default) For AWS with UserProvisionedDNS enabled, use 60-minute timeout (extended)

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.

4 participants