[LFX-Mentorship-Term3-2024-Tracking-Issue] Enhance the test coverage for the Karmada search, operator, and webhook components
Upstream Issue
#5236
Legend
- ⬜: No PR issued yet
- ⏳: In Review
- ✅: Merged
Milestone 1 - Karmada Webhooks Test Coverage
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
✅ |
Sep 7-13 | pkg/webhook/propagationpolicy | 0% |
N/A |
#5492 |
#5537 |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/clusterpropagationpolicy | 0% |
N/A |
#5494 |
#5521 |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/overridepolicy | 0% |
N/A |
#5495 |
#5508 #5521 |
N/A |
N/A |
✅ |
Sep 7–13 | pkg/webhook/clusteroverridepolicy | 0% |
N/A |
#5496 |
#5508 |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/resourcebinding | 0% |
N/A |
#5497 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/clusterresourcebinding | 0% |
N/A |
#5498 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/resourcedeletionprotection | 0% |
N/A |
#5499 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/federatedhpa | 0% |
N/A |
#5507 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/multiclusteringress | 0% |
N/A |
#5518 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/work | 0% |
N/A |
#5532 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/interpreter | 0% |
N/A |
#5542 |
N/A |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/federatedresourcequota | 30.2% |
N/A |
#5287 |
#5544 |
N/A |
N/A |
✅ |
Sep 7-13 | pkg/webhook/multiclusterservice | 47.92% |
N/A |
#5517 |
#5521 #5539 |
N/A |
N/A |
✅ |
Sep 7–13 | pkg/webhook/resourceinterpretercustomization | 61.36% |
N/A |
#5562 |
N/A |
N/A |
N/A |
Milestone 2 - Karmada Operator Test Coverage (1/4)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
✅ |
Sep 14–20 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
✅ |
Sep 14–20 | operator/pkg/certs | 0% |
N/A |
#5559 |
#5561 |
N/A |
#5560 #5561 |
✅ |
Sep 14-20 | operator/pkg/controller/karmada | 0% |
N/A |
#5565 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/controlplane | 0% |
N/A |
#5590 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/controlplane/apiserver | 0% |
N/A |
#5576 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/controlplane/etcd | 0% |
N/A |
#5583 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/controlplane/metricsadapter | 0% |
N/A |
#5585 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/controlplane/search | 0% |
N/A |
#5587 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/controlplane/webhook | 0% |
N/A |
#5588 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/karmadaresource/apiservice | 0% |
N/A |
#5596 |
#5602 |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/karmadaresource/rbac | 0% |
N/A |
#5603 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/karmadaresource/webhookconfiguration | 0% |
N/A |
#5605 |
N/A |
N/A |
N/A |
✅ |
Sep 14-20 | operator/pkg/scheme | 0% |
N/A |
#5607 |
N/A |
N/A |
N/A |
Milestone 3 - Karmada Operator Test Coverage (2/4)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
✅ |
Sep 21–27 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
⏳ |
Sep 21–27 | operator/pkg | 0% |
N/A |
#5613 |
#5617 #5616 |
N/A |
N/A |
⏳ |
Sep 21–27 | operator/pkg/tasks/init | 0% |
N/A |
#5624 #5625 #5632 #5634 #5635 #5636 #5638 #5657 #5701 #5704 |
N/A |
N/A |
N/A |
✅ |
Sep 21–27 | operator/pkg/tasks/deinit | 0% |
N/A |
#5643 #5676 #5678 |
N/A |
N/A |
N/A |
Milestone 4 - Karmada Operator Test Coverage (3/4)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
✅ |
Sep 28 - Oct 4 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
✅ |
Sep 28 - Oct 4 | operator/pkg/workflow | 0% |
N/A |
#5647 |
N/A |
N/A |
N/A |
✅ |
Sep 28 - Oct 4 | operator/pkg/util/patcher | 0% |
N/A |
#5652 |
N/A |
N/A |
N/A |
⏳ |
Sep 28 - Oct 4 | operator/pkg/util/apiclient | 0% |
N/A |
#5654 #5659 |
N/A |
N/A |
N/A |
Milestone 5 - Karmada Operator Test Coverage (4/4)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
✅ |
Oct 5-11 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
⏳ |
Oct 5-11 | operator/pkg/util | 0% |
N/A |
#5661 #5665 #5666 #5667 #5675 |
N/A |
N/A |
N/A |
Milestone 6 - Test Coverage Review and Refinement
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
✅ |
Oct 12-18 | Any backlog from previous milestones | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Milestone 7 - Karmada Search Coverage
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
⬜ |
Oct 19-25 | pkg/search/backendstore | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 19-25 | pkg/search/proxy/framework/runtime | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 19-25 | pkg/search/proxy/testing | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 19-25 | pkg/search | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
Milestone 8- Remaining Code Coverage (1/3)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
⬜ |
Oct 26 - Nov 1 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/aggregatedapiserver | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/clusterdiscovery/clusterapi | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/addons/descheduler | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/addons/estimator | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/addons/init | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/addons/install | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/addons/metricsadapter | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/addons/search | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/apply | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/cmdinit/bootstraptoken/agent/tlsbootstrap.go | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/cmdinit/bootstraptoken/clusterinfo | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/cmdinit/karmada/check.go | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Oct 26 - Nov 1 | pkg/karmadactl/cmdinit/karmada/deploy.go | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
Milestone 9 - Remaining Code Coverage (2/3)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
⬜ |
Nov 2-8 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/cordon | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/deinit | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/describe | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/exec | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/get | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/join | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/logs | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/promote | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/register | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/top | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/unjoin | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/karmadactl/util/apiclient | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 2-8 | pkg/metricsadapter | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
Milestone 10 - Remaining Code Coverage (3/3)
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
⬜ |
Nov 9-15 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/metricsadapter/provider | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/metricsadapter/multiclient | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/sharedcli/klogflag | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/sharedcli/profileflag | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/version/sharedcommand | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/apis/work/v1alpha1 | 0% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/addons | 0.79% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/registry/cluster/storage | 4.25% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/registry/search | 12.50% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/registry | 13.40% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/registry/cluster | 14.02% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/registry/search/storage | 15.09% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/options | 17.65% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/sharedcli | 19.70% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/util | 30.87% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/interpret | 31.14% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/metrics | 31.76% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl | 36.51% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/util/genericresource | 38.72% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/cmdinit/kubernetes/deploy.go | 41.55% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/version | 41.67% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/util/testing | 41.67% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/apis/work | 44.36% |
N/A |
N/A |
N/A |
N/A |
N/A |
⬜ |
Nov 9-15 | pkg/karmadactl/taint | 47.34% |
N/A |
N/A |
N/A |
N/A |
N/A |
Milestone 11 - Final Code Review and Coverage Validation
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
⬜ |
Nov 16-20 | Any backlog from previous milestone | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Milestone 12 - Detailed Report on Improved Test Coverage
| Status | Period | Directory | Old Coverage | New Coverage | PR | Code Quality | Docs Quality | Bug Discovery |
|---|---|---|---|---|---|---|---|---|
⬜ |
Nov 21-25 | A Detailed Blog Post Reporting on Improved Test Coverage Across the Project | N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Hi @anujagrawal699,
Do any of these overlap with your project (#5470)? Please let me know if I overlooked something so we can avoid any potential duplication of effort.
Thanks!
Hi @anujagrawal699,
Do any of these overlap with your project (#5470)? Please let me know if I overlooked something so we can avoid any potential duplication of effort.
Thanks!
Hey @mohamedawnallah . Everything looks good and structured. Good Job!
Good job! It's a detailed plan. Let's follow it.
/assign @mohamedawnallah
Update: The ResourceInterpreterCustomization validation admission webhook was not included in Milestone 1 for the webhooks. A PR (#5562) was submitted during Milestone 2 to address this.
Milestone 5 Update: I came across the operator/pkg/apis/operator/v1alpha1 and operator/cmd related to APIs and command options respectively, and I don't see any critical code that requires immediate testing. We can prioritize this later, but if you have a different opinion, please let me know so we can adjust the priorities accordingly.
Milestone 6 Update: I came across pkg/search/proxy/testing mostly related to mocking code and I don't see any critical code that requires immediate testing. We can prioritize this later, but if you have a different opinion, please let me know so we can adjust the priorities accordingly.
Milestone 6 Update: I came across pkg/search/proxy/testing mostly related to mocking code and I don't see any critical code that requires immediate testing. We can prioritize this later, but if you have a different opinion, please let me know so we can adjust the priorities accordingly.
I think it's okay.
Milestone 6 Update: I came across pkg/search/proxy/testing mostly related to mocking code and I don't see any critical code that requires immediate testing. We can prioritize this later, but if you have a different opinion, please let me know so we can adjust the priorities accordingly.
I think it's okay.
agree
Milestone 7 Update: I came across pkg/search/proxy/framework/runtime/framework.go related to framework code and I don't see any critical code that requires immediate testing. We can prioritize this later, but if you have a different opinion, please let me know so we can adjust the priorities accordingly.
Milestone 10 Updates:
I came across the following components:
- pkg/apis/work: This is related to the API specification. I don't see any critical code here that would require immediate testing.
- pkg/karmadactl/util/testing: This pertains to fake testing, and I don't believe there's any critical code that requires urgent testing.
- pkg/version: This is related to version code, particularly the command configurations. Testing these configurations doesn’t seem to be of immediate importance.
- pkg/karmadactl/karmadactl.go: This involves karmadactl command configurations, and similar to the others, I think testing these configurations wouldn't be particularly useful.
In these cases, I don't see any critical code that requires immediate testing. We can prioritize this later, but if you have a different perspective, please let me know so we can adjust the priorities accordingly.
Hi @XiShanYongYe-Chang,
I’m fully committed to completing the remaining unit tests as I planned to enhance code coverage and ensure Karmada achieves an even stronger and more reliable state post-LFX mentorship. Thank you for your invaluable guidance throughout this journey! 🙏
Thank you for your contribution @mohamedawnallah :)
In view of your outstanding performance in the Karmada community, I'd like to invite you to join Karmada as a member. Would you like to do so?
In view of your outstanding performance in the Karmada community, I'd like to invite you to join Karmada as a member. Would you like to do so?
@XiShanYongYe-Chang Yes, it would be an absolute honor to be part of this incredible community. From the moment I made my first contribution, Karmada welcomed me with open arms, and I’ve been excited ever since to contribute to the growth of open-source cloud computing, a space where Karmada truly stands out. 🙏
I will submit a Karmada Membership Issue Request by the end of the day.
I will submit a Karmada Membership Issue Request by the end of the day.
@mohamedawnallah Thank you for your contribution, I am very willing to vote on your Membership Issue.
If there is a new plan, let's follow up. Let's draw a sentence for this issue. Thank you. /close
@XiShanYongYe-Chang: Closing this issue.
In response to this:
If there is a new plan, let's follow up. Let's draw a sentence for this issue. Thank you. /close
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.