bootstrap --config agent-version is ignored

Bug #1674764 reported by Nicholas Skaggs
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
Medium
Anastasia

Bug Description

Bootstrapping with --agent-version set results in the controller bootstrapping to the specified agent.

Passing --config agent-version= however will accomplish nothing. It doesn't affect later deployed models, nor is it's valued saved in the defaults or the model-config anywhere. The bootstrap help text intermingles the terms and causes confusion.

Tags: usability
description: updated
description: updated
Curtis Hovey (sinzui)
Changed in juju:
status: New → Incomplete
Revision history for this message
Curtis Hovey (sinzui) wrote :

Ci tests agent-version all the time. CI and Juju help use
    juju bootstrap aws aws-8 --agent-version 2.1.2

It is a bootstrap option, not a config. I see you used --config agent-version=2.1.2. Does this work when you follow pass the arg directly. model-config will show the agent-version, but I don't believe it can be changed to affect deployments. For example, anging the mode-config does not trigger an upgrade.

Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

Curtis, thank you. I knew I had done this before, so it seemed crazy it wasn't working. So passing

--agent-version=

will set the bootstrap agent version and passing

--config agent-version=

will set the default model agent versions. Also I can't bootstrap with an version that doesn't match the minor version. So for example with the 2.1.2 client, I can't bootstrap with 2.0.x or 2.2.x.

$ juju bootstrap aws aws --agent-version='2.0.2'
error: requested agent version major.minor mismatch

$ juju bootstrap aws aws --agent-version='2.1-beta1'
Creating Juju controller "aws" on aws/us-east-1
Looking for packaged Juju agent version 2.1-beta1 for amd64

$ juju bootstrap aws--agent-version='2.2-alpha1'
error: requested agent version major.minor mismatch

I'll note bootstrap help text doesn't make this very clear.

Changed in juju:
status: Incomplete → Invalid
Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

I take that back. My original assertion is correct. Passing --config agent-version= is ignored. You can get the controller to bootstrap a specific agent version, however as noted.

Changed in juju:
status: Invalid → New
description: updated
Revision history for this message
Anastasia (anastasia-macmood) wrote :

I think that we need to clarify 'juju bootstrap' help message to clearly distinguish and call out subtleties between --agent-version and '--config agent-version'.

tags: added: usability
Revision history for this message
John A Meinel (jameinel) wrote :

We can certainly improve the help text around this. But we do explicitly disallow bootstrapping to different minor versions from the client. (We had bugs in the past where the bootstrap process was different between versions, and that caused a 1.X version to try the 1.X bootstrap arguments against a 1.Y version agent, which failed.)

We could potentially step back from that, as we haven't been making serious changes there regularly, but most people feel more confident about strictly tying the client version to the bootstrapped agent version.

Revision history for this message
Anastasia (anastasia-macmood) wrote :

This report is now primary focused on improving help doc for bootstrap command.

I have also filed a docs issues for online manual to clarify what can be don/not done with a certain client: https://github.com/juju/docs/issues/1765

Changed in juju:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Anastasia (anastasia-macmood) wrote :

PR against develop (2.3): https://github.com/juju/juju/pull/7914

Changed in juju:
assignee: nobody → Anastasia (anastasia-macmood)
status: Triaged → In Progress
Changed in juju:
status: In Progress → Fix Committed
milestone: none → 2.3-beta1
Changed in juju:
status: Fix Committed → Fix Released
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.