-
Notifications
You must be signed in to change notification settings - Fork 47
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
local_overlay support for charmcraft built charms #579
Comments
I like the general direction of this idea, and I'd like to add a suggestion. Rather than have zaza "guess" which is the right charm, why not change the I'm not sure what the best format would be, but maybe something like: I'm suggesting that |
On Mon, 2022-10-10 at 05:45 -0700, Alex Kavanagh wrote:
I like the general direction of this idea, and I'd like to add a suggestion.
Rather than have zaza "guess" which is the right charm, why not change the charm: keyword into
something that is explicit about needing to be changed. This would allow multiple charms to be
'overlay-ed' as required.
I'm not sure what the best format would be, but maybe something like: charm:
"overlay(charm=keystone, arch=$arch, base_in=22.04)" which would also the overlay bit to be
matched, and then the other parts to be matched against various charms available.
I'm suggesting that $arch be 'set' by zaza to amd64 (the default) but in time grow to work against
other arches, and that, say, "overlay(charm=keystone, base_in=22.04)" would default to am64.
The base can be read from the bundle (e.g. "series: jammy"), IIRC the distro-info package has
(python) code to transform from series codename to it's version.
The architecture can be obtained from the juju model, for example in s390x deployments we run "juju
set-model-constraints arch=s390x" otherwise juju assumes amd64.
About overlaying multiple charms, sounds like a good idea, but I think that's something we need to
make in tandem with zosci, an ansible task specifically, for example a task that downloads all the
charms that are needed reading the "Depends-On" header and leaving all those *.charm files in a
"builds" directory, so zaza can identify all the ones present in that dir and prepare an overlay for
them.
|
Charms that define multiple bases can produce multiple output files with long names (e.g. octavia_ubuntu-20.04_ubuntu-22.04.charm), this makes more time consuming to have the testing bundles right, but also you have to keep them updated as bases get dropped and added to enable new ubuntu series.
It would be nice if the local_overlay flag could programmatically detect what's the right charm for a bundle, it would be necessary to read the
series
key in the bundle, at the top level and at the application level, e.g:^ in this case the overlay generated should look something like this:
The text was updated successfully, but these errors were encountered: