Skip to content

Commit ccba698

Browse files
refactor: Remove separate merge mechanism
1 parent e48c147 commit ccba698

17 files changed

Lines changed: 281 additions & 517 deletions

File tree

Cargo.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.nix

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ tracing = "0.1"
3030
tracing-futures = { version = "0.2", features = ["futures-03"] }
3131

3232
[patch."https://github.com/stackabletech/operator-rs.git"]
33-
stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "smooth-operator" }
33+
stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "jvm-argument-overrides" }
3434
# stackable-operator = { path = "../operator-rs/crates/stackable-operator" }
3535
# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" }

crate-hashes.json

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/operator-binary/src/config/jvm.rs

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ use snafu::{ResultExt, Snafu};
22
use stackable_operator::{
33
k8s_openapi::api::core::v1::ResourceRequirements,
44
memory::{BinaryMultiple, MemoryQuantity},
5-
role_utils::JvmArgumentOverrides,
5+
v2::jvm_argument_overrides::JvmArgumentOverrides,
66
};
77

88
use crate::{
9-
controller::build::properties::ConfigFileName,
10-
crd::{HdfsNodeRole, v1alpha1},
9+
controller::build::properties::ConfigFileName, crd::HdfsNodeRole,
1110
security::kerberos::KERBEROS_CONTAINER_PATH,
1211
};
1312

@@ -20,9 +19,6 @@ pub enum Error {
2019
source: stackable_operator::memory::Error,
2120
role: String,
2221
},
23-
24-
#[snafu(display("failed to merge jvm argument overrides"))]
25-
MergeJvmArgumentOverrides { source: crate::crd::Error },
2622
}
2723

2824
// All init or sidecar containers must have access to the following settings.
@@ -51,9 +47,8 @@ pub fn construct_global_jvm_args(kerberos_enabled: bool) -> String {
5147
}
5248

5349
pub fn construct_role_specific_jvm_args(
54-
hdfs: &v1alpha1::HdfsCluster,
5550
hdfs_role: &HdfsNodeRole,
56-
role_group: &str,
51+
jvm_argument_overrides: &JvmArgumentOverrides,
5752
kerberos_enabled: bool,
5853
resources: Option<&ResourceRequirements>,
5954
config_dir: &str,
@@ -91,21 +86,20 @@ pub fn construct_role_specific_jvm_args(
9186
));
9287
}
9388

94-
let operator_generated = JvmArgumentOverrides::new_with_only_additions(jvm_args);
95-
let merged_jvm_args = hdfs
96-
.get_merged_jvm_argument_overrides(hdfs_role, role_group, &operator_generated)
97-
.context(MergeJvmArgumentOverridesSnafu)?;
89+
let merged_jvm_args = jvm_argument_overrides.apply_to(jvm_args);
9890

99-
Ok(merged_jvm_args
100-
.effective_jvm_config_after_merging()
101-
.join(" "))
91+
Ok(merged_jvm_args.join(" "))
10292
}
10393

10494
#[cfg(test)]
10595
mod tests {
10696

10797
use super::*;
108-
use crate::{container::ContainerConfig, crd::constants::DEFAULT_NAME_NODE_METRICS_PORT};
98+
use crate::{
99+
container::ContainerConfig,
100+
crd::constants::DEFAULT_NAME_NODE_METRICS_PORT,
101+
test_support::{deserialize_and_validate_cluster, role_group_config},
102+
};
109103

110104
#[test]
111105
fn test_global_jvm_args() {
@@ -123,6 +117,8 @@ mod tests {
123117
kind: HdfsCluster
124118
metadata:
125119
name: hdfs
120+
namespace: test
121+
uid: 8047b73b-db0f-4281-811f-de59105ae6bf
126122
spec:
127123
image:
128124
productVersion: 3.4.2
@@ -151,6 +147,8 @@ mod tests {
151147
kind: HdfsCluster
152148
metadata:
153149
name: hdfs
150+
namespace: test
151+
uid: 8047b73b-db0f-4281-811f-de59105ae6bf
154152
spec:
155153
image:
156154
productVersion: 3.4.2
@@ -196,18 +194,18 @@ mod tests {
196194
}
197195

198196
fn construct_test_role_specific_jvm_args(hdfs_cluster: &str, kerberos_enabled: bool) -> String {
199-
let hdfs: v1alpha1::HdfsCluster =
200-
serde_yaml::from_str(hdfs_cluster).expect("illegal test input");
201-
202197
let role = HdfsNodeRole::Name;
203-
let merged_config = role.merged_config(&hdfs, "default").unwrap();
204-
let container_config = ContainerConfig::from(role);
205-
let resources = container_config.resources(&merged_config);
198+
199+
let validated_cluster = deserialize_and_validate_cluster(hdfs_cluster);
200+
let role_group_config = role_group_config(&validated_cluster, &role, "default");
201+
202+
let resources = ContainerConfig::from(role).resources(&role_group_config.config);
206203

207204
construct_role_specific_jvm_args(
208-
&hdfs,
209205
&role,
210-
"default",
206+
&role_group_config
207+
.product_specific_common_config
208+
.jvm_argument_overrides,
211209
kerberos_enabled,
212210
resources.as_ref(),
213211
"/stackable/config",

0 commit comments

Comments
 (0)