Choose a rollout strategy
Configure the strategy on an Engine:
FireboltEngineClass.spec.rollout. An Engine value takes precedence.
Plan capacity
The old and desired generations coexist during startup and, for graceful rollouts, while queries drain. Plan enough cluster capacity for both generations. A rollout remains increating if the desired pods cannot schedule or become ready; the active generation continues serving.
Persistent volume claims are generation-specific. Ensure the storage provisioner and quota can satisfy the replacement generation before the old generation is removed.
Readiness and traffic switching
The Engine Service switches only after every desired Engine pod is ready. Readiness includes every sidecar with a readiness probe. Add readiness probes to sidecars that must be available before the pod receives queries; a sidecar without a probe is considered ready as soon as its process starts. During pod termination, the Engine readiness endpoint stops advertising the pod before its process exits. The Gateway retries requests that reach an Engine already entering shutdown.Configure graceful drain checks
During a graceful rollout, the Firebolt Operator waits until old-generation pods report no running or suspended queries. It reads these Engine metrics:firebolt_running_queriesfirebolt_suspended_queries
The Engine process still waits for unfinished queries during Kubernetes termination when the Firebolt Operator drain gate is disabled. The Engine pod termination grace period is fixed at 60 seconds, and the Engine reserves the final 5 seconds for shutdown.
Select the metrics transport
Drain checks and auto-stop useFireboltInstance.spec.metricScrapeMode:
PodIPconnects directly to each Engine pod and is the default.ApiserverProxyuses the Kubernetes API serverpods/proxyendpoint. Enable Helm valuerbac.apiserverProxyGrant=truefor this mode.
Ready=False with reason DrainCheckFailing. Fix pod network reachability, metrics availability, or the API-server proxy permission before retrying. To accept interrupted queries and continue immediately, set spec.rollout: recreate.