This section seeks to clarify the meaning of the output to some commands and how other commands can alter that output.
Consider the following output to
juju controllers on some given system:
CONTROLLER MODEL USER SERVER local.lxd-trusty* lxd-staging admin@local 10.61.51.78:17070 lxd-jim - jim@local 10.195.10.130:17070 lxd-rod lxd-pilot rod@local 10.195.10.130:17070 lxd-sam - - 10.195.10.130:17070
- Controller ‘lxd-trusty’ is a controller that is local to the client system (prefix ‘local.’). It was bootstrapped there.
- The other 3 controllers are due to users being registered to the same remote controller with IP address 10.195.10.130. Each user decided to base the name of “their” controller on their name (i.e. ‘lxd-jim’).
- The “current” controller, model, and user are ‘lxd-trusty’, ‘lxd-staging’, and ‘admin’ respectively (the * character denotes this). These will be used as the defaults in many commands.
- Users ‘admin’, ‘jim’, and ‘rod’ are logged in.
- User ‘jim’ has not been granted access to a model.
- An administrator on the remote controller has granted user ‘rod’ access to model ‘lxd-pilot’.
- The user (presumably ‘sam’) who named their controller ‘lxd-sam’ is logged out and may, or may not, have access to a model.
Let’s see how the above output is altered if we have user ‘sam’ log in to their controller. Before doing so, we list users to ensure ‘sam’ is the actual user and switch to his controller:
juju users juju switch lxd-sam juju login -u sam
The output becomes:
CONTROLLER MODEL USER SERVER local.lxd-trusty lxd-staging admin@local 10.61.51.78:17070 lxd-jim - jim@local 10.195.10.130:17070 lxd-rod lxd-pilot rod@local 10.195.10.130:17070 lxd-sam* lxd-prod sam@local 10.195.10.130:17070
- User ‘sam’ has indeed been granted access to a model (‘lxd-prod’).
- The “current” controller, model, and user are now ‘lxd-sam’, ‘lxd-prod’, and ‘sam’ respectively.
Note that a login cannot occur if there is an ongoing user session with that same controller. An error will be emitted. The other user will need to log out first.
After login, it is a good idea for the user to list the models available to him:
Also, if the model is granted after user registration it may not show up upon login. In that case, the user will need to switch to the model:
juju switch <model name>
juju switch command can refer to <controller name>, <model name>, or
<controller name>:<model name>.