Series support is either very confusing or just broken...?

juju deploy cs:~containers/calico --series focal

results in

ERROR calico is not available on the following series: focal not supported

But the calico charm referenced explicitly says it supports focal, both in its page on the charms store and in its metadata.

Am I missing something really obvious? Or is this a bug?

On the face of it, it certainly looks like a bug somewhere. Is it possible that focal images are not yet available for your cloud?

Inspecting the charm’s metadata, it certainly declares its support for focal:

$ charm show ~containers/calico
A robust Software Defined Network from Project Calico

Name			calico
Owner			containers
Revision		698
Supported Series	xenial, bionic, focal
Tags			networking
Subordinate		true
Promulgated		false
Home page		https://github.com/juju-solutions/layer-calico
Bugs url		https://github.com/juju-solutions/layer-calico/issues
Read			everyone
Write			
 			 
CHANNEL			CURRENT
stable			true		
beta			true

Edit: I’ve just deployed an model on AWS with this charm to focal and it’s working fine:

juju deploy ~containers/etcd --series focal
juju deploy ~containers/calico --series focal
juju deploy ~containers/easyrsa --to 0 --series focal
juju deploy -n2 cs:~containers/kubernetes-worker --series focal
juju relate calico etcd
juju relate calico kubernetes-worker
juju relate etcd easyrsa

I’m using MaaS as the cloud. Using a model with default series set to focal. Machines can be added without errors, but I’ve not managed to deploy anything to focal without --force. Same thing happens with other charms.

Update:

juju deploy ~containers/etcd

results in

ERROR etcd is not available on the following series: focal not supported

To clean up before doing this, I ran

juju destroy-model default --yes
juju add-model default
juju switch default
juju model-config default-series=focal

Does this mean that focal support is just not enabled on MaaS? Where could I find out what series a cloud supports? (MaaS does not seem to have any trouble deploying focal machines either manually or through Juju)

FWIW I was able to deploy using MAAS (v.2.6.2) as the backing cloud:

juju add-model discourse
juju model-config default-series=focal
juju deploy ~containers/etcd
juju status

Model      Controller   Cloud/Region  Version  SLA          Timestamp
discourse  mymaas       maas/default  2.7.5    unsupported  05:00:25Z

App   Version  Status       Scale  Charm  Store       Rev  OS      Notes
etcd           maintenance      1  etcd   jujucharms  501  ubuntu  

Unit     Workload     Agent      Machine  Public address  Ports  Message
etcd/0*  maintenance  executing  0        10.230.114.21          (install) installing charm software

Machine  State    DNS            Inst id       Series  AZ       Message
0        started  10.230.114.21  virt-node-10  focal   default  Deployed

I’m using MaaS 2.7.0 and Juju 2.7.6, so assuming there are not regressions, then the message

ERROR {xxxx} is not available on the following series: focal not supported

must be triggered for some other reason. Is there anywhere I can get more information and find out? Logs? Diagnostics? Debug? Where to dig in the source code?

I’ve finally discovered

juju debug-log --replay --include=application-name

and the other logging and debugging tools in the documentation. I’m working my way through to find out what is going on, but so far it doesn’t seem to offer much help as to why this is giving the particular error.

I appreciate that this must be incredibly frustrating for you. Well done on your perseverance.

Working with Juju has been a generally really pleasant experience - the documentation is good, and mostly stuff just works. So thanks! With the web gui, lots of stuff is made ‘explorable’ which really adds to usability… i.e. the option being shown in the gui just lets you know that it’s there and can be used - which makes finding out about certain parts of functionality really easy without reading the documentation.
There are a few bits of charms which don’t work - or which don’t work with non-standard options chosen on the underlying cloud, and surfacing error messages more obviously and easily would really help with that (particularly in the web interface and the juju status output). If something breaks or an agent gets into a loop of things going wrong, etc - just having the latest error message from the debug logs displayed on those screens - or even a hint to use the CLI logging tools - would improve usability a huge amount. Also just a page to view logs in the web gui would be awesome, again just as a way to easily show users a useful feature without going to the docs.