Respect charm revision in air-gapped environment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
Hi,
It is a copy of request from MM:
https:/
At the moment, the air-gapped deployments happens in way:
> juju download mysql --channel 8.0/edge
Fetching charm "mysql" revision 188 using "8.0/edge" channel and base "amd64/
Install the "mysql" charm with:
juju deploy ./mysql_r188.charm
> ls *.charm
mysql_r183.charm mysql_r188.charm postgresql-
> juju deploy ./mysql_r188.charm
Located local charm "mysql", revision 0
Deploying "mysql" from local charm "mysql", revision 0 on ubuntu@22.04/stable
As you can see the revision got dropped from "188" to "0".
It creates a lot of confusion and unnecessary complexity on upgrades.
Goal: invent possibility to deploy juju charms into air-gapped installations holing the charmhub revisions.
P.S. It is already avaiable for SNAPs as store has a concept of ".asserts".
Assert file is downloaded together with .snap file:
https:/
> snap download charmed-mysql --edge
Fetching snap "charmed-mysql"
Fetching assertions for "charmed-mysql"
ls Install the snap with:
snap ack charmed-
snap install charmed-
> ls -la
-rw-rw-r-- 1 ubuntu ubuntu 5635 Sep 5 13:24 charmed-
-rw------- 1 ubuntu ubuntu 111820800 Sep 5 13:24 charmed-
> grep revision charmed-
snap-revision: 69
Unfortunately .assert concept is missing for charmhub.io currently.
I hope, it can be included in the nearest roadmap.
Thank you!
description: | updated |
summary: |
- Respect juju revision in air-gapped environment + Respect charm revision in air-gapped environment |
Changed in juju: | |
importance: | Undecided → Wishlist |
status: | New → Triaged |
tags: | added: canonical-data-platform-eng |
As far as specifics, juju is actually respecting the value that is written to the 'revision' file in the charm. If you "unzip mysql_r188.charm" I'm pretty sure you'll find that:
```
$ cat revision
0
```