juju upgrade-juju is utterly confusing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Triaged
|
Medium
|
Unassigned |
Bug Description
I always scratch my head when I read the help text for juju upgrade-juju:
For development use, the --upload-tools flag specifies that the juju tools will
packaged (or compiled locally, if no jujud binaries exists, for which you will
need the golang packages installed) and uploaded before the version is set.
Currently the tools will be uploaded as if they had the version of the current
juju tool, unless specified otherwise by the --version flag.
The rest of the explanation about versioning is also really complicated. Could we make this very simple?
Some suggestions:
1. Rename the --upload-tools option so it explains what it means, not what it does. I think it means "use the same version as the client juju binary you are running".
2. Simplify the stable and devel text and process; basically, I think the meaning is that if you are on devel you get upgraded to devel versions and vice-versa for stable.
3. Provide a confirmation step that explains what is going to happen before doing it (or add a --force flag):
% juju upgrade-juju
Upgrading jujud agents from stable versions XXX, YYY to latest stable version ZZZ. Confirm?
% juju upgrade-juju
Upgrading jujud agents from devel versions XXX, YYY to latest devel version ZZZ. Confirm?
% juju upgrade-juju --use-devel
Upgrading jujud agents from stable versions XXX, YYY to latest devel version ZZZ. Confirm?
% juju upgrade-juju --use-client-
Upgrading jujud agents from versions XXX, YYY to client version ZZZ. Confirm?
summary: |
- upgrade-juju --upload-tools confusing + juju upgrade-juju is utterly confusing |
tags: | added: canonical-is |
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → Medium |
tags: | added: ui upgrade-juju usability |