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

feat: cluster-level resource propagation pause and resume capabilities #4838

Merged
merged 1 commit into from
Aug 6, 2024

Conversation

a7i
Copy link
Contributor

@a7i a7i commented Apr 17, 2024

What type of PR is this?

/kind feature

What this PR does / why we need it:
Ability to suspend work to ensure that changes are not being reconciled.

Which issue(s) this PR fixes:
Fixes #4688

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

cluster-level resource propagation pause and resume capabilities

@karmada-bot karmada-bot added the kind/feature Categorizes issue or PR as related to a new feature. label Apr 17, 2024
@karmada-bot karmada-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Apr 17, 2024
@codecov-commenter
Copy link

codecov-commenter commented Apr 17, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 45.45455% with 18 lines in your changes missing coverage. Please review.

Project coverage is 28.28%. Comparing base (3a4861f) to head (58dbd6b).

Files Patch % Lines
pkg/detector/detector.go 0.00% 5 Missing ⚠️
pkg/controllers/binding/common.go 80.00% 3 Missing ⚠️
.../controllers/multiclusterservice/mcs_controller.go 0.00% 2 Missing ⚠️
pkg/util/helper/work.go 0.00% 2 Missing ⚠️
...equota/federated_resource_quota_sync_controller.go 0.00% 1 Missing ⚠️
pkg/controllers/mcs/service_export_controller.go 0.00% 1 Missing ⚠️
...clusterservice/endpointslice_collect_controller.go 0.00% 1 Missing ⚠️
...lusterservice/endpointslice_dispatch_controller.go 0.00% 1 Missing ⚠️
...controllers/namespace/namespace_sync_controller.go 0.00% 1 Missing ⚠️
...controllers/unifiedauth/unified_auth_controller.go 0.00% 1 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4838      +/-   ##
==========================================
+ Coverage   28.24%   28.28%   +0.03%     
==========================================
  Files         632      632              
  Lines       43753    43777      +24     
==========================================
+ Hits        12360    12381      +21     
- Misses      30492    30493       +1     
- Partials      901      903       +2     
Flag Coverage Δ
unittests 28.28% <45.45%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@karmada-bot
Copy link
Collaborator

@XiShanYongYe-Chang: GitHub didn't allow me to request PR reviews from the following users: CharlesQQ.

Note that only karmada-io members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

Do we need to consider setting pause fields for different clusters so that different pause policies can be set for different work of the same resource?

/cc @CharlesQQ @RainbowMango

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.

@a7i
Copy link
Contributor Author

a7i commented Apr 23, 2024

@XiShanYongYe-Chang What's your feeling on this PR? Should I rebase and keep it up to date or do you not see this as a feature?

@XiShanYongYe-Chang
Copy link
Member

I agree with this feature. I'm currently working on this area to see if karmada can provide users with faster capabilities based on this. I'll sync when I make progress. Thanks.

@XiShanYongYe-Chang
Copy link
Member

Hi @a7i, we discussed how to design the API to provide users with the resources deletion policy in #4788 (comment). This is similar to Work suspension. They both describe the synchronization behavior of resource templates in member clusters, and can be resolved in three ways. Therefore, I'd like to know your opinions on how to design the API. Thanks a lot.

@a7i
Copy link
Contributor Author

a7i commented May 29, 2024

@XiShanYongYe-Chang any updates? it sounds like annotations are preferred over fields on Spec (ref)?

@XiShanYongYe-Chang
Copy link
Member

That's it for now, but there's no discussion about the suspension of the work propagation. I'll continue to analyze this feature starting with the next release (i.e. next month).

@a7i a7i force-pushed the work-suspend branch 2 times, most recently from c0d7bcd to ef4718e Compare June 20, 2024 13:59
Copy link
Member

@RainbowMango RainbowMango left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/assign

@XiShanYongYe-Chang
Copy link
Member

XiShanYongYe-Chang commented Jul 25, 2024

Hi @a7i thanks for your hard work. I think we can take small steps and submit PRs for each of the items you listed.

Is the current completed content ready for review?

@a7i
Copy link
Contributor Author

a7i commented Jul 25, 2024

Yes it is ready, excluding the items listed above

@a7i a7i marked this pull request as ready for review July 25, 2024 20:58
@karmada-bot karmada-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 25, 2024
@whitewindmills
Copy link
Member

/assign

Copy link
Member

@RainbowMango RainbowMango left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
for the API part.
Please assign it to me for approval if no other comments.

Signed-off-by: Amir Alavi <amiralavi7@gmail.com>
Copy link
Member

@XiShanYongYe-Chang XiShanYongYe-Chang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@karmada-bot karmada-bot added the lgtm Indicates that a PR is ready to be merged. label Jul 30, 2024
@karmada-bot
Copy link
Collaborator

@XiShanYongYe-Chang: GitHub didn't allow me to request PR reviews from the following users: CharlesQQ.

Note that only karmada-io members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

Thanks~
/lgtm
/cc @whitewindmills @CharlesQQ @RainbowMango

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.

@a7i
Copy link
Contributor Author

a7i commented Aug 1, 2024

Look forward to your feedback @whitewindmills @CharlesQQ @RainbowMango

@a7i
Copy link
Contributor Author

a7i commented Aug 1, 2024

Created a PR for webhook validation that is rebased on top of this: #5282

Going to create another PR for work status condition and rebase on top of this

@whitewindmills
Copy link
Member

I'll take a look ASAP.

Copy link
Member

@RainbowMango RainbowMango left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
It looks good to me.
@whitewindmills Let's move this forward, we still have time for any further comments.

@karmada-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: RainbowMango

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

@karmada-bot karmada-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 6, 2024
@karmada-bot karmada-bot merged commit 920bace into karmada-io:master Aug 6, 2024
13 checks passed
@a7i a7i deleted the work-suspend branch August 6, 2024 11:54
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. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ability to suspend work
6 participants