"upgrade available" in juju status is misleading

Bug #1793514 reported by Jacek Nykis
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
Low
Unassigned

Bug Description

juju status told me I had upgrade available:

$ juju status
Model Controller Cloud/Region Version SLA Timestamp Notes
controller canonistack-lcy01 canonistack/lcy01 2.4.1 unsupported 13:01:52+01:00 upgrade available: 2.4.3

So I tried to upgrade:
$ juju upgrade-model
no upgrades available
$ juju upgrade-juju
no upgrades available

It's not clear whether the upgrade really is available or not. If it is then juju client should handle it better.
I think first improvement could be to ensure that "juju status" and "juju upgrade-{juju,model}" use the same method to detect available upgrades.

juju client I'm running is 2.4.1-xenial-amd64

Revision history for this message
Richard Harding (rharding) wrote :

Can you provide more details on the setup.

Is this a controller you owned and bootstrapped? Are you admin on it?

I believe the model should only show the upgrade available if the controller is up to that version and models on that controller are eligible to upgrade. I wonder if this is that you're not of high enough permissions to upgrade and that error isn't clear or if there's different logic in checking if an upgrade is available and we need to update that end.

Changed in juju:
status: New → Incomplete
Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 1793514] Re: "upgrade available" in juju status is misleading

This looks like something where we know there is an upgrade available, but
you have to upgrade the controller model before you can upgrade another
model.
 $ juju upgrade-model -m controller
then you can
 $ juju upgrade-model
In the other models.

However, this is fairly clear that we aren't communicating it well.

On Thu, Sep 27, 2018 at 4:56 PM Richard Harding <email address hidden>
wrote:

> Can you provide more details on the setup.
>
> Is this a controller you owned and bootstrapped? Are you admin on it?
>
> I believe the model should only show the upgrade available if the
> controller is up to that version and models on that controller are
> eligible to upgrade. I wonder if this is that you're not of high enough
> permissions to upgrade and that error isn't clear or if there's
> different logic in checking if an upgrade is available and we need to
> update that end.
>
> ** Changed in: juju
> Status: New => Incomplete
>
> --
> You received this bug notification because you are subscribed to juju.
> Matching subscriptions: juju bugs
> https://bugs.launchpad.net/bugs/1793514
>
> Title:
> "upgrade available" in juju status is misleading
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju/+bug/1793514/+subscriptions
>

Revision history for this message
Richard Harding (rharding) wrote :

Ok, at the start then I would update so that we don't output that a model can be upgraded unless the controller is at that version as well.

Changed in juju:
status: Incomplete → Triaged
importance: Undecided → High
milestone: none → 2.5-beta1
Revision history for this message
Jacek Nykis (jacekn) wrote :

So to clarify - this happened for the _controller_ model. Juju status says:
$ juju status
Model Controller Cloud/Region Version SLA Timestamp Notes
controller canonistack-lcy01 canonistack/lcy01 2.4.1 unsupported

I bootstrapped it a while ago and I'm the admin.

Changed in juju:
assignee: nobody → Richard Harding (rharding)
Changed in juju:
milestone: 2.5-beta1 → 2.5-beta2
Changed in juju:
assignee: Richard Harding (rharding) → Heather Lanigan (hmlanigan)
status: Triaged → In Progress
Revision history for this message
Heather Lanigan (hmlanigan) wrote :

I am unable to reproduce with 2.4.1. I tried 2.4.4 as well.

$ juju version
2.4.1-cosmic-amd64
$ juju status -m controller
Model Controller Cloud/Region Version SLA Timestamp Notes
controller test-2.4.1 localhost/localhost 2.4.1 unsupported 10:57:54-05:00 upgrade available: 2.4.6

Machine State DNS Inst id Series AZ Message
0 started 10.241.227.188 juju-3bbf7b-0 xenial Running

$ juju status
Model Controller Cloud/Region Version SLA Timestamp
default test-2.4.1 localhost/localhost 2.4.1 unsupported 10:58:32-05:00

Model "admin/default" is empty.
$ juju upgrade-model
best version:
    2.4.6
ERROR model cannot be upgraded to 2.4.6 while the controller is 2.4.1: upgrade 'controller' model first
$ juju upgrade-juju
best version:
    2.4.6
ERROR model cannot be upgraded to 2.4.6 while the controller is 2.4.1: upgrade 'controller' model first
$ juju upgrade-juju -m controller
best version:
    2.4.6
started upgrade to 2.4.6

I tried with the different agent-stream settings also. The only difference there was that the devel agent-stream suggested 2.5-beta1 instead of 2.4.6.

Any additional info to reproduce would be appreciated.

Changed in juju:
status: In Progress → Incomplete
Changed in juju:
assignee: Heather Lanigan (hmlanigan) → nobody
milestone: 2.5-beta2 → none
importance: High → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for juju because there has been no activity for 60 days.]

Changed in juju:
status: Incomplete → Expired
Revision history for this message
Paul Gear (paulgear) wrote :

It doesn't seem obvious from earlier updates to this ticket, but this occurs when the streams.canonical.com metadata differs from the cache in the local OpenStack cloud. This bug occurs when the local cloud's syncing is broken but the controller can reach streams.c.c and see that there is an update available. What appears to be happening is that juju status is using only the presence of new versions in streams.c.c as a flag, whereas juju upgrade-juju is using streams.c.c plus the local cache.

What I think the behaviour should be is:
1) Warn when the streams.c.c and locally-available agents don't match.
2) Make juju status and juju upgrade-juju use the same check for upgrade availability, which takes into account both sources.

Changed in juju:
status: Expired → New
Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 1793514] [NEW] "upgrade available" in juju status is misleading

I think the issue is that you have to upgrade the controller first, which
is currently "juju upgrade-juju -m controller", and *then* you can upgrade
individual model agents (juju upgrade-model).

On Thu, Sep 20, 2018 at 4:20 PM Jacek Nykis <email address hidden>
wrote:

> Public bug reported:
>
> juju status told me I had upgrade available:
>
> $ juju status
> Model Controller Cloud/Region Version SLA
> Timestamp Notes
> controller canonistack-lcy01 canonistack/lcy01 2.4.1 unsupported
> 13:01:52+01:00 upgrade available: 2.4.3
>
> So I tried to upgrade:
> $ juju upgrade-model
> no upgrades available
> $ juju upgrade-juju
> no upgrades available
>
> It's not clear whether the upgrade really is available or not. If it is
> then juju client should handle it better.
> I think first improvement could be to ensure that "juju status" and "juju
> upgrade-{juju,model}" use the same method to detect available upgrades.
>
> juju client I'm running is 2.4.1-xenial-amd64
>
> ** Affects: juju
> Importance: Undecided
> Status: New
>
> --
> You received this bug notification because you are subscribed to juju.
> Matching subscriptions: juju bugs
> https://bugs.launchpad.net/bugs/1793514
>
> Title:
> "upgrade available" in juju status is misleading
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/juju/+bug/1793514/+subscriptions
>

Revision history for this message
Haw Loeung (hloeung) wrote :

Per #4, he was trying to upgrade using the selected "controller" model.

Changed in juju:
status: New → Triaged
Revision history for this message
Canonical Juju QA Bot (juju-qa-bot) wrote :

This bug has not been updated in 2 years, so we're marking it Low importance. If you believe this is incorrect, please update the importance.

Changed in juju:
importance: Medium → Low
tags: added: expirebugs-bot
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.