Skip to content

Support ModuleReleaseMeta for Mandatory Modules #2631

@c-pius

Description

@c-pius

Description

Implement the installation of mandatory modules based on ModuleReleaseMeta. See tickets #2630 and #2634 for the exact information in the ModuleReleaseMeta.

KLM shall:

Dev Notes

Investigate whether it is beneficial to keep the mandatory module installation and deletion controllers separate from the regular ones, or if it technically makes more sense to remove the separate controllers and integrate it into the regular ones.

The switch from old to new approach can be done seamlessly by executing the following order:

  1. Release the new fields of ModuleReleaseMeta
  2. Mandatory Module Teams provide the new fields in the ModuleReleaseMeta. ModuleTemplates are continued to be built as before and pushed to KCP
    • as KLM doesn't know the new fields, they are simply ignored
  3. Introduce the changes to KLM switching to the new ModuleReleaseMeta.
    • at time of releasing, make sure that the version in the MRM matches the highest version we have a ModuleTemplate for
      KLM now regocnizes the new format and can handle it
    • with the release of KLM, it switched to the new approach
  4. Remove the the obsolete fields from the ModuleTemplate
    • again, ModuleTemplate may be completely removed for mandatory modules

Caution

The second point above requires module teams to have updated their data and the submission pipeline to support the process. The ticket to track this will be created in #2629. Once there, it should be linked as a prerequisite for releasing the functionality.

Reasons

Carve out from: #2615

KLM shall install mandatory modules with the information available from ModuleReleaseMeta only. No ModuleTemplate involed.

AC

  • When new ModuleReleaseMeta with .spec.mandatory is deployed to KCP
    • Then the module is installed to all SKRs in version .spec.mandatory.version
  • When .spec.mandatory.version is bumped
    • Then the new version of the module is installed
  • When .spec.mandatory.version is reduced
    • Then KLM leaves the current version installed
    • [ ] Then a metric is emitted indicating the misconfiguration of a mandatory module
      • this will be discussed in a separate issue
  • When a ModuleReleaseMeta with .spec.mandatory is removed from KCP
    • Then the module is uninstalled from all SKRs
  • E2E tests updated where necessary

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions