Skip to content
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

[WIP] inventory client rewrite #663

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

karlkfi
Copy link
Contributor

@karlkfi karlkfi commented Mar 19, 2025

No description provided.

sdowell and others added 2 commits March 19, 2025 10:04
This change rewrites the inventory client interface using simple CRUD
methods. Prior to this change the inventory client consisted of several
tightly coupled interfaces which made the client more complicated and
less flexible.

The old client also performed a Get of the inventory many times
throughout the applier/destroyer processes, including before every
update. This approach discarded optimistic concurrency protection since
the resourceVersion was never persisted. The new approach preserves an
internal interface representation of the inventory so that the
resourceVersion can be preserved across updates.

The new client interface is simpler to implement and is intended to
support implementations for sharded inventories, which may consist of
multiple underlying KRM objects. The prior interfaces made assumptions
of a single KRM object in several places, which made it incompatible
with a sharded inventory.
@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Mar 19, 2025
@k8s-ci-robot k8s-ci-robot requested review from ash2k and mortent March 19, 2025 20:18
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: karlkfi

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Mar 19, 2025
@k8s-ci-robot
Copy link
Contributor

@karlkfi: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
cli-utils-presubmit-master 0b9cf56 link true /test cli-utils-presubmit-master
cli-utils-presubmit-master-stress 0b9cf56 link true /test cli-utils-presubmit-master-stress
cli-utils-presubmit-master-e2e 0b9cf56 link true /test cli-utils-presubmit-master-e2e

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants