Support multiple Juju environments per MAAS install
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pyjuju |
Triaged
|
Low
|
Unassigned |
Bug Description
MAAS has no concept of Layer 3, which is basically a good thing. You could have a MAAS server with multiple physical or VLAN interfaces, set up DHCP for each of them and then, as long as you're good about setting constraints, have multiple Juju environments using multiple networks using only one MAAS server.
However, MAAS's object store appears to be global to the install, does not have the EC2 equivalent of buckets, and is not user-specific. I tried creating two MAAS users and bootstrapping two juju environments, and the second time it found the bootstrap ID of the first, but couldn't get info about (since it was allocated to the other user). It appears Juju sets/gets the "provider-state" object, which again is global to the MAAS install.
I went into /usr/lib/
environments:
env1:
type: maas
maas-server: 'http://
maas-oauth: '...'
authorized-
env2:
type: maas
maas-server: 'http://
maas-oauth: '...'
maas-
authorized-
In this case, env1 would use the default "provider-state" object key to preserve backwards compatibility, while env2 would use an object key called "env2_provider-
description: | updated |
description: | updated |
Changed in juju: | |
importance: | Medium → Low |
maas has other issues with multiple environments for the same user in addition to this. it has no segmentation/ tagging of the machines in a particular environment, which causes several other issues (see bug:1081247). for this case we can auto prefix with the env name if nesc or use the fielded config.