Juju unable to deploy CentOS charms anymore

Hello,

We rely on Juju to maintain our core infrastructure, we mainly deploy CentOS7 machines. But since the last 2.9.26 release, our operations have halted due to missing support for CentOS7. We have not changed our charms, but now we are unable to deploy them.

This is one example of error:

$ juju deploy slurmd --series centos7
ERROR series "centos7" not supported by charm, supported series are: focal,panther. Use --force to deploy the charm anyway.

$ juju info slurmd | grep centos
supports: focal, centos7

The slurmd-charm clearly supports CentOS7.

I reported this bug on Launchpad: Bug #1964815 ā€œjuju 2.9.26 unable to deploy centos7ā€ : Bugs : juju.

The recent post How to deploy an application with a specific series says that we can’t have a charm for both CentOS and Ubuntu, but it also seems to not be up to date anymore. I am confused about all of this.

Did Juju dropped support for deploying CentOS 7 charms?

Or is this an issue on how we pack our charms? Our charmcraft.yaml contains this:

bases:
  - build-on:
      - name: ubuntu
        channel: "20.04"
    run-on:
      - name: ubuntu
        channel: "20.04"
        architectures: [amd64]
      - name: centos
        channel: "7"
        architectures: [amd64]

This is based on the documentation available at https://juju.is/docs/sdk/charmcraft-config and it was working prior to the last updates.

How can we move forward here? How can we identify where is the problem and solve it?

1 Like

It raises concerns for sure this.

I’m also worried about what will happen with centos8, 9 etc.

I have heared that the centos community has moved into a distro named ā€œrockyā€ while RHEL is the only rpm based distro that will be officially supported by IBM/RedHat.

How will juju continue to support any other OS but Ubuntu future wise?

Which makes me wonder: what Juju needs from an OS image? I noticed the upstream LXD image for CentOS does not work with Juju directly. I couldn’t find much information about that either. And the recent LXD/Juju combo does not boot the CentOS image I have…

1 Like

That is a very good question as it would be relevant information for anyone trying to get juju ported to another distribution.

There should be a complete document on this topic really @tmihoc

Its for sure also something which would cut into the code base as I suspect there are hard coded references which hinders adding other/custom distributions to juju.

For example, the metadata.yaml and charmcraft.yaml will not allow ā€˜unidentified’ series as far as I know. For example debian or suse, mint, rhel etc.

I’d love to see docs on how to create custom CentOS and Ubuntu images to use with Juju on LXD. I spent the last two weeks trying to do that, but so far no luck…

1 Like

There is an older RFE bug around this as well: Bug #1927218 ā€œRFE: unable to deploy machine charm with a base ot...ā€ : Bugs : juju

Just reported a new bug around this as well: Bug #1967136 ā€œjuju 2.9.27 glibc errorsā€ : Bugs : juju

Thanks for the suggestion. I’ll look into this.

1 Like

I’ve asked the Juju team. Here are some answers:

(1) What does Juju need from an OS image?

Cloud-init (the industry standard multi-distribution method for cross-platform cloud instance initialization).

(2) How do you create a custom CentOS / Ubuntu image to use with Juju on LXD?

We don’t have a document on this yet. (We could, but it’s a pretty advanced topic.) However, it might help to check out the following: