v.2.6.0, the context for several commands change from the local client cache to an existing controller.
This change amounts to a better user experience since most commands already use a controller as context by default. For example, when a model is added with
add-moel the model is added remotely, on a controller. When an application is deployed with the
deploy command the application is deployed remotely.
The below commands become remote by default:
add-cloud(yet interactive mode is always local)
They each grow a
--local option for when the operator wishes to explicitly apply a command locally.
Note that the
add-cloud command only makes sense in a remote context when a cloud is being added to an existing controller. This makes use of the equally new multi-controller feature.
A caveat is when a client is first installed. In this state, it is not aware of any controllers and issuing the
list-clouds command would therefore lead to a null output. This foreseeable situation is awkward and so the output includes explanatory text and displays local context output:
There are no controllers running. You can bootstrap a new controller using one of these clouds: Cloud Regions Default Type Description aws 15 us-east-1 ec2 Amazon Web Services aws-china 2 cn-north-1 ec2 Amazon China . . . rackspace 6 dfw rackspace Rackspace Cloud localhost 1 localhost lxd LXD Container Hypervisor
A related enhancement is that the
update-credential command can update a remote credential directly from a local YAML file. Previously, a credential needed to be updated locally and then use that to update the credential remotely.