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

[Feature Request] Release a 24.04 version #270

Open
gboutry opened this issue Nov 29, 2024 · 12 comments
Open

[Feature Request] Release a 24.04 version #270

gboutry opened this issue Nov 29, 2024 · 12 comments
Labels
enhancement New feature or request

Comments

@gboutry
Copy link

gboutry commented Nov 29, 2024

Enhancement Proposal

This component is deployed in Sunbeam on an infrastructure VM that we'd like to move to 24.04 as default host (along with other components).

Would it be possible to also provide a release for 24.04?

@gboutry gboutry added the enhancement New feature or request label Nov 29, 2024
@gruyaume
Copy link
Contributor

gruyaume commented Dec 3, 2024

Hello @gboutry,

Charmcraft, as of version 3 does not support having multiple bases. This is why, I believe, almost no charm supports both 22.04 and 24.04. Here are the various options.

Option 1: Replace 22.04 with 24.04 as the charm base

This is technically very simple, replace 22.04 with 24.04 in charmcraft.yaml. However, we want to keep on supporting 22.04 and we don't want to maintain a matrix of branches in every charm for:

  • Arch
  • Ubuntu Release
  • Workload version

Option 2: Support different charm bases in 1 repo

While charmcraft.yaml only supports 1 base, we could have different charmcraft.yaml files but we'd need some hackery to build the right charm and the development experience would suffer a bit as charmcraft only looks for charmcraft.yaml. Because multi base support is coming (soon), I want to avoid building temporary hackery.

Option 3: Wait for proper multi base support in charmcraft

As you can see in the references below, the *craft team is working on adding multi-base support to charmcraft. Here we can simply wait for this to be added to charmcraft and leverage it when it's there. As you can imagine, this is my preferred option.

Reference

@gboutry
Copy link
Author

gboutry commented Dec 4, 2024

At the moment, our goal is to release a candidate version before Christmas, where at that point no breaking change would land on edge or beta.

This charm being 22.04 forces one of the machines of the deployment to be in 22.04 while we're trying to move everything to 24.04. Alas, upgrading to 24.04 the machine on a running deployment is not a trivial undertaking.

@gruyaume
Copy link
Contributor

gruyaume commented Dec 4, 2024

@gboutry why not deploy self-signed-certificates on Kubernetes? As far as I know, the Vault Kubernetes charm is used in Sunbeam as well right?

I'm opened to other solutions by the way, if you can find a way to support multiple bases in a sustainable way.

@gboutry
Copy link
Author

gboutry commented Dec 4, 2024

Because we deploy this charm before deploying K8S. It's used to secure communication from the sunbeam client to its state store.

Could it be possible to maintain a 24.04 on a separate branch for the time being and then move to single branch again when multiple base support is added?

@gruyaume
Copy link
Contributor

gruyaume commented Dec 4, 2024

We could branch, we'd be adding an overhead for the engineering team - as we'll need to make changes on those 2 branches.

If we are to support theses multiple bases, I would favor a file-based approach and avoid branching altogether.

@ghislainbourgeois can I get your opinion on this topic?

@ghislainbourgeois
Copy link
Contributor

I think a file based approach would be easier to maintain going forward, it would mean that code fixes would not have to be back ported to another branch.

We should look into how other teams are handling that problem also, particularly around the CI to not reinvent the wheel.

@gruyaume
Copy link
Contributor

gruyaume commented Dec 4, 2024

@ghislainbourgeois I did look around, and I saw no charm using charmcraft 3, and supporting multiple bases, hence my preference for waiting it out and not not investing time on a temporary solution.

@gboutry
Copy link
Author

gboutry commented Dec 4, 2024

ubuntu-advantage charm is an example of a charm targeting 22.04 and 24.04

@gruyaume
Copy link
Contributor

gruyaume commented Dec 4, 2024

Yes, because they're not using charmcraft 3. For reference: https://git.launchpad.net/charm-ubuntu-advantage/tree/charmcraft.yaml

@ghislainbourgeois
Copy link
Contributor

I thought only charmcraft 3 supports 24.04. looking at that charmcraft.yaml, it does not list 24.04, so maybe they use another file for charmcraft 3 for 24.04 support?

@gboutry
Copy link
Author

gboutry commented Dec 4, 2024

They have another branch with a charmcraft.yaml 3 specific that publishes to the same track

@gruyaume
Copy link
Contributor

gruyaume commented Dec 6, 2024

As discussed with @gboutry , the Openstack team will fork the repo, do a sunbeam-ssc charm supporting 24.04 and cross-upgrade the charm back to self-signed-certificates when it supports 24.04.

I'll keep this issue open until supporting multiple bases in the charm ecosystem becomes reasonable again and we can leverage the charmcraft feature.

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
None yet
Development

Successfully merging a pull request may close this issue.

3 participants