diff --git a/Cargo.lock b/Cargo.lock index 5a8f7fbb02ed8..32b5d65224009 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4866,9 +4866,9 @@ dependencies = [ [[package]] name = "k8s-controller" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f3b5a24a0a44317e69d8b536f823290725f1bd3eaa6d971c98a7cf995d1ed6" +checksum = "a9a1ba25014e0459f311fb50ece23c42905be914b2eaf66ae801feb07a80847c" dependencies = [ "async-trait", "futures", @@ -4876,6 +4876,7 @@ dependencies = [ "kube-runtime", "rand 0.9.4", "serde", + "serde_json", "thiserror 2.0.18", "tracing", ] diff --git a/Cargo.toml b/Cargo.toml index 39f0d1d7936ef..9c03d709e5243 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -381,7 +381,7 @@ itertools = "0.14.0" jemalloc_pprof = "0.8.2" jsonwebtoken = { version = "10.3.0", features = ["aws_lc_rs"] } junit-report = "0.8.3" -k8s-controller = "0.10.0" +k8s-controller = "0.11.0" k8s-openapi = { version = "0.27.0", features = ["schemars", "v1_32"] } kube = { version = "3.1.0", default-features = false, features = ["client", "derive", "openssl-tls", "runtime", "ws"] } launchdarkly-server-sdk = { version = "2.6.2", default-features = false } diff --git a/src/orchestratord/src/controller/balancer.rs b/src/orchestratord/src/controller/balancer.rs index 08f689a9360f6..54f8413a20617 100644 --- a/src/orchestratord/src/controller/balancer.rs +++ b/src/orchestratord/src/controller/balancer.rs @@ -8,6 +8,7 @@ // by the Apache License, Version 2.0. use anyhow::bail; +use k8s_controller::TraceMetadata; use k8s_openapi::{ api::{ apps::v1::{Deployment, DeploymentSpec, DeploymentStrategy, RollingUpdateDeployment}, @@ -554,6 +555,7 @@ impl k8s_controller::Context for Context { &self, client: Client, balancer: &Self::Resource, + _metadata: &mut TraceMetadata, ) -> Result, Self::Error> { if balancer.status.is_none() { let balancer_api: Api = diff --git a/src/orchestratord/src/controller/console.rs b/src/orchestratord/src/controller/console.rs index fcfa01c653317..c4571c3c26871 100644 --- a/src/orchestratord/src/controller/console.rs +++ b/src/orchestratord/src/controller/console.rs @@ -7,6 +7,7 @@ // the Business Source License, use of this software will be governed // by the Apache License, Version 2.0. +use k8s_controller::TraceMetadata; use k8s_openapi::{ api::{ apps::v1::{Deployment, DeploymentSpec}, @@ -582,6 +583,7 @@ impl k8s_controller::Context for Context { &self, client: Client, console: &Self::Resource, + _metadata: &mut TraceMetadata, ) -> Result, Self::Error> { if console.status.is_none() { let console_api: Api = diff --git a/src/orchestratord/src/controller/materialize.rs b/src/orchestratord/src/controller/materialize.rs index 63cc5648dbed0..1a6c76cae3fb6 100644 --- a/src/orchestratord/src/controller/materialize.rs +++ b/src/orchestratord/src/controller/materialize.rs @@ -15,6 +15,7 @@ use std::{ use anyhow::Context as _; use http::HeaderValue; +use k8s_controller::TraceMetadata; use k8s_openapi::{ api::core::v1::{Affinity, ResourceRequirements, Secret, Toleration}, apimachinery::pkg::apis::meta::v1::{Condition, Time}, @@ -273,6 +274,7 @@ impl k8s_controller::Context for Context { &self, client: Client, mz: &Self::Resource, + _metadata: &mut TraceMetadata, ) -> Result, Self::Error> { let mz_api: Api = Api::namespaced(client.clone(), &mz.namespace()); let balancer_api: Api = Api::namespaced(client.clone(), &mz.namespace()); @@ -888,6 +890,7 @@ impl k8s_controller::Context for Context { &self, _client: Client, mz: &Self::Resource, + _metadata: &mut TraceMetadata, ) -> Result, Self::Error> { self.set_needs_update(mz, false); diff --git a/test/orchestratord/mzcompose.py b/test/orchestratord/mzcompose.py index 904a9cddb22c0..e6251b4de0444 100644 --- a/test/orchestratord/mzcompose.py +++ b/test/orchestratord/mzcompose.py @@ -101,7 +101,7 @@ def get_version(tag: str | None = None) -> MzVersion: def get_image(image: str, tag: str | None) -> str: - return f'{image.rsplit(":", 1)[0]}:{get_tag(tag)}' + return f"{image.rsplit(':', 1)[0]}:{get_tag(tag)}" def get_upgrade_target( @@ -276,7 +276,7 @@ def render_kind_cluster_config() -> None: out_file.write( text.replace( "$DOCKER_CONFIG", - os.getenv("DOCKER_CONFIG", f'{os.environ["HOME"]}/.docker'), + os.getenv("DOCKER_CONFIG", f"{os.environ['HOME']}/.docker"), ) ) @@ -3432,7 +3432,7 @@ def post_run_check(definition: dict[str, Any], expect_fail: bool) -> None: stderr=subprocess.DEVNULL, ) if ( - f"ERROR k8s_controller::controller: Materialize reconciliation error. err=reconciler for object Materialize.v1alpha1.materialize.cloud/{definition['materialize']['metadata']['name']}.materialize-environment failed" + f"ERROR reconciling object{{object.ref=Materialize.v1alpha1.materialize.cloud/{definition['materialize']['metadata']['name']}.materialize-environment" in logs ): break