[multi-user] Re-registering a controller leads to confusing and incorrect output
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Triaged
|
Low
|
Unassigned |
Bug Description
Re-registering a controller (`register`) leads to the following output:
===
Enter a new password:
Confirm password:
Enter a name for this controller: lxd-bionic-1
Controller "lxd-bionic-1" already exists.
Enter a name for this controller: lxd-bionic-1-jil
Initial password successfully set for jil.
WARNING This controller has already been registered on this client as "lxd-bionic-1."
To login user "jil" run 'juju login -u jil -c lxd-bionic-1'.
To update controller details and login as user "jil":
1. run 'juju unregister jil'
2. request from your controller admin another registration string, i.e
output from 'juju change-
3. re-run 'juju register' with the registration from (2) above.
ERROR controller is already registered as "lxd-bionic-1"
===
Effectively everything worked as intended. User 'jil' was subsequently able to log in to controller 'lxd-bionic-1'. The rest is awful though.
a) I was prompted for another name for the controller, which it appears to have accepted. However, it seems to be silently forgotten. The software should first check if the actual controller (not controller name) has already been registered and then deal with the name accordingly.
b) The warning should be an INFO.
c) This part is worrisome:
To update controller details and login as user "jil":
1. run 'juju unregister jil'
2. request from your controller admin another registration string, i.e
output from 'juju change-
3. re-run 'juju register' with the registration from (2) above.
ERROR controller is already registered as "lxd-bionic-1"
Why would I want to "update controller details" and what details is it referring to?
d) Point #1 is incorrect. It should say: << run 'juju unregister lxd-bionic-1' >>
e) Points #1, #2, and #3 are explaining how to remove the controller from this client. But why? I happen to have other Juju users associated with the controller so removing the controller will surely not be good. Due to the vague wording less experienced users may shoot themselves in the foot.
f) Why does it give an ERROR? Its contents is also the same as the previous WARNING, which should really be an INFO.
g) Suggested output for this scenario:
===
Enter a new password:
Confirm password:
INFO This controller has already been registered on this client as "lxd-bionic-1."
Initial password successfully set for jil.
To log in user "jil" run 'juju login -u jil -c lxd-bionic-1'.
===
Alternate scenario: If the controller has not been registered but a duplicate name has been chosen:
===
Enter a new password:
Confirm password:
Enter a name for this controller: lxd-bionic-1
Controller name "lxd-bionic-1" already exists.
Enter a name for this controller: lxd-bionic-1-jil
Initial password successfully set for jil.
To login user "jil" run 'juju login -u jil -c lxd-bionic-1-jil'.
===
Changed in juju: | |
status: | New → Triaged |
importance: | Undecided → Wishlist |
This is kind of related to bug https:/ /bugs.launchpad .net/juju/ +bug/1614010 about allowing users to register different accounts on an existing controller.
However, this is much more about the experience of the register flow here. I think that there's definitely a lot that we can smooth out. There's also the related issues of getting back into a controller if you've lost your local cache data, etc.
In the end I think all of these bugs could/should go into a single spec that we use to help clean up the whole process.