If you are like me, developing lots of charms and charm libs, you’ll often find yourself wondering: what version of this library is this specific charm actually using?
The only way to check that is to shell a
find|grep into the unit and find out.
Or is it?
jhack charm vinfo.
zinc-k8s and run
jhack charm vinfo zinc-k8s
But wouldn’t it be even nicer if you could see at a glance which of these libraries are out of date, out of sync, or up to date?
You’d have to
charmcraft list-lib [charm owner of the lib]…
or simply run
jhack charm vinfo -o zinc-k8s and enjoy the beautiful colourfulness of:
which shows that most of those libraries are several minor (or major!) versions behind.
If you’re like me, you sometimes deploy several units of a charm and then hack on them individually, hot-swapping library versions, pushing to a unit some library code that it wasn’t packed with. If that is the case, and you want to be sure that the version information comes from a specific unit, you can simply target it explicitly. The command will work the same:
jhack charm vinfo zinc-k8s/3 will gather the version information from that specific unit.
Todos and future work:
- overview of the charm lib versions in use by the whole model (or multiple apps).
- “true” workload version: container image version, etc… for all resources.
- machine charm support