Skip to content

[WIP] Make tags reconcile async#2181

Closed
Jont828 wants to merge 0 commit into
kubernetes-sigs:mainfrom
Jont828:async-tags
Closed

[WIP] Make tags reconcile async#2181
Jont828 wants to merge 0 commit into
kubernetes-sigs:mainfrom
Jont828:async-tags

Conversation

@Jont828
Copy link
Copy Markdown
Contributor

@Jont828 Jont828 commented Mar 18, 2022

What type of PR is this?

/kind feature
What this PR does / why we need it: Implementation of an async service for tags as a follow up for #1610 and #1541.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2142

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

TODOs:

  • squashed commits
  • includes documentation
  • adds unit tests

Release note:

Make tags reconcile async

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Mar 18, 2022
@k8s-ci-robot k8s-ci-robot requested a review from devigned March 18, 2022 22:56
@k8s-ci-robot k8s-ci-robot added the area/provider/azure Issues or PRs related to azure provider label Mar 18, 2022
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 18, 2022
@Jont828
Copy link
Copy Markdown
Contributor Author

Jont828 commented Mar 18, 2022

This is refactor is really awkward and I'm likely going to have to rework quite a bit of it since it doesn't fit neatly in to the ResourceSpecGetter conventions. The tags are identified by Scope instead of name, the client only has the functions GetAtScope and UpdateAtScope(), and furthermore each TagsSpec has up to two distinct operations: merge and delete.

I believe it can work by using spec.ResourceName() to return a Scope, for CreateOrUpdateAsync() to wrap UpdateAtScope(), and having Get() wrap GetAtScope(). Currently Delete() is listed as a no-op and the update/delete operations all happen during Reconcile() which means we'd be calling CreateResource() to patch tag deletion.

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

k8s-ci-robot commented Mar 18, 2022

@Jont828: 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
pull-cluster-api-provider-azure-e2e c710f52 link true /test pull-cluster-api-provider-azure-e2e
pull-cluster-api-provider-azure-ci-entrypoint c710f52 link false /test pull-cluster-api-provider-azure-ci-entrypoint

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.

Details

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/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 29, 2022
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

@Jont828: PR needs rebase.

Details

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/test-infra repository.

@Jont828 Jont828 closed this Mar 30, 2022
@k8s-ci-robot k8s-ci-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Mar 30, 2022
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:

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

Details 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/provider/azure Issues or PRs related to azure provider 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. kind/feature Categorizes issue or PR as related to a new feature. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

async tags

2 participants