Skip to content

Commit 4bd0ff4

Browse files
feat: Remove the Merge implementation for PodTemplateSpec (#1087)
* feat: Remove the Merge implementation for PodTemplateSpec * chore: Remove unused imports
1 parent 13cd4c1 commit 4bd0ff4

File tree

2 files changed

+8
-64
lines changed

2 files changed

+8
-64
lines changed

crates/stackable-operator/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,14 @@ All notable changes to this project will be documented in this file.
88

99
- BREAKING: Add a new CLI flag/env to disabling CRD maintenance: `--disable-crd-maintenance` ([#1085]).
1010

11+
### Removed
12+
13+
- BREAKING: Remove the Merge implementation for PodTemplateSpec ([#1087]).
14+
It was broken because the instance was overriden by the given defaults.
15+
This function is not used by the Stackable operators.
16+
1117
[#1085]: https://github.com/stackabletech/operator-rs/pull/1085
18+
[#1087]: https://github.com/stackabletech/operator-rs/pull/1087
1219

1320
## [0.96.0] - 2025-08-25
1421

crates/stackable-operator/src/config/merge.rs

Lines changed: 1 addition & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ use std::{
66
};
77

88
use k8s_openapi::{
9-
DeepMerge,
10-
api::core::v1::{NodeAffinity, PodAffinity, PodAntiAffinity, PodTemplateSpec},
9+
api::core::v1::{NodeAffinity, PodAffinity, PodAntiAffinity},
1110
apimachinery::pkg::{api::resource::Quantity, apis::meta::v1::LabelSelector},
1211
};
1312
pub use stackable_operator_derive::Merge;
@@ -87,11 +86,6 @@ impl<K: Hash + Eq + Clone, V: Merge + Clone> Merge for HashMap<K, V> {
8786
}
8887
}
8988
}
90-
impl Merge for PodTemplateSpec {
91-
fn merge(&mut self, defaults: &Self) {
92-
self.merge_from(defaults.clone())
93-
}
94-
}
9589

9690
/// Moving version of [`Merge::merge`], to produce slightly nicer test output
9791
pub fn merge<T: Merge>(mut overrides: T, defaults: &T) -> T {
@@ -163,8 +157,6 @@ impl<T: Atomic> Merge for Option<T> {
163157
mod tests {
164158
use std::collections::{BTreeMap, HashMap};
165159

166-
use k8s_openapi::api::core::v1::{PodSpec, PodTemplateSpec};
167-
168160
use super::{Merge, merge};
169161

170162
#[derive(Debug, PartialEq, Eq, Clone)]
@@ -437,59 +429,4 @@ mod tests {
437429
BTreeMap::from([("a", Acc(4)), ("b", Acc(2)), ("c", Acc(5))])
438430
);
439431
}
440-
441-
#[test]
442-
fn merge_pod_template_spec() {
443-
assert_eq!(
444-
merge(
445-
PodTemplateSpec {
446-
spec: Some(PodSpec {
447-
service_account_name: Some("my-sa".to_string()),
448-
..PodSpec::default()
449-
}),
450-
..PodTemplateSpec::default()
451-
},
452-
&PodTemplateSpec {
453-
spec: Some(PodSpec {
454-
priority: Some(3000),
455-
..PodSpec::default()
456-
}),
457-
..PodTemplateSpec::default()
458-
}
459-
),
460-
PodTemplateSpec {
461-
spec: Some(PodSpec {
462-
service_account_name: Some("my-sa".to_string()),
463-
priority: Some(3000),
464-
..PodSpec::default()
465-
}),
466-
..PodTemplateSpec::default()
467-
}
468-
);
469-
assert_eq!(
470-
merge(
471-
PodTemplateSpec {
472-
spec: Some(PodSpec {
473-
service_account_name: Some("sa-to-be-overridden".to_string()),
474-
..PodSpec::default()
475-
}),
476-
..PodTemplateSpec::default()
477-
},
478-
&PodTemplateSpec {
479-
spec: Some(PodSpec {
480-
service_account_name: Some("sa-override".to_string()),
481-
..PodSpec::default()
482-
}),
483-
..PodTemplateSpec::default()
484-
}
485-
),
486-
PodTemplateSpec {
487-
spec: Some(PodSpec {
488-
service_account_name: Some("sa-override".to_string()),
489-
..PodSpec::default()
490-
}),
491-
..PodTemplateSpec::default()
492-
}
493-
);
494-
}
495432
}

0 commit comments

Comments
 (0)