Juju -> MAAS [2.2+] API integration needs to account for null spaces

Bug #1656717 reported by Mike Pontillo
10
This bug affects 1 person
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.common destroy.go:20 destroying model "controller"
12:23:41 INFO juju.provider.common destroy.go:31 destroying instances
12:23:41 ERROR juju.cmd.juju.commands bootstrap.go:1039 error cleaning up: destroying instances: machine 0: link 0: subnet 2.0 schema check failed: space: expected string, got nothing
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.com/juju/juju/cmd/juju/commands/bootstrap.go:565: failed to bootstrap model} {github.com/juju/juju/provider/common/bootstrap.go:178: cannot start bootstrap instance} {github.com/juju/juju/provider/maas/environ.go:946: cannot run instances} {github.com/juju/juju/provider/maas/environ.go:1314: cannot run instance} {github.com/juju/juju/provider/maas/environ.go:747: } {github.com/juju/gomaasapi/controller.go:503: } {github.com/juju/gomaasapi/machine.go:508: } {github.com/juju/gomaasapi/interface.go:418: } {github.com/juju/gomaasapi/link.go:76: link 0} {github.com/juju/gomaasapi/link.go:113: } {github.com/juju/gomaasapi/subnet.go:125: subnet 2.0 schema check failed} {space: expected string, got nothing}])
}}}

Related branches

Changed in maas:
status: New → Won't Fix
Changed in juju:
status: New → Triaged
importance: Undecided → High
milestone: none → 2.2.0
Revision history for this message
Mike Pontillo (mpontillo) wrote :

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".

Changed in maas:
status: Won't Fix → In Progress
importance: Undecided → High
assignee: nobody → Mike Pontillo (mpontillo)
milestone: none → 2.2.0
Revision history for this message
Anastasia (anastasia-macmood) wrote :

As the fix will be done in MAAS, I am marking this as 'Invalid' for Juju for now.

Changed in juju:
status: Triaged → Invalid
Changed in maas:
status: In Progress → Fix Committed
Revision history for this message
Andres Rodriguez (andreserl) wrote :

Let's keep in mind that while MAAS will report 'reserved', it is a 'null' space.

Revision history for this message
Mike Pontillo (mpontillo) wrote :

To echo what Andres said, I think the juju team should revisit this before closing the bug.

We will report "undefined" for VLANs (and subnets) which are not in a space. But that doesn't mean the "undefined" space will be usable. (You cannot specify "undefined" as a constraint when deploying a node, or gathering a list of VLANs or subnets associated with the space, for example.)

Changed in juju:
milestone: 2.2.0 → none
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.