provider/maas: bridge all interfaces #6156

Merged
merged 1 commit into from Sep 7, 2016

Conversation

Projects
None yet
3 participants
Contributor

frobware commented Sep 5, 2016

Ensure all interfaces get bridged. We would previously not bridge
interfaces that were deemed inactive. An active interface was previously
one which had either a static address or was using DHCP. This contraint
does not work for DTAG setups because an interface that wasn't
active (or bridged) would not be part of the interface set in a
container. These (previously) inactive interfaces may actually be
required for Neutron which will want to use the underlying raw
device (at L2), as opposed to requiring a L3 address. This commit
ensures all interfaces get bridged and, as such, those interfaces will
be available in containers.

Partially fixes LP:#1566791

(Review request: http://reviews.vapour.ws/r/5596/)

provider/maas: bridge all interfaces
Ensure all interfaces get bridged. We would previously not bridge
interfaces that were deemed inactive. An active interface was previously
one which had either a static address or was using DHCP. This contraint
does not work for DTAG setups because an interface that wasn't
active (or bridged) would not be part of the interface set in a
container. These (previously) inactive interfaces may actually be
required for Neutron which will want to use the underlying raw
device (at L2), as opposed to requiring a L3 address. This commit
ensures all interfaces get bridged and, as such, those interfaces will
be available in containers.

Partially fixes [LP:#1566791](https://bugs.launchpad.net/juju/+bug/1566791)
Contributor

dimitern commented Sep 7, 2016

$$merge$$

Contributor

jujubot commented Sep 7, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

@jujubot jujubot merged commit 8bc3008 into juju:master Sep 7, 2016

jujubot added a commit that referenced this pull request Sep 20, 2016

Merge pull request #6281 from frobware/lp-1566791-bridge-all
mass/provider: bridge all devices

Fixes [LP:#1566791](https://bugs.launchpad.net/juju/+bug/1566791)

Previously interfaces in MAAS that were unconfigured would not have
corresponding interfaces in the container and the resultant
combination of the providers network configuration and what was
observed after bridging meant that all interfaces in the container
would use lxdb0 as their parent device - they should have been using
their respective parent bridges on the host.

We now bridge all interfaces even if a parent interface has no subnet
or is unconfigured.

This commit rolls up PR #6219, PR #6257, PR #6219. It also reinstates
PR #6156. Each of these PRs have been individually reviewed. This
branch has also had a full CI run:

http://reports.vapour.ws/releases/4406 

And quoting Curtis:

    "this shows 3 classes of issue, non of which is related to the
     branch under test. You can merge, you won't do any more damage
     than is already there."

We have also had independent verification from two other sources that
had broken LXD networking on MAAS and this change fixed their cases.

QA verification: without this fix on either MAAS 1.9 or MAAS 2.0 if
you have a network setup that has a VLAN but its parent device is
unconfigured, ala:

    eth0 192.168.1.0/24 <unconfigured>
    eth0.100 192.168.100.0 <auto|static>

then:

    $ juju add-machine
    $ juju add-machine lxd:0
    $ juju status

You will see from the status output that the container is on a
10.0.0.x address. It should be on the 192.168.100.0/24 subnet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment