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

[WIP] ✨ Multi-stage cluster addons and hook server #64

Draft
wants to merge 31 commits into
base: main
Choose a base branch
from

Conversation

janiskemper
Copy link
Member

@janiskemper janiskemper commented Feb 14, 2024

What this PR does / why we need it:
This PR is about the multi-stage cluster addons feature.

Tasks:

  • Hook server and Tilt setup
  • Basic Control loop
  • Deleting objects that are removed from one Helm chart version to the next
  • Handle case where Kubernetes version is not upgraded and hook server does not get triggered
  • Put hook server in same container as operator
  • Add debug logs for an audit of how clusteraddons got applied
  • Improve ClusterAddon.status
  • Show debug information in ClusterAddon.status
  • Improve error handling of CEL expressions with conditions
  • Improve error handling of helm template etc. with conditions
  • Testing

Which issue(s) this PR fixes:
Fixes #35

TODOs:

  • squash commits
  • include documentation
  • add unit tests

kranurag7 and others added 8 commits January 17, 2024 14:27
this commit enables CI on addons branch.

Signed-off-by: Anurag <anurag.kumar@syself.com>
Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
Adapt controller with runtime sdk

- API change for hook
- Control loop for new way of cluster addon
- fix hook server
- update packages

Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
…r-addon-api-change

✨ Adapt new cluster stack convention
Update the hook sever service role

Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
…erver-service-acc

🐛 Fix hook server service account and scheme
Add manual upgrade if no k8s version is changed

Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
@jschoone jschoone added the Container Issues or pull requests relevant for Team 2: Container Infra and Tooling label Feb 27, 2024
janiskemper and others added 5 commits March 12, 2024 09:57
…-upgrade

✨ Add manual upgrade if no k8s version is changed
…d and after cluster upgrade

Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
…ter-hook

✨ Update spec.cluster stack only after after controlplane is initialized and after cluster upgrade
- Download old cluster stack release if not present in the pod

Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
…-object

✨ Compare and delete old helm chart objects
kranurag7 and others added 15 commits April 24, 2024 12:07
users on fedora using btrfs filesystem were having issues with capd and
that was fixed on main and it requires building your own image and using
the same here for now.

I tested it by building the image locally and now I don't see any error.
This will be fixed when we upgrade to 1.6.3 or later version.
As of now, we will rely on image built from CAPI main branch and pushed
to ghcr.io/sovereigncloudstack/capd with 1.0.5 tag.

Signed-off-by: kranurag7 <anurag.kumar@syself.com>
🌱 use scs capd image while using docker provider
Add hook server into same container as operator

Adding the hook server into the same container as CSO
Signed-off-by: janiskemper <janis.kemper@syself.com>
…ainer

✨ Add hook server into same container as operator
Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
🌱 Remove helmchartstatus after hook is finished
Add debug log information in the addon controller

Signed-off-by: Aniruddha Basak <aniruddha.basak@syself.com>
🌱 Add debug logs for the multi stage addon
Adding status.resources
Signed-off-by: janiskemper <janis.kemper@syself.com>
✨ Add status resources for the helm charts
Fix overwrite yaml support

Signed-off-by: janiskemper <janis.kemper@syself.com>
use old release kubernetes version from the metadata.yaml

Signed-off-by: janiskemper <janis.kemper@syself.com>
janiskemper and others added 3 commits May 13, 2024 16:03
🌱 Remove kubernetes version from cluster addon api
Remove status.currentHook from the cluster addon

Signed-off-by: janiskemper <janis.kemper@syself.com>
…thook

🌱 Remove status.currentHook from the cluster addon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Container Issues or pull requests relevant for Team 2: Container Infra and Tooling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Concurrent update of Cluster Add-ons can lead to downtime
4 participants