canonical / k8s-operator

Machine charm for K8s following the operator framework
Apache License 2.0
4 stars 1 forks source link

ERROR os "ubuntu" version "24.04" not found #107

Closed mcarvalhor closed 2 weeks ago

mcarvalhor commented 6 months ago

Bug Description

I couldn't deploy Canonical K8s charm on an series other than 24.04 - even when explicitly specifying the Ubuntu series.

If I run: juju deploy k8s my-k8s-test-application --channel=latest/edge --revision=59 --series=jammy Juju says: WARNING series flag is deprecated, use --base instead ERROR os "ubuntu" version "24.04" not found

If I run: juju deploy k8s my-k8s-test-application --channel=latest/edge --revision=59 --base='ubuntu@24.04' Juju says: ERROR os "ubuntu" version "24.04" not found

The current workaround is: using revision 47 - later revisions fail.

To Reproduce

  1. juju deploy k8s my-k8s-test-application --channel=latest/edge --revision=59 --base='ubuntu@22.04'
  2. Fails.

Environment

stg-is-new-canonical-k8s-testing@is-bastion-ps6

Channel: latest/edge Failing revisions: 48 and above Working revisions: 47 and below Juju Controller/Model: 3.1.8 Juju client: 3.1.8-ubuntu-amd64

Relevant log output

`juju debug-log` is empty because nothing is even deployed.

Additional context

We have Ubuntu 24.04 available on the cloud. For instance, juju add-machine --base="ubuntu@24.04" works and creates a Noble VM.

addyess commented 6 months ago

https://discourse.charmhub.io/t/juju-support-for-the-latest-lts-release-noble-numbat-24-04/14051

i'm not sure how to deploy to noble. I think this is a issue of juju

⚡ juju deploy k8s focal-k8s --channel=1.30/edge --base=ubuntu@20.04
Deployed "focal-k8s" from charm-hub charm "k8s", revision 58 in channel 1.30/beta on ubuntu@20.04/stable

addyess@addyess-dell /home/addyess                                                                                           
⚡ juju deploy k8s jammy-k8s --channel=1.30/edge --base=ubuntu@22.04
Deployed "jammy-k8s" from charm-hub charm "k8s", revision 58 in channel 1.30/beta on ubuntu@22.04/stable

addyess@addyess-dell /home/addyess                                                                                           
⚡ juju deploy k8s noble-k8s --channel=1.30/edge --base=ubuntu@24.04
ERROR os "ubuntu" version "24.04" not found
addyess commented 6 months ago

The charm is ready to support 24.04 when juju can make it work. I've been trying with juju3.5

⚡ charmcraft status k8s
Track    Base                  Channel    Version    Revision                                                               
latest   ubuntu 20.04 (amd64)  stable     -          -                                                                      
                               candidate  -          -                                                                      
                               beta       -          -                                                                      
                               edge       59         59                                                                     
         ubuntu 22.04 (amd64)  stable     -          -                                                                      
                               candidate  -          -                                                                      
                               beta       -          -                                                                      
                               edge       59         59                                                                     
         ubuntu 24.04 (amd64)  stable     -          -                                                                      
                               candidate  -          -                                                                      
                               beta       -          -                                                                      
                               edge       59         59                                                                     
1.30     ubuntu 20.04 (amd64)  stable     -          -                                                                      
                               candidate  -          -                                                                      
                               beta       58         58                                                                     
                               edge       ↑          ↑                                                                      
         ubuntu 22.04 (amd64)  stable     -          -                                                                      
                               candidate  -          -                                                                      
                               beta       58         58                                                                     
                               edge       ↑          ↑                                                                      
         ubuntu 24.04 (amd64)  stable     -          -                                                                      
                               candidate  -          -                                                                      
                               beta       58         58                                                                     
                               edge       ↑          ↑    
mcarvalhor commented 6 months ago

Strangely running juju deploy k8s focal-k8s --channel=1.30/edge --base=ubuntu@20.04 on my environment (juju v3.1.8) shows this error: ERROR storing charm "k8s": retrieving essential metadata for charm "ch:amd64/focal/k8s-58": resolving origin for "ch:amd64/focal/k8s-58": os "ubuntu" version "24.04" not found (not found)

Even though I am explicitly asking for focal (20.04), it tries to deploy to 24.04 it looks like?

addyess commented 6 months ago

@hmlanigan Can you comment on whether or not juju is acting appropriately here

the k8s charm is

  - build-on:
    - name: ubuntu
      channel: "20.04"
      architectures: [amd64]
    run-on:
    - name: ubuntu
      channel: "20.04"
      architectures: [amd64]
    - name: ubuntu
      channel: "22.04"
      architectures: [amd64]
    - name: ubuntu
      channel: "24.04"
      architectures: [amd64]
hmlanigan commented 6 months ago

@addyess ubuntu 24.04 is supported with juju 3.4 and higher.

addyess commented 6 months ago

Success with juju 3.5

⚡ juju status
Model  Controller       Cloud/Region    Version  SLA          Timestamp
k8s    addyess-vsphere  vsphere/Boston  3.5.0    unsupported  13:14:06-05:00

App        Version  Status  Scale  Charm  Channel      Rev  Exposed  Message
noble-k8s  1.30.0   active      1  k8s    latest/edge   59  no       Ready

Unit          Workload  Agent  Machine  Public address  Ports     Message
noble-k8s/2*  active    idle   2        10.246.154.89   6443/tcp  Ready

Machine  State    Address        Inst id        Base          AZ  Message
2        started  10.246.154.89  juju-358c1f-2  ubuntu@24.04      poweredOn
mcarvalhor commented 5 months ago

Hi everyone, could we please reopen this? ( cc @addyess @hmlanigan )

I don't want Noble; I want Jammy. The problem is:

$ juju deploy k8s my-k8s-test-application --channel=latest/edge --revision=59 --base='ubuntu@22.04'
ERROR os "ubuntu" version "24.04" not found

$ juju deploy k8s my-k8s-test-application --channel=latest/edge --revision=59 --series=jammy
ERROR os "ubuntu" version "24.04" not found

I asked for 22.04/jammy (using both "base" and deprecated "series"), it is still trying to deploy 24.04.

addyess commented 5 months ago

@mcarvalhor I don't get it. For me on juju 3.5 -- no worries with either of these

addyess@addyess-dell /home/addyess                                                                                                              
⚡ juju deploy k8s jammy-k8s  --constraints='cores=2 mem=16G root-disk=40G' --channel=edge --base=ubuntu@22.04
Deployed "jammy-k8s" from charm-hub charm "k8s", revision 59 in channel latest/edge on ubuntu@22.04/stable
⚡ juju deploy k8s jammy-k8s  --constraints='cores=2 mem=16G root-disk=40G' --channel=edge --series=jammy     
WARNING series flag is deprecated, use --base instead
Deployed "jammy-k8s" from charm-hub charm "k8s", revision 59 in channel latest/edge on ubuntu@22.04/stable
mcarvalhor commented 5 months ago

Does it work on 3.1.8 (the current prodstack version)?

addyess commented 5 months ago

yeah, confirmed it doesn't work right in juju 3.1.8. @hmlanigan

ubuntu@juju-dae67f-0:~$ juju deploy k8s jammy-k8s  --constraints='cores=2 mem=16G root-disk=40G' --channel=edge --series=jammy --debug
13:42:49 INFO  juju.cmd supercommand.go:56 running juju [3.1.8 810900f47952a1f3835576f57dce2f9d1aef23d0 gc go1.21.9]
13:42:49 DEBUG juju.cmd supercommand.go:57   args: []string{"/snap/juju/26977/bin/juju", "deploy", "k8s", "jammy-k8s", "--constraints=cores=2 mem=16G root-disk=40G", "--channel=edge", "--series=jammy", "--debug"}
13:42:49 WARN  cmd deploy.go:765 series flag is deprecated, use --base instead
13:42:49 INFO  juju.juju api.go:86 connecting to API addresses: [10.183.206.232:17070]
13:42:49 DEBUG juju.api apiclient.go:1172 successfully dialed "wss://10.183.206.232:17070/model/8a27aee0-2145-4129-84a6-f515d5e320c9/api"
13:42:49 INFO  juju.api apiclient.go:707 connection established to "wss://10.183.206.232:17070/model/8a27aee0-2145-4129-84a6-f515d5e320c9/api"
13:42:49 INFO  juju.juju api.go:86 connecting to API addresses: [10.183.206.232:17070]
13:42:49 DEBUG juju.api apiclient.go:1172 successfully dialed "wss://10.183.206.232:17070/api"
13:42:49 INFO  juju.api apiclient.go:707 connection established to "wss://10.183.206.232:17070/api"
13:42:49 DEBUG juju.cmd.juju.application.deployer deployer.go:400 cannot interpret as local charm: file does not exist
13:42:49 DEBUG juju.cmd.juju.application.deployer deployer.go:207 cannot interpret as a redeployment of a local charm from the controller
13:42:50 DEBUG juju.cmd.juju.application.store charmadapter.go:95 cannot interpret as charmstore bundle: jammy (series) != "bundle"
13:42:50 INFO  cmd charm.go:377 Preparing to deploy "k8s" from the charmhub
13:42:50 INFO  juju.cmd.juju.application.deployer series_selector.go:163 with the user specified series "jammy"
13:42:51 DEBUG juju.api monitor.go:35 RPC connection died
13:42:51 DEBUG juju.api monitor.go:35 RPC connection died
ERROR storing charm "k8s": retrieving essential metadata for charm "ch:amd64/jammy/k8s-59": resolving origin for "ch:amd64/jammy/k8s-59": os "ubuntu" version "24.04" not found (not found)
13:42:51 DEBUG cmd supercommand.go:528 error stack: 
retrieving essential metadata for charm "ch:amd64/jammy/k8s-59": resolving origin for "ch:amd64/jammy/k8s-59": os "ubuntu" version "24.04" not found (not found)
github.com/juju/juju/rpc.(*Conn).Call:178: 
github.com/juju/juju/api/client/charms.(*Client).AddCharm:161: 
github.com/juju/juju/cmd/juju/application/deployer.(*repositoryCharm).PrepareAndDeploy:505: storing charm "k8s"
addyess commented 5 months ago

@hmlanigan i have GREAT news that this works fine on juju 3.3 as well

juju deploy k8s jammy-k8s --constraints='cores=2 mem=16G root-disk=40G' --channel=edge --series=jammy --debug

@mcarvalhor it's come to my understanding that juju 3.1 is no longer supported, this is a known bug in juju that seems to have been fixed going forward in supported juju. You are recommended to model migrate to juju 3.3 in order to deploy canonical k8s.

This issue should now remain with k8s in that we should update the metadata of the charm to indicate a required juju 3.3 or beyond