Skip to content

Commit 482f747

Browse files
authored
chore: Update to stackable-operator 0.95.0 (#971)
* chore: Update to stackable-operator 0.95.0 * regenerate nix * use upstream tag * Update nix stuff * In tests use expect over unwrap
1 parent 0c39850 commit 482f747

File tree

13 files changed

+1249
-562
lines changed

13 files changed

+1249
-562
lines changed

Cargo.lock

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

Cargo.nix

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

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ repository = "https://github.com/stackabletech/zookeeper-operator"
1111

1212
[workspace.dependencies]
1313
product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.7.0" }
14-
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.94.0" }
14+
stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.95.0" }
1515

1616
anyhow = "1.0"
1717
built = { version = "0.8", features = ["chrono", "git2"] }
@@ -31,7 +31,7 @@ tokio = { version = "1.40", features = ["full"] }
3131
tokio-zookeeper = "0.4"
3232
tracing = "0.1"
3333

34-
#[patch."https://github.com/stackabletech/operator-rs"]
34+
# [patch."https://github.com/stackabletech/operator-rs"]
3535
# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" }
3636

3737
[patch.crates-io]

crate-hashes.json

Lines changed: 7 additions & 7 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: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ fn construct_jvm_args(
3333
zk: &ZookeeperCluster,
3434
role: &Role<ZookeeperConfigFragment, ZookeeperServerRoleConfig, JavaCommonConfig>,
3535
role_group: &str,
36+
product_version: &str,
3637
) -> Result<Vec<String>, Error> {
37-
let logging_framework = zk.logging_framework();
38+
let logging_framework = zk.logging_framework(product_version);
3839

3940
let jvm_args = vec![
4041
format!("-Djava.security.properties={STACKABLE_CONFIG_DIR}/{JVM_SECURITY_PROPERTIES_FILE}"),
@@ -67,8 +68,9 @@ pub fn construct_non_heap_jvm_args(
6768
zk: &ZookeeperCluster,
6869
role: &Role<ZookeeperConfigFragment, ZookeeperServerRoleConfig, JavaCommonConfig>,
6970
role_group: &str,
71+
product_version: &str,
7072
) -> Result<String, Error> {
71-
let mut jvm_args = construct_jvm_args(zk, role, role_group)?;
73+
let mut jvm_args = construct_jvm_args(zk, role, role_group, product_version)?;
7274
jvm_args.retain(|arg| !is_heap_jvm_argument(arg));
7375

7476
Ok(jvm_args.join(" "))
@@ -122,8 +124,15 @@ mod tests {
122124
replicas: 1
123125
"#;
124126
let (zookeeper, merged_config, role, rolegroup) = construct_boilerplate(input);
125-
let non_heap_jvm_args = construct_non_heap_jvm_args(&zookeeper, &role, &rolegroup).unwrap();
126-
let zk_server_heap_env = construct_zk_server_heap_env(&merged_config).unwrap();
127+
let non_heap_jvm_args = construct_non_heap_jvm_args(
128+
&zookeeper,
129+
&role,
130+
&rolegroup,
131+
zookeeper.spec.image.product_version(),
132+
)
133+
.expect("test: function must pass");
134+
let zk_server_heap_env =
135+
construct_zk_server_heap_env(&merged_config).expect("test: function must pass");
127136

128137
assert_eq!(
129138
non_heap_jvm_args,
@@ -167,8 +176,15 @@ mod tests {
167176
- -Dhttps.proxyPort=1234
168177
"#;
169178
let (zookeeper, merged_config, role, rolegroup) = construct_boilerplate(input);
170-
let non_heap_jvm_args = construct_non_heap_jvm_args(&zookeeper, &role, &rolegroup).unwrap();
171-
let zk_server_heap_env = construct_zk_server_heap_env(&merged_config).unwrap();
179+
let non_heap_jvm_args = construct_non_heap_jvm_args(
180+
&zookeeper,
181+
&role,
182+
&rolegroup,
183+
zookeeper.spec.image.product_version(),
184+
)
185+
.expect("test: function must pass");
186+
let zk_server_heap_env =
187+
construct_zk_server_heap_env(&merged_config).expect("test: function must pass");
172188

173189
assert_eq!(
174190
non_heap_jvm_args,
@@ -197,8 +213,12 @@ mod tests {
197213
let rolegroup_ref = zookeeper.server_rolegroup_ref("default");
198214
let merged_config = zookeeper
199215
.merged_config(&zookeeper_role, &rolegroup_ref)
200-
.unwrap();
201-
let role = zookeeper.spec.servers.clone().unwrap();
216+
.expect("test: merged config can be created");
217+
let role = zookeeper
218+
.spec
219+
.servers
220+
.clone()
221+
.expect("test: server role is defined in the ZookeeperCluster");
202222

203223
(zookeeper, merged_config, role, "default".to_owned())
204224
}

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

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ use stackable_operator::{
2727
product_logging::{self, spec::Logging},
2828
role_utils::{GenericRoleConfig, JavaCommonConfig, Role, RoleGroup, RoleGroupRef},
2929
schemars::{self, JsonSchema},
30+
shared::time::Duration,
3031
status::condition::{ClusterCondition, HasStatusCondition},
31-
time::Duration,
3232
utils::cluster_info::KubernetesClusterInfo,
3333
versioned::versioned,
3434
};
@@ -88,10 +88,6 @@ pub const DOCKER_IMAGE_BASE_NAME: &str = "zookeeper";
8888
const DEFAULT_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT: Duration = Duration::from_minutes_unchecked(2);
8989
pub const DEFAULT_LISTENER_CLASS: &str = "cluster-internal";
9090

91-
mod built_info {
92-
pub const CARGO_PKG_VERSION: &str = env!("CARGO_PKG_VERSION");
93-
}
94-
9591
#[derive(Snafu, Debug)]
9692
pub enum Error {
9793
#[snafu(display("object has no namespace associated"))]
@@ -520,22 +516,14 @@ impl ZookeeperPodRef {
520516
}
521517

522518
impl v1alpha1::ZookeeperCluster {
523-
pub fn logging_framework(&self) -> LoggingFramework {
524-
let version = self
525-
.spec
526-
.image
527-
.resolve(
528-
DOCKER_IMAGE_BASE_NAME,
529-
crate::crd::built_info::CARGO_PKG_VERSION,
530-
)
531-
.product_version;
519+
pub fn logging_framework(&self, product_version: &str) -> LoggingFramework {
532520
let zookeeper_versions_with_log4j = [
533521
"1.", "2.", "3.0.", "3.1.", "3.2.", "3.3.", "3.4.", "3.5.", "3.6.", "3.7.",
534522
];
535523

536524
if zookeeper_versions_with_log4j
537525
.into_iter()
538-
.any(|prefix| version.starts_with(prefix))
526+
.any(|prefix| product_version.starts_with(prefix))
539527
{
540528
LoggingFramework::LOG4J
541529
} else {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use stackable_operator::{
2222
client::Client,
2323
crd::authentication::core,
2424
k8s_openapi::api::core::v1::Volume,
25-
time::Duration,
25+
shared::time::Duration,
2626
};
2727

2828
use crate::{

rust/operator-binary/src/discovery.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ pub fn build_discovery_configmap(
104104
.with_recommended_labels(build_recommended_labels(
105105
owner,
106106
controller_name,
107-
&resolved_product_image.app_version_label,
107+
&resolved_product_image.app_version_label_value,
108108
&ZookeeperRole::Server.to_string(),
109109
"discovery",
110110
))

rust/operator-binary/src/listener.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub fn build_role_listener(
6262
.with_recommended_labels(build_recommended_labels(
6363
zk,
6464
ZK_CONTROLLER_NAME,
65-
&resolved_product_image.app_version_label,
65+
&resolved_product_image.app_version_label_value,
6666
&zk_role.to_string(),
6767
"none", // TODO (@NickLarsenNZ): update build_recommended_labels to have an optional role_group
6868
))

rust/operator-binary/src/main.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,15 @@ async fn main() -> anyhow::Result<()> {
6868
Command::Run(ProductOperatorRun {
6969
product_config,
7070
watch_namespace,
71-
telemetry_arguments,
72-
cluster_info_opts,
71+
operator_environment: _,
72+
telemetry,
73+
cluster_info,
7374
}) => {
7475
// NOTE (@NickLarsenNZ): Before stackable-telemetry was used:
7576
// - The console log level was set by `ZOOKEEPER_OPERATOR_LOG`, and is now `CONSOLE_LOG` (when using Tracing::pre_configured).
7677
// - The file log level was set by `ZOOKEEPER_OPERATOR_LOG`, and is now set via `FILE_LOG` (when using Tracing::pre_configured).
7778
// - The file log directory was set by `ZOOKEEPER_OPERATOR_LOG_DIRECTORY`, and is now set by `ROLLING_LOGS_DIR` (or via `--rolling-logs <DIRECTORY>`).
78-
let _tracing_guard =
79-
Tracing::pre_configured(built_info::PKG_NAME, telemetry_arguments).init()?;
79+
let _tracing_guard = Tracing::pre_configured(built_info::PKG_NAME, telemetry).init()?;
8080

8181
tracing::info!(
8282
built_info.pkg_version = built_info::PKG_VERSION,
@@ -93,7 +93,7 @@ async fn main() -> anyhow::Result<()> {
9393
])?;
9494
let client = stackable_operator::client::initialize_operator(
9595
Some(OPERATOR_NAME.to_string()),
96-
&cluster_info_opts,
96+
&cluster_info,
9797
)
9898
.await?;
9999

0 commit comments

Comments
 (0)