-
Couldn't load subscription status.
- Fork 11
Simplify dynamic watch setup version separation #219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Danil-Grigorev
merged 3 commits into
rancher:main
from
Danil-Grigorev:simplify-dynamic-watches
Mar 24, 2025
Merged
Simplify dynamic watch setup version separation #219
Danil-Grigorev
merged 3 commits into
rancher:main
from
Danil-Grigorev:simplify-dynamic-watches
Mar 24, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9523bf8 to
55fd9f4
Compare
55fd9f4 to
6decc81
Compare
- Move BundleNamespaceMapping cleanup into Class reconciler - Remove finalizer from ClusterGroup, causing issues - Refactor controllers to use stable API (duplicate cache for ClusterGroup) - Fix hot loop on Helm install due to chart version compare issue Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com>
Current setup allows to use functionality available for k/k 1.32+ already with streaming_list() option by piggybacking type_meta population on serialization as a typed object first with k/k below 1.32. `TypeMeta` for core types in this scenario is always populated by `k8s_openapi` implementation, even though list response does omit type_meta for the inner set of objects. Main differentiator here, is that streaming_list uses only `watch`, which never omits type_meta of the resource, while regular watch setup issues `list` request to collect initial events. For the `Cluster` object defined as a `CRD`, `to_dynamic_event` performs necessary conversion with type_meta population in-place. Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com>
Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com>
b28c6a9 to
091a228
Compare
Danil-Grigorev
added a commit
to Danil-Grigorev/cluster-api-addon-provider-fleet
that referenced
this pull request
Mar 24, 2025
* Drop finalizer on ClusterGroup - Move BundleNamespaceMapping cleanup into Class reconciler - Remove finalizer from ClusterGroup, causing issues - Refactor controllers to use stable API (duplicate cache for ClusterGroup) - Fix hot loop on Helm install due to chart version compare issue Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Simplify dynamic watch setup version separation Current setup allows to use functionality available for k/k 1.32+ already with streaming_list() option by piggybacking type_meta population on serialization as a typed object first with k/k below 1.32. `TypeMeta` for core types in this scenario is always populated by `k8s_openapi` implementation, even though list response does omit type_meta for the inner set of objects. Main differentiator here, is that streaming_list uses only `watch`, which never omits type_meta of the resource, while regular watch setup issues `list` request to collect initial events. For the `Cluster` object defined as a `CRD`, `to_dynamic_event` performs necessary conversion with type_meta population in-place. Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Implement default handling as trait extension Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> --------- Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com>
Danil-Grigorev
added a commit
that referenced
this pull request
Mar 24, 2025
* chore(deps): Bump opentelemetry_sdk from 0.28.0 to 0.29.0 (#223) Bumps [opentelemetry_sdk](https://github.com/open-telemetry/opentelemetry-rust) from 0.28.0 to 0.29.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases) - [Commits](open-telemetry/opentelemetry-rust@opentelemetry_sdk-0.28.0...opentelemetry_sdk-0.29.0) --- updated-dependencies: - dependency-name: opentelemetry_sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * chore(deps): Bump opentelemetry-otlp from 0.28.0 to 0.29.0 (#222) Bumps [opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust) from 0.28.0 to 0.29.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases) - [Commits](open-telemetry/opentelemetry-rust@opentelemetry-otlp-0.28.0...opentelemetry-otlp-0.29.0) --- updated-dependencies: - dependency-name: opentelemetry-otlp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Simplify dynamic watch setup version separation (#219) * Drop finalizer on ClusterGroup - Move BundleNamespaceMapping cleanup into Class reconciler - Remove finalizer from ClusterGroup, causing issues - Refactor controllers to use stable API (duplicate cache for ClusterGroup) - Fix hot loop on Helm install due to chart version compare issue Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Simplify dynamic watch setup version separation Current setup allows to use functionality available for k/k 1.32+ already with streaming_list() option by piggybacking type_meta population on serialization as a typed object first with k/k below 1.32. `TypeMeta` for core types in this scenario is always populated by `k8s_openapi` implementation, even though list response does omit type_meta for the inner set of objects. Main differentiator here, is that streaming_list uses only `watch`, which never omits type_meta of the resource, while regular watch setup issues `list` request to collect initial events. For the `Cluster` object defined as a `CRD`, `to_dynamic_event` performs necessary conversion with type_meta population in-place. Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Implement default handling as trait extension Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> --------- Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Danil-Grigorev
added a commit
to Danil-Grigorev/cluster-api-addon-provider-fleet
that referenced
this pull request
Mar 26, 2025
* Drop finalizer on ClusterGroup - Move BundleNamespaceMapping cleanup into Class reconciler - Remove finalizer from ClusterGroup, causing issues - Refactor controllers to use stable API (duplicate cache for ClusterGroup) - Fix hot loop on Helm install due to chart version compare issue Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Simplify dynamic watch setup version separation Current setup allows to use functionality available for k/k 1.32+ already with streaming_list() option by piggybacking type_meta population on serialization as a typed object first with k/k below 1.32. `TypeMeta` for core types in this scenario is always populated by `k8s_openapi` implementation, even though list response does omit type_meta for the inner set of objects. Main differentiator here, is that streaming_list uses only `watch`, which never omits type_meta of the resource, while regular watch setup issues `list` request to collect initial events. For the `Cluster` object defined as a `CRD`, `to_dynamic_event` performs necessary conversion with type_meta population in-place. Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> * Implement default handling as trait extension Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com> --------- Signed-off-by: Danil-Grigorev <danil.grigorev@suse.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Current setup allows to use functionality available for k/k 1.32+ already with streaming_list() option by piggybacking type_meta population on serialization as a typed object first with k/k below 1.32.
TypeMetafor core types in this scenario is always populated byk8s_openapiimplementation, even though list response does omit type_meta for the inner set of objects.Main differentiator here, is that streaming_list uses only
watch, which never omits type_meta of the resource, while regular watch setup issueslistrequest to collect initial events.For the
Clusterobject defined as aCRD,to_dynamic_eventperforms necessary conversion with type_meta population in-place.