From f085757e751d08ee17d7f7f3f6170c211bbf4c8b Mon Sep 17 00:00:00 2001 From: Sandhya Dasu Date: Fri, 10 Apr 2026 00:04:51 -0400 Subject: [PATCH] GCP: Increase bootstrap and cluster creation timeouts Do this only when userProvisioned DNS is enabled giving MCO additional time to bring up master nodes. --- cmd/openshift-install/command/waitfor.go | 10 ++++++++++ cmd/openshift-install/create.go | 24 +++++++++++++++++------- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/cmd/openshift-install/command/waitfor.go b/cmd/openshift-install/command/waitfor.go index b251ed11dd8..42df26d9e5b 100644 --- a/cmd/openshift-install/command/waitfor.go +++ b/cmd/openshift-install/command/waitfor.go @@ -36,6 +36,7 @@ import ( "github.com/openshift/installer/pkg/types/aws" "github.com/openshift/installer/pkg/types/baremetal" "github.com/openshift/installer/pkg/types/dns" + "github.com/openshift/installer/pkg/types/gcp" cov1helpers "github.com/openshift/library-go/pkg/config/clusteroperator/v1helpers" "github.com/openshift/library-go/pkg/route/routeapihelpers" ) @@ -102,6 +103,15 @@ func waitForInitializedCluster(ctx context.Context, config *rest.Config, assetst if installConfig.(*installconfig.InstallConfig).Config.AWS != nil && installConfig.(*installconfig.InstallConfig).Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled { timeout = 60 * time.Minute + logrus.Infof("Increasing cluster creation timeout on AWS to %v since UserProvisionedDNS is enabled", timeout) + } + case gcp.Name: + // Wait longer for GCP with userProvisionedDNS enabled. + // Tests show that with this feature enabled, MCO needs additional time to complete tasks + if installConfig.(*installconfig.InstallConfig).Config.GCP != nil && + installConfig.(*installconfig.InstallConfig).Config.GCP.UserProvisionedDNS == dns.UserProvisionedDNSEnabled { + timeout = 60 * time.Minute + logrus.Infof("Increasing cluster creation timeout on GCP to %v since UserProvisionedDNS is enabled", timeout) } } } diff --git a/cmd/openshift-install/create.go b/cmd/openshift-install/create.go index 3e89308edd5..46c7f74fd46 100644 --- a/cmd/openshift-install/create.go +++ b/cmd/openshift-install/create.go @@ -407,14 +407,24 @@ func waitForBootstrapComplete(ctx context.Context, config *rest.Config) *cluster timeout := 45 * time.Minute - // Wait longer for baremetal, VSphere due to length of time it takes to boot - if platformName == baremetal.Name || platformName == vsphere.Name { + switch platformName { + case baremetal.Name, vsphere.Name: + // Wait longer for baremetal, VSphere due to length of time it takes to boot timeout = 60 * time.Minute - } - // For AWS, only increase timeout when UserProvisionedDNS is enabled - if platformName == aws.Name && installConfig != nil && installConfig.Config.AWS != nil && installConfig.Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled { - timeout = 60 * time.Minute - logrus.Infof("Increasing bootstrapping timeout on AWS to %v since UserProvisionedDNS is enabled", timeout) + 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 != nil && installConfig.Config.AWS != nil && installConfig.Config.AWS.UserProvisionedDNS == dns.UserProvisionedDNSEnabled { + timeout = 60 * time.Minute + logrus.Infof("Increasing bootstrapping timeout on AWS to %v since UserProvisionedDNS is enabled", timeout) + } + case gcp.Name: + // Wait longer for GCP with userProvisionedDNS enabled. + // Tests show that with this feature enabled, MCO needs additional time to complete tasks + if installConfig != nil && installConfig.Config.GCP != nil && installConfig.Config.GCP.UserProvisionedDNS == dns.UserProvisionedDNSEnabled { + timeout = 60 * time.Minute + logrus.Infof("Increasing bootstrapping timeout on GCP to %v since UserProvisionedDNS is enabled", timeout) + } } untilTime = time.Now().Add(timeout)