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

[ModuleCatalog] Implement Logic for ModuleReleaseMeta CRD in Kyma Reconcile Loop #1849

Closed
3 tasks done
jeremyharisch opened this issue Sep 9, 2024 · 2 comments · Fixed by #1947
Closed
3 tasks done
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@jeremyharisch
Copy link
Contributor

jeremyharisch commented Sep 9, 2024

Description:

We need to implement the logic to utilize the newly created ModuleReleaseMeta CRD in the Kyma reconcile loop. Currently, we fetch and filter ModuleTemplates based on the channel specified in ModuleTemplate.spec. This logic needs to be updated to fetch the appropriate ModuleTemplate by using the information from the ModuleReleaseMeta CRD.

Detailed decision ticket: #1815

New Logic:

  • In the Kyma reconcile loop:
    • Instead of fetching all ModuleTemplates and filtering by the channel specified in ModuleTemplate.spec, first fetch the ModuleReleaseMeta CR.
    • Use the channel specified in the Kyma.spec for the module.
    • Then, check the corresponding version from the ModuleReleaseMeta.spec.
    • Fetch the matching ModuleTemplate based on this version.
  • Introduce a naming pattern for ModuleReleaseMeta to simplify the fetching process, it needs to be well-documented (just the module name).
    • Use the naming pattern for ModuleTemplate CRs as well (modulename-versionnumber)

Acceptance Criteria:

  • Adapt the current implementation to follow the new logic of using ModuleReleaseMeta for fetching ModuleTemplates.
  • Adapt all relevant tests to reflect this new functionality.
  • Adapt existing documentation and add new feature documentation explaining the usage of ModuleReleaseMeta, including any naming patterns introduced.
@c-pius
Copy link
Contributor

c-pius commented Sep 10, 2024

ModuleReleaseMeta CRs should be cached using a TTL cache

Can we really cache it? When it changes, we enqueue a reconcile event for the related kymas which should then fetch the up to date version, and not a maybe outdated one from the cache

Consider introducing a naming pattern for ModuleReleaseMeta to simplify the fetching process. If this is decided upon, the naming pattern needs to be well-documented.

I think the naming pattern must already be defines as part of #1848. But I think it can be as simple as the module name?

@c-pius c-pius changed the title Implement Logic for ModuleReleaseMeta CRD in Kyma Reconcile Loop [ModuleCatalog] Implement Logic for ModuleReleaseMeta CRD in Kyma Reconcile Loop Sep 10, 2024
@jeremyharisch jeremyharisch added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 11, 2024
@janmedrek
Copy link
Contributor

Depends on: #1848

@nesmabadr nesmabadr self-assigned this Oct 7, 2024
nesmabadr added a commit to kyma-project/template-operator that referenced this issue Oct 14, 2024
<!-- Thank you for your contribution. Before you submit the pull
request:
1. Follow contributing guidelines, templates, the recommended Git
workflow, and any related documentation.
2. Read and submit the required Contributor Licence Agreements
(https://github.com/kyma-project/community/blob/main/CONTRIBUTING.md#agreements-and-licenses).
3. Test your changes and attach their results to the pull request.
4. Update the relevant documentation.

If the pull request requires a decision, follow the [decision-making
process](https://github.com/kyma-project/community/blob/main/governance.md)
and replace the PR template with the [decision record
template](https://github.com/kyma-project/community/blob/main/.github/ISSUE_TEMPLATE/decision-record.md).
-->

**Description**

Changes proposed in this pull request:

- Introduce module-release-meta to be used in E2E tests

**Related issue(s)**
kyma-project/lifecycle-manager#1849
@nesmabadr nesmabadr removed their assignment Oct 14, 2024
@ruanxin ruanxin assigned nesmabadr and unassigned ruanxin Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
5 participants