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

Bug #1656717 reported by Mike Pontillo on 2017-01-16
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
High
Mike Pontillo
juju
High
Unassigned

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
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
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
Andres Rodriguez (andreserl) wrote :

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

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  Edit
Everyone can see this information.

Other bug subscribers