chore!: remove interval field from resource CR#2116
Conversation
Signed-off-by: Frederic Wilhelm <frederic.wilhelm@sap.com>
📝 WalkthroughWalkthroughRemoves the Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
<!-- markdownlint-disable MD041 --> #### What this PR does / why we need it Update the resource API in the conformance tests #### Which issue(s) this PR fixes Follow up for #2116 Signed-off-by: Frederic Wilhelm <frederic.wilhelm@sap.com>
<!-- markdownlint-disable MD041 --> #### What this PR does / why we need it Upate resource API `interval` and `skipVerify`. Found a duplicated guide in `How-To` and `Tutorials` about configuring credentials for the ocm-k8s-toolkit. I kept the How-To because the guide itself is pretty short #### Which issue(s) this PR is related to Related to open-component-model/open-component-model#2116 #### Type of content <!-- Which section does this PR target? See CONTRIBUTING.md for guidance. --> - [ ] Tutorial (`getting-started/` or `tutorials/`) - [ ] How-to Guide (`how-to/`) - [ ] Explanation / Concept (`concepts/`) - [ ] Reference (`reference/`) - [x] Other (infrastructure, config, fixes) #### Checklist - [x] I have read and followed the [Contributing Guide](https://github.com/open-component-model/ocm-website/blob/main/CONTRIBUTING.md) - [x] All commands/code snippets are tested and can be copy-pasted --------- Signed-off-by: Frederic Wilhelm <frederic.wilhelm@sap.com>
<!-- markdownlint-disable MD041 --> #### What this PR does / why we need it Upate resource API `interval` and `skipVerify`. Found a duplicated guide in `How-To` and `Tutorials` about configuring credentials for the ocm-k8s-toolkit. I kept the How-To because the guide itself is pretty short #### Which issue(s) this PR is related to Related to open-component-model/open-component-model#2116 #### Type of content <!-- Which section does this PR target? See CONTRIBUTING.md for guidance. --> - [ ] Tutorial (`getting-started/` or `tutorials/`) - [ ] How-to Guide (`how-to/`) - [ ] Explanation / Concept (`concepts/`) - [ ] Reference (`reference/`) - [x] Other (infrastructure, config, fixes) #### Checklist - [x] I have read and followed the [Contributing Guide](https://github.com/open-component-model/ocm-website/blob/main/CONTRIBUTING.md) - [x] All commands/code snippets are tested and can be copy-pasted --------- Signed-off-by: Frederic Wilhelm <frederic.wilhelm@sap.com> ea2485c
…t-model#792) <!-- markdownlint-disable MD041 --> #### What this PR does / why we need it Upate resource API `interval` and `skipVerify`. Found a duplicated guide in `How-To` and `Tutorials` about configuring credentials for the ocm-k8s-toolkit. I kept the How-To because the guide itself is pretty short #### Which issue(s) this PR is related to Related to open-component-model/open-component-model#2116 #### Type of content <!-- Which section does this PR target? See CONTRIBUTING.md for guidance. --> - [ ] Tutorial (`getting-started/` or `tutorials/`) - [ ] How-to Guide (`how-to/`) - [ ] Explanation / Concept (`concepts/`) - [ ] Reference (`reference/`) - [x] Other (infrastructure, config, fixes) #### Checklist - [x] I have read and followed the [Contributing Guide](https://github.com/open-component-model/ocm-website/blob/main/CONTRIBUTING.md) - [x] All commands/code snippets are tested and can be copy-pasted --------- Signed-off-by: Frederic Wilhelm <frederic.wilhelm@sap.com> Signed-off-by: Gerald Morrison (SAP) <gerald.morrison@sap.com>
…e event buffer
When a worker pool resolution event is dropped (non-blocking channel
send, buffer full), controllers stuck permanently in ResolutionInProgress
because return ctrl.Result{}, nil has no fallback requeue. This became
fatal after removing the interval field from Resource CRs (PR open-component-model#2116).
Changes:
- Add RequeueAfter: 30s on all ResolutionInProgress return paths in
resource, component, and deployer controllers as safety net
- Increase subscriber channel buffer from 10 to 100 to reduce drop
probability
- Deployer now propagates ErrResolutionInProgress to caller for proper
RequeueAfter handling
On-behalf-of: Gerald Morrison (SAP) <gerald.morrison@sap.com>
Signed-off-by: Gerald Morrison (SAP) <gerald.morrison@sap.com>
Summary
intervalfield fromResourceSpecand theGetRequeueAfter()method from theResourcetypeintervalfrom the Resource CRD schema (base + Helm chart) and drop it from therequiredlistMotivation
The
intervalfield on the Resource API is redundant with the existing event-drivenreconciliation model. Unlike Repository and Component, the Resource controller does
not poll an external system directly. Its reconciliation is already triggered by:
GenerationChangedPredicateon the Resource itself.re-enqueues all Resources that reference it.
the controller when an async resolution finishes.
The Component controller is the one that actually polls the OCM repository on its
own interval. When a new component version is discovered, the Component's status
update propagates through the watch chain: Component → Resource → Deployer. Adding
a separate polling interval on the Resource was therefore unnecessary overhead that
could also mask the true source of updates and make debugging harder.
Removing it makes the Resource controller purely reactive and aligns it with the
principle that only the outermost controllers (Repository, Component) that interact
with external systems should own polling intervals.
This is a replacement for #2091 (see comment)