Skip to content

Commit 75e4f30

Browse files
committed
refactor: drop redundant HiveCluster::merged_config
1 parent f0566d1 commit 75e4f30

2 files changed

Lines changed: 12 additions & 37 deletions

File tree

rust/operator-binary/src/crd/affinity.rs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ mod tests {
3030
api::core::v1::{PodAffinityTerm, PodAntiAffinity, WeightedPodAffinityTerm},
3131
apimachinery::pkg::apis::meta::v1::LabelSelector,
3232
},
33-
utils::yaml_from_str_singleton_map,
3433
};
3534

3635
use super::*;
37-
use crate::crd::v1alpha1;
3836

3937
#[rstest]
4038
#[case(HiveRole::MetaStore)]
@@ -44,6 +42,8 @@ mod tests {
4442
kind: HiveCluster
4543
metadata:
4644
name: simple-hive
45+
namespace: default
46+
uid: 12345678-1234-1234-1234-123456789012
4747
spec:
4848
image:
4949
productVersion: 4.2.0
@@ -55,11 +55,15 @@ mod tests {
5555
default:
5656
replicas: 1
5757
"#;
58-
let hive: v1alpha1::HiveCluster =
59-
yaml_from_str_singleton_map(input).expect("invalid test input");
60-
let merged_config = hive
61-
.merged_config(&role, &role.rolegroup_ref(&hive, "default"))
62-
.unwrap();
58+
let hive = crate::controller::test_support::minimal_hive(input);
59+
let validated = crate::controller::test_support::validated_cluster(&hive);
60+
let merged_config = validated
61+
.role_group_configs
62+
.get(&role)
63+
.and_then(|groups| groups.get("default"))
64+
.expect("role group should exist")
65+
.config
66+
.clone();
6367

6468
assert_eq!(
6569
merged_config.affinity,

rust/operator-binary/src/crd/mod.rs

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use stackable_operator::{
1616
},
1717
},
1818
config::{
19-
fragment::{self, Fragment, ValidationError},
19+
fragment::{Fragment, ValidationError},
2020
merge::Merge,
2121
},
2222
crd::s3,
@@ -306,35 +306,6 @@ impl v1alpha1::HiveCluster {
306306
.as_ref()
307307
.and_then(|a| a.opa.as_ref())
308308
}
309-
310-
/// Retrieve and merge resource configs for role and role groups
311-
pub fn merged_config(
312-
&self,
313-
role: &HiveRole,
314-
rolegroup_ref: &RoleGroupRef<Self>,
315-
) -> Result<MetaStoreConfig, Error> {
316-
// Initialize the result with all default values as baseline
317-
let conf_defaults = MetaStoreConfig::default_config(&self.name_any(), role);
318-
319-
// Retrieve role resource config
320-
let role = self.role(role)?;
321-
let mut conf_role = role.config.config.to_owned();
322-
323-
// Retrieve rolegroup specific resource config
324-
let role_group = self.rolegroup(rolegroup_ref)?;
325-
let mut conf_role_group = role_group.config.config;
326-
327-
// Merge more specific configs into default config
328-
// Hierarchy is:
329-
// 1. RoleGroup
330-
// 2. Role
331-
// 3. Default
332-
conf_role.merge(&conf_defaults);
333-
conf_role_group.merge(&conf_role);
334-
335-
tracing::debug!("Merged config: {:?}", conf_role_group);
336-
fragment::validate(conf_role_group).context(FragmentValidationFailureSnafu)
337-
}
338309
}
339310

340311
#[derive(Clone, Debug, Deserialize, Eq, JsonSchema, PartialEq, Serialize)]

0 commit comments

Comments
 (0)