How to manage a controller

See also: Controller

As the juju controller occupies one machine all by itself and if redundancy is neede (which most certainly always is) 3 full machines are “lost” to juju, it would be beneficial to learn, how to conserve resources in different scenarios.

E.g., if I have a MAAS cloud with multiple regions, do I need a dedicated juju controller in each region, or can I make one work for all regions combined - makes quite a difference.

Also important for this scenario is, if juju controller only manages state and is therefore bandwidth extensive or if it acts as a sort of proxy for packages installed also, which would make the scenario above greatly depend on the bandwidth of the interconnection between regions.

One option is to use JAAS, which is a hosted controller provided for the Juju community. At this stage, no billing is associated with it.

I propose adding a short para to this page showing how to switch the active controller. Unlike the other paragraphs in this page, I don’t think it needs to include enough content that it’s worth linking to another page. We should just put the content here. Something like the following (Caveat: I’m just figuring this out myself, so feel free to override if this is inaccurate or a bad idea):

Switch active controller

If you have more than one controller, commands will act on the one that is currently active. juju switch will output the name of the active controller in the format <controller>:<user>/<model>, eg. “mycontroller:admin/default”. You can pass in a controller name to set the currently active controller, eg: juju switch mycontroller. The given controller name can be qualified with a user and model name, eg: juju switch mycontroller:admin/default. Discover the available controller, user and model names using juju controllers.