How to check which Juju version the charm is using?

i have been trying to instantiate as NS descriptor for magma orchestrator in OSM. But I’m getting this error.

Operation: INSTANTIATING.65223ef7-66d3-4287-838c-889487a6a766, Stage 2/5: deployment of KDUs, VMs and execution environments. Detail: Deploying KDU magma-orc-kdu: ['Charm feature requirements cannot be met:\n - charm requires feature "juju" (version >= 3.0.3) but model currently supports version 2.9.46\n\nFeature descriptions:\n - "juju": the version of Juju used by the model\n\nFor additional information please see: https://juju.is/docs/olm/supported-features']```

So from this error one of my charms in bundle.yaml file using juju v>=3.03, But i need to make sure my charms only use juju version 2.9.46 or lesser. But  I dont know how to check which channel of the charm uses which juju version?

here is the example of bundle.yaml file code.

![Screenshot (374)|690x288](upload://sqOYr6UNfqv1VbnXR2BVGs75kdJ.png)
bundle: kubernetes
name: magma-orc8r
description: |
  Orchestrator is a Magma service that provides a simple and consistent way to
  configure and monitor the wireless network securely. The metrics acquired through the platform
  allows you to see the analytics and traffic flows of the wireless users through the Magma web UI.
applications:
  nms-magmalte:
    charm: magma-nms-magmalte
    channel: beta
    scale: 1
    trust: true
  nms-nginx-proxy:
    charm: magma-nms-nginx-proxy
    channel: beta
    scale: 1
    trust: true
  orc8r-accessd:
    charm: magma-orc8r-accessd
    channel: beta
    scale: 1
    trust: true
  orc8r-alertmanager:
    charm: alertmanager-k8s
    channel: edge
    scale: 1
    trust: true
  orc8r-analytics:
    charm: magma-orc8r-analytics
    channel: beta
    scale: 1
    trust: true
  orc8r-bootstrapper:
    charm: magma-orc8r-bootstrapper
    channel: beta
    scale: 1
    trust: true
  orc8r-certifier:
    charm: magma-orc8r-certifier
    channel: beta
    scale: 1
    trust: true
    options:
      domain: osm.magma.com

I don’t think at the moment there is a way to see which charm supports which juju version, short of downloading the charm juju download, peeking into the zipfile and then in metadata.yaml and search for an assumes: juju statement.

Chances are, unless the charm has separate tracks for earlier-juju-version supports, all other revisions only run on juju 3.

Can you upgrade your controller?

1 Like

Thanks for your quick response @ppasotti. No I can’t upgrade the controller as OSM only supports the juju version 2.9.

oh I see, and did you find out which one of the charms it is that assumes juju3?

No, the error message in the osm only shows this charm requires feature "juju" (version >= 3.0.3) doesn’t explicitly shows which charm it is. And I’m new to Kubernetes, OSM and magma, so it’s challenging to solve the issues.

try deploying the applications one by one instead of using the bundle.

juju deploy magma-nms-magmalte --channel beta --trust nms-magmalte

juju deploy magma-nms-nginx-proxy --channel beta --trust nms-nginx-proxy

and see which one breaks

1 Like

Sure thanks, will try this now.

@ppasotti I found the charm causing the version issue, " alertmanager-k8s" juju deploy alertmanager-k8s --channel edge --trust orc8r-alertmanager Located charm “alertmanager-k8s” in charm-hub, revision 124 Deploying “orc8r-alertmanager” from charm-hub charm “alertmanager-k8s”, revision 124 in channel edge on focal ERROR Charm feature requirements cannot be met:

  • charm requires feature “juju” (version >= 3.0.3) but model currently supports version 2.9.43

Feature descriptions:

  • “juju”: the version of Juju used by the model

I see the other channels and revisions here which one should i choose? as i cant see what juju version they support? also some charms runs on ubuntu 22.04 and some on 20.04 will that be an issue?

I’m afraid alertmanager (as well as all other COS lite charms) only support juju3 by design.

Usually the solution would be to set up a separate juju3 controller where you can run alertmanager and cross-model relate it to your thing, but let me check with the osm folks. it does feel odd that we’re recommending this bundle when it clearly cannot work. Where have you found this bundle by the way, have you been following some official tutorial?

1 Like

I dig deep in to the alert-manager charm different channel releases and their revisions.

They are multiple older releases that were working with juju v2.9, I randomly chose the one above don’t know how using other releases will work. Also alert-manager charm runs on ubuntu 20.04 ( for almost all the releases ’ which i see’ ) but other charms runs on ubuntu 22.04 will this be an issue?

And for the Magma onboarding through OSM I am following the OSM-13 Hackfest , this specific guide OSM-Magma onboaridng (hackfest 13).

The bundle.yaml file is in osm-packages/magma/OSM-13/ magma_orc_cnf/ juju-bundles path. bundle.yaml - Path.

I followed the above guide which is when i encountered the juju version errors.

Initially I followed KNF Onboarding ( Magma-OSM ). But after following out the guide, Instantiating the fb_magma_knf , it is throwing the following error :

I got to kow this error is due to “The rbac.authorization.k8s.io/v1beta1 API version of ClusterRole, ClusterRoleBinding, Role, and RoleBinding is no longer served as of v1.22.”

And the solution is to find a new helm-chart for this NS. which i cant find anywhere.

So I thought solving the juju error might be an easier task compared to this issue, Please let me know if there any other working resources for magma on-boarding through OSM.

Really thanks for all the help I really appreciate it.

Right so I checked with the team that was doing charmed OSM development and the status is that we’re no longer developing that stack. So what’s there is for you to use, but we’re not providing support for it.

You could try to hack together a solution with older revisions of the charms you’re interested in, and I can chip in with tips on how to do certain things if you get stuck on specific problems, but that’s about all I can do for you :slight_smile:

1 Like

thank you so much for your assistance @ppasotti .