Juju -> MAAS [2.2+] API integration needs to account for null spaces
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Invalid
|
High
|
Unassigned | ||
MAAS |
Fix Released
|
High
|
Mike Pontillo |
Bug Description
When bootstrapping Juju against MAAS 2.2+, failure will occur if any VLANs are associated with a null space (which is now the default in MAAS).
This is because Juju expects the space to be non-null. However, starting in MAAS 2.2, null spaces are valid (they indicate that the administrator has not specified the space yet).
Launching controller instance(s) on testmaas...
12:23:41 INFO juju.provider.
12:23:41 INFO juju.provider.
12:23:41 ERROR juju.cmd.
12:23:41 ERROR cmd supercommand.go:458 failed to bootstrap model: cannot start bootstrap instance: cannot run instances: cannot run instance: link 0: subnet 2.0 schema check failed: space: expected string, got nothing
12:23:41 DEBUG cmd supercommand.go:459 (error details: [{github.
}}}
Related branches
- Blake Rouse (community): Approve
-
Diff: 391 lines (+142/-43)9 files modifiedsrc/maasserver/api/subnets.py (+5/-2)
src/maasserver/api/tests/test_vlans.py (+59/-2)
src/maasserver/api/vlans.py (+15/-23)
src/maasserver/forms_subnet.py (+5/-11)
src/maasserver/forms_vlan.py (+9/-3)
src/maasserver/models/space.py (+7/-1)
src/maasserver/models/tests/test_space.py (+6/-0)
src/maasserver/tests/test_forms_subnet.py (+14/-1)
src/maasserver/tests/test_forms_vlan.py (+22/-0)
Changed in maas: | |
status: | New → Won't Fix |
Changed in juju: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 2.2.0 |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
milestone: | 2.2.0 → none |
Changed in maas: | |
status: | Fix Committed → Fix Released |
We decided to put in a fix for this in MAAS in order to achieve better backward compatibility, so users don't need to update Juju to a version with this fix.
The consequence is that MAAS will no longer report `null` from the API to mean lack-of-a-space. Instead, we will report the (reserved) string "undefined".