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

enhancement (CollaSet): support ResourceContext after CollaSet is del… #40

Merged
merged 2 commits into from
Aug 21, 2023

Conversation

wu8685
Copy link
Collaborator

@wu8685 wu8685 commented Aug 18, 2023

…eted

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

  • N
  • Y

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

6. Release note

Please refer to Release Notes Language Style Guide to write a quality release note.

If a CollaSet is being deleted, ResourceContext details owned by this CollaSet should be auto removed.

@wu8685 wu8685 self-assigned this Aug 18, 2023
@wu8685 wu8685 added kind/enhancement New feature or request operating labels Aug 18, 2023
@wu8685 wu8685 force-pushed the collaset-reclaim-resourcecontext branch from 5823841 to 8daa97b Compare August 18, 2023 14:26
return err
}

return controllerutils.RemoveFinalizer(context.TODO(), r, cls, preReclaimFinalizer)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Checking and removing finalizer can both be in or out this func together to avoid some confusing.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

podContext := &appsv1alpha1.ResourceContext{}
if err := c.Get(context.TODO(), types.NamespacedName{Namespace: instance.Namespace, Name: contextName}, podContext); err != nil {
if !errors.IsNotFound(err) {
return fmt.Errorf("fail to find ResourceContext %s/%s: %s", instance.Namespace, contextName, err)
}

if emptyOwnerIDs {
Copy link
Collaborator

Choose a reason for hiding this comment

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

if len(ownedIDs) == 0 {
return nil
}

will be more simple.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

@@ -248,3 +266,20 @@ func (r *CollaSetReconciler) updateStatus(ctx context.Context, instance *appsv1a

return err
}

func (r *CollaSetReconciler) ensurePreReclaimFinalizer(cls *appsv1alpha1.CollaSet) (bool, error) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

What about adding another func EnsureFinalizer in package utils?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fixed

@wu8685 wu8685 merged commit 93d00d0 into main Aug 21, 2023
5 checks passed
@wu8685 wu8685 deleted the collaset-reclaim-resourcecontext branch August 21, 2023 15:15
@github-actions github-actions bot locked and limited conversation to collaborators Aug 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/enhancement New feature or request operating
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants