diff --git a/crates/stackable-operator/CHANGELOG.md b/crates/stackable-operator/CHANGELOG.md index 15f0b4cfb..89c9924d7 100644 --- a/crates/stackable-operator/CHANGELOG.md +++ b/crates/stackable-operator/CHANGELOG.md @@ -8,7 +8,14 @@ All notable changes to this project will be documented in this file. - BREAKING: Add a new CLI flag/env to disabling CRD maintenance: `--disable-crd-maintenance` ([#1085]). +### Removed + +- BREAKING: Remove the Merge implementation for PodTemplateSpec ([#1087]). + It was broken because the instance was overriden by the given defaults. + This function is not used by the Stackable operators. + [#1085]: https://github.com/stackabletech/operator-rs/pull/1085 +[#1087]: https://github.com/stackabletech/operator-rs/pull/1087 ## [0.96.0] - 2025-08-25 diff --git a/crates/stackable-operator/src/config/merge.rs b/crates/stackable-operator/src/config/merge.rs index 8a5172e28..a4c334a73 100644 --- a/crates/stackable-operator/src/config/merge.rs +++ b/crates/stackable-operator/src/config/merge.rs @@ -6,8 +6,7 @@ use std::{ }; use k8s_openapi::{ - DeepMerge, - api::core::v1::{NodeAffinity, PodAffinity, PodAntiAffinity, PodTemplateSpec}, + api::core::v1::{NodeAffinity, PodAffinity, PodAntiAffinity}, apimachinery::pkg::{api::resource::Quantity, apis::meta::v1::LabelSelector}, }; pub use stackable_operator_derive::Merge; @@ -87,11 +86,6 @@ impl Merge for HashMap { } } } -impl Merge for PodTemplateSpec { - fn merge(&mut self, defaults: &Self) { - self.merge_from(defaults.clone()) - } -} /// Moving version of [`Merge::merge`], to produce slightly nicer test output pub fn merge(mut overrides: T, defaults: &T) -> T { @@ -163,8 +157,6 @@ impl Merge for Option { mod tests { use std::collections::{BTreeMap, HashMap}; - use k8s_openapi::api::core::v1::{PodSpec, PodTemplateSpec}; - use super::{Merge, merge}; #[derive(Debug, PartialEq, Eq, Clone)] @@ -437,59 +429,4 @@ mod tests { BTreeMap::from([("a", Acc(4)), ("b", Acc(2)), ("c", Acc(5))]) ); } - - #[test] - fn merge_pod_template_spec() { - assert_eq!( - merge( - PodTemplateSpec { - spec: Some(PodSpec { - service_account_name: Some("my-sa".to_string()), - ..PodSpec::default() - }), - ..PodTemplateSpec::default() - }, - &PodTemplateSpec { - spec: Some(PodSpec { - priority: Some(3000), - ..PodSpec::default() - }), - ..PodTemplateSpec::default() - } - ), - PodTemplateSpec { - spec: Some(PodSpec { - service_account_name: Some("my-sa".to_string()), - priority: Some(3000), - ..PodSpec::default() - }), - ..PodTemplateSpec::default() - } - ); - assert_eq!( - merge( - PodTemplateSpec { - spec: Some(PodSpec { - service_account_name: Some("sa-to-be-overridden".to_string()), - ..PodSpec::default() - }), - ..PodTemplateSpec::default() - }, - &PodTemplateSpec { - spec: Some(PodSpec { - service_account_name: Some("sa-override".to_string()), - ..PodSpec::default() - }), - ..PodTemplateSpec::default() - } - ), - PodTemplateSpec { - spec: Some(PodSpec { - service_account_name: Some("sa-override".to_string()), - ..PodSpec::default() - }), - ..PodTemplateSpec::default() - } - ); - } }