-
Notifications
You must be signed in to change notification settings - Fork 173
Support 'ignore' mode in ConfigReconciler. #476
Conversation
Hi @sophieliu15. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
@adrianludwin and @yiqigao217 PTAL. As usual, I cannot change existing reviewers. |
I'll review this when the other change goes in but for now: /ok-to-test |
0349e98
to
5f2c839
Compare
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type will be removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type will be removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
/lgtm |
Bear with my dumb question here, but can you confirm the workflow in the following scenario?
Looking at the code, it seems that I'm less concerned about Similarly, it'd seem that in step 1, if I explicitly set If we self correct without a manual 'touch' here then just ignore me :) |
3ba5dcd
to
9fa1a42
Compare
Hi @rjbez17 IIUC, is your concern about configuring a custom resource in the HNCConfiguration object instead of build-in resource (e.g., roles, rolebindings, secrets)? That is a good point. I haven't considered supporting customized resource in
At this point, if
We do not change the spec of
The object reconciler for From my experiment, even you retouch the Once the object reconciler is created, the mode of that object reconciler will be
The This may not be ideal but I feel the solution might more on the documentation side than technical side. For example, we can add in the user guide that:
At the same time, we can also add a feature when we implement the admission controller to automatically remove undefined type from the spec (not sure if this is feasible), but this does not solve the issue that we need to reinstall HNC to recognize custom resource defined while running HNC.
For step 1, if the If the type exists,
Feel free to let me know if there are any questions or your thoughts about this issue. (Also add @adrianludwin in the discussion for his thoughts) |
cb46656
to
5a888a5
Compare
This PR adds the support for 'ignore' mode in ConfigReconciler. Specifically, it adds following features: If the mode of a type is set to 'ignore', the corresponding object reconciler will ignore all subsequent reconciliations (e.g., new or changed objects will not be propagated). If the mode of a type is changed from 'ignore' to 'propagate', reconciliations for all existing objects of the type in the cluster will be triggered. If a mode of a type is unrecognized, it will be treated as 'ignore'. If a mode of a type is unset, it will be treated as 'propagate'. Tested: GKE cluster; unit tests. This PR includes changes introduced in kubernetes-retired#462 Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This is a bug, and I'm pretty sure we can find a way to fix it - let's just file an issue for now. For example, we can add a watch onto CRD types - or maybe just use the webhook to stop it from happening. You can also always just kill the manager pod to restart HNC, you don't need to fully reinstall it. |
@rjbez17 , did Sophie answer your questions? |
Fired #488 to track this issue. |
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type will be removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adrianludwin, rjbez17, sophieliu15 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 |
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'remove' mode in ConfigReconciler. If the mode of a type is set to 'remove', all the propagated objects (i.e., objects created by HNC) of the type willbe removed. However, source objects (i.e., objects created by users) of the type will not be removed. Tested: GKE cluster; unit tests. This PR contains changes introduced in kubernetes-retired#476. Design doc: http://bit.ly/hnc-type-configuration Issue: kubernetes-retired#411
This PR adds the support for 'ignore' mode in ConfigReconciler. Specifically, it adds following features:
Tested: GKE cluster; unit tests.
Design doc: http://bit.ly/hnc-type-configuration
Issue: #411