Comment 12 for bug 1553617

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

I have configured a local test bed similarly, with dual bonds (one of them without any backing interfaces) and I've reproduced the issue.

My assessment: the initial fix to ignore invalid bond interfaces worked. However, it uncovered a surprising issue. It turns out that when bond interfaces are configured, each of the bond's parents (in your case, p1p1, p1p2, p2p1, and p2p2) are updated so that their MAC address matches what is configured on bond0. MAAS did not account for this, and was using the MAC address as a unique identifying characteristic of the interface. When the rack controller registers, each bond member overwrites the previous bond member. Then when MAAS goes to register the bond, only one out of its N parent interfaces are found in the database.

We didn't catch this in our unit testing because our tests didn't account for this "MAC replacement" behavior.

I like your suggestion regarding the simplicity of rack registration, but let's discuss that separately so we can keep this bug focused on the issues you've uncovered with registering racks containing bond interfaces.