Incorrect user facing error messaging
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Anastasia |
Bug Description
The controller admin adds the user 'bdx' to the controller, 'bdx' runs the register command, by default the 'bdx' user gets 'login' privileges on the controller.
The following is being ran as the 'bdx' user.
$ juju add-cloud
Cloud Types
lxd
maas
manual
openstack
vsphere
Select cloud type: maas
Enter a name for your maas cloud: pdl-maas
Enter the API endpoint url: http://
Cloud "pdl-maas" successfully added
You will need to add credentials for this cloud (`juju add-credential pdl-maas`)
before creating a controller (`juju bootstrap pdl-maas`).
$ juju users
Controller: pdl-maas
Name Display name Access Date created Last connection
bdx* bdx login 2019-02-01 just now
FRICTION POINT 1:
$ juju add-model mymodel
ERROR cloud "pdl-maas" not found
This^ is one place where the user facing messaging does not help the user. The user just added the cloud 'pdl-maas', why is juju telling the user the cloud cannot be found? Possibly the messaging here could be something to the affect of "Cloud 'pdl-maas' found, you need a controller admin to grant you 'superuser' privileges in order to add a model."
At this point the controller admin grants the 'bdx' user 'superuser' privileges on the controller.
FRICTION POINT 2:
$ juju add-model mymodel
ERROR detecting credentials for "pdl-maas" cloud provider: maas credentials not found.
This^ messaging seems accurate, but is not helpful. In the light of "this is what you should do to remedy this issue that is happening", the user only get an error message, not a direction for what to do to move forward.
At this point user 'bdx' adds credential for cloud 'pdl-maas'.
$ juju add-credential pdl-maas
Enter credential name: bdx
Using auth-type "oauth1".
Enter maas-oauth:
Credential "bdx" added locally for cloud "pdl-maas".
$ juju credentials
Cloud Credentials
pdl-maas bdx
FRICTION POINT 3:
$ juju add-model mymodel
ERROR getting credential: cloud credential "pdl-maas/bdx/bdx" not found (not found)
$ juju show-credential pdl-maas bdx
cloud credential "pdl-maas/bdx/bdx" not found
controller-
These last two messages are confusing because user 'bdx' just added the credential 'bdx' for the cloud 'pdl-maas'.
description: | updated |
description: | updated |
Changed in juju: | |
milestone: | none → 2.5.2 |
importance: | Undecided → High |
status: | New → Triaged |
Changed in juju: | |
milestone: | 2.5.2 → 2.5.3 |
Changed in juju: | |
milestone: | 2.5.3 → 2.5.4 |
Changed in juju: | |
milestone: | 2.5.4 → 2.5.5 |
Changed in juju: | |
milestone: | 2.5.6 → 2.5.8 |
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
status: | Fix Committed → Fix Released |
The add-cloud and add-credential commands currently only operate on the local Juju client's internal YAML files. They are intended to set up the Juju client so that a *new* controller can be bootstrapped from scratch with a new cloud. These commands do not affect any running controller.
You are trying to use the commands to do something that they are not designed to do, nor is supported - add a different, new cloud to a running controller.
The error messages are indeed less than helpful. This is an area that is flagged for improvement.
Note also - Juju will be gaining the ability to support multi-cloud controllers but it's not there yet.