Skip to content

Commit 8de2bd3

Browse files
Tear down old gen immediately when ImmediatelyPromoteCausingDowntime
1 parent 395b485 commit 8de2bd3

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/orchestratord/src/controller/materialize.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use uuid::Uuid;
2727
use crate::metrics::Metrics;
2828
use mz_cloud_provider::CloudProvider;
2929
use mz_cloud_resources::crd::materialize::v1alpha1::{
30-
Materialize, MaterializeCertSpec, MaterializeStatus,
30+
Materialize, MaterializeCertSpec, MaterializeRolloutStrategy, MaterializeStatus,
3131
};
3232
use mz_orchestrator_kubernetes::KubernetesImagePullPolicy;
3333
use mz_orchestrator_tracing::TracingCliArgs;
@@ -442,6 +442,17 @@ impl k8s_controller::Context for Context {
442442
let mz = &mz;
443443
let status = mz.status();
444444

445+
if mz.spec.rollout_strategy
446+
== MaterializeRolloutStrategy::ImmediatelyPromoteCausingDowntime
447+
{
448+
// The only reason someone would choose this strategy is if they didn't have
449+
// space for the two generations of pods.
450+
// Lets make room for the new ones by deleting the old generation.
451+
resources
452+
.teardown_generation(&client, mz, active_generation)
453+
.await?;
454+
}
455+
445456
trace!("applying environment resources");
446457
match resources
447458
.apply(&client, mz.should_force_promote(), &mz.namespace())

0 commit comments

Comments
 (0)