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

Migrate add-ons to be managed by addon-manager #355

Open
haoqing0110 opened this issue Jan 26, 2024 · 2 comments
Open

Migrate add-ons to be managed by addon-manager #355

haoqing0110 opened this issue Jan 26, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@haoqing0110
Copy link
Member

haoqing0110 commented Jan 26, 2024

Describe the enhancement

In OCM v0.11.0, we introduced a new component called addon-manager to manage the add-on agent lifecycle. With this introduced, the addon agent has 2 ways to maintain the lifecycle:

  • Let the addon controller itself manage by using framework code (the existing way).
  • Let the addon-manager manage by defining spec.installStrategy in ClusterManagementAddOn.

To avoid conflict, we also introduced annotation addon.open-cluster-management.io/lifecycle in ClusterManagementAddOn to control whether the addon lifecycle is managed by self (framework) or addon-manager.

The addon-manager is disabled by default in OCM v0.11.0 and add-on is by default managed by self.

In OCM v0.12.0, the addon-manager is enabled by default and the addon is still default managed by self.

In the future, we plan to make the addons by default managed by addon-manager, so here is the addon-framework and addon-manager roadmap and migration plan.


OCM v0.12.0 (released)

  • The addon-manager supports the latest addon API.
  • The addon-manager is default enabled.
  • The addon is default managed by self (addon-framework).

addon-framework 0.8.0 (released)

  • Supports the latest addon API.

OCM v0.13.0 (released)

  • The addon is default managed by self (addon-framework).
  • The minimal supported addon-framework version is v0.8.0.

Addon-framework 0.9.0 (released)

  • Mark WithInstallStrategy() as deprecated.
  • The framework will force add annotation addon.open-cluster-management.io/lifecycle: self if the addon calls WithInstallStrategy().
  • The framework requires patch permission on ClusterManagementAddon.

Addon-framework 0.8.1 (released)

  • The framework will force add annotation addon.open-cluster-management.io/lifecycle: self if the addon calls WithInstallStragegy().
  • The framework requires patch permission on ClusterManagementAddon.

OCM v0.14.0

  • The addon is default managed by self (addon-framework).
  • The minimal request addon-framework version is v0.8.1.
  • Addon-manager will add annotation addon.open-cluster-management.io/lifecycle: addon-manager if self is not set.

Addon-framework 0.10.0

  • Remove duplicate config controller code in framework.
  • Remove WithInstallStrategy() func in framework.
  • If use addon-framework, remove annotation addon.open-cluster-management.io/lifecycle: self.

OCM future

  • The addon is default managed by addon-manager.
  • The minimal supported addon-framework version is v0.8.1.
@haoqing0110 haoqing0110 added the enhancement New feature or request label Jan 26, 2024
@haoqing0110 haoqing0110 self-assigned this Jan 26, 2024
@haoqing0110
Copy link
Member Author

@zhujian7
Copy link
Member

@haoqing0110 Can you add a link to the code for WithInstallStrategy() in the description above? So the user can know which specific function was called that will be impacted?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

No branches or pull requests

2 participants