Ubuntu Pastebin

Paste from dimitern at Wed, 27 Jan 2016 15:49:46 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
* Handling the default and controller space properly
** TODO Default space name specified with an environment constraint ("spaces=foo") and saved as a setting in state
*** Add "default-space-name" (string) setting to configSchema in environs/config.
*** Add a named constant for the setting name
*** It is optional and has the value of network.DefaultSpace initially
*** Any provider which supports spaces MUST initialize it during bootstrap and validate it exists
*** provider/common: FinishBootstrap sets the environment constraint to it ("spaces=<default-space-name-value>")
*** Change all places where network.DefaultSpace is used for bindings to use the "default-space-name" setting
*** Do NOT change yet the other places where network.DefaultSpace is used to select API endpoints.
** TODO Add "controller-space-name" (string) setting to Config in environs/config
*** Add a named const for the setting name
*** Needs to be immutable once set
*** It's optional with no default value
*** When set, the value must be validated against names.IsValidSpace()
*** It should be serialized as usual in state/settings along with the other settings
*** Make it accessible by ControllerSpaceName() (string, bool) methods on config.Config and state.State
** TODO Add ControllerSpaceName (string) to BootstrapParams in environs/bootstrap 
*** It's optional
*** It's an error to be non-empty, if environs.Networking.SupportsSpaces() returns false
*** When set, it will initialize the value of "controller-space-name" config setting, if valid
*** Validate it against the list returned by environs.Networking.Spaces(), fail if not found
** TODO Add --controller-space optional argument to cmd/juju/commands/bootstrap.go
*** Document the effect of the argument in the help text, with examples.
*** It has an empty value by default and it's optional
*** When specified it must be validated against names.IsValidSpace()
** TODO provider/maas: Detect the names of the default and controller spaces at bootstrap, when unspecified
*** If neither are specified, set both names to the space where the machine's primary NIC is linked to
*** If a single spaces=<name> constraint is set in BootstrapConstraints, set "default-space-name" to it, unless it's invalid
*** If ControllerSpaceName is specified, set "controller-space-name" to it, unless it's invalid
**  TODO Save "controller-space-name" inside agent.Config (in the Values map)
*** Get it from the environ config (this happens during preparing the instance config)
*** When set, use it as a space name to pick contoller peer endpoint (e.g. during ensure-availability)
** TODO Use the value of "controller-space-name" instead of network.Default space for selecting API endpoints
*** For agents, it will be in the agent config (before state is initialized) or environ config (after that)
*** If it's not set, revert to the legacy address selection (sorting and picking by scope)
** TODO After maas-spaces gets merged in master
*** When controller and default spaces are different, set "spaces=<default>,^<controller>" as environ constraints
Download as text