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

Closed
haoqing0110 opened this issue Jan 26, 2024 · 6 comments
Closed

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

haoqing0110 opened this issue Jan 26, 2024 · 6 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 #510

  • 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 haoqing0110 moved this to In Progress in OCM releases 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?

@qiujian16
Copy link
Member

@haoqing0110 i think it is done, right?

@haoqing0110
Copy link
Member Author

@qiujian16 we have finished the target in Addon-framework 0.10.0, I think the final goal is to make "the addon is default managed by addon-manager". Need another release to remove the code to force add the annotation addon.open-cluster-management.io/lifecycle: addon-manager and addon is default managed by addon-manager.

@qiujian16
Copy link
Member

maybe create another issue to track this.

@haoqing0110
Copy link
Member Author

#510 will trace the follow-up task.

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: Done
Development

No branches or pull requests

3 participants