Container interfaces bridged to unnumbered host interfaces

Thanks for the response; glad to hear you’re looking in this area, and happy to help where I can.

Unfortunately, we’ve had to move on with a 2-VLAN solution, so I don’t currently have a 3-VLAN box to grab the config from, but I’ve grabbed a 2-VLAN version and adjusted it to include the 3rd VLAN, based on my memory of it; hopefully it’s correct, or close enough!

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eno1:
            match:
                macaddress: xx:xx:xx:xx:xx:30
            mtu: 1500
            set-name: eno1
        eno2:
            match:
                macaddress: xx:xx:xx:xx:xx:31
            mtu: 1500
            set-name: eno2
        eno3:
            match:
                macaddress: xx:xx:xx:xx:xx:32
            mtu: 1500
            set-name: eno3
        eno4:
            match:
                macaddress: xx:xx:xx:xx:xx:33
            mtu: 1500
            set-name: eno4
    bonds:
        bond0:
            addresses:
            - 10.0.0.136/24
            interfaces:
            - eno1
            - eno2
            - eno3
            - eno4
            macaddress: xx:xx:xx:xx:xx:30
            mtu: 1500
            nameservers:
                addresses:
                - 10.0.0.12
                search:
                - maas
            parameters:
                down-delay: 0
                lacp-rate: fast
                mii-monitor-interval: 100
                mode: 802.3ad
                transmit-hash-policy: layer3+4
                up-delay: 0
    vlans:
        bond0.41:
            id: 41
            link: bond0
            mtu: 1500
        bond0.42:
            id: 42
            link: bond0
            mtu: 1500

Also, I forgot to mention before that the MaaS host also has squid running on it, and Juju is configured to use this proxy for all deployments (via http-proxy and apt-http-proxy statements supplied to --config and --model-default options on the juju bootstrap invocation). This enables Juju to deploy new machines and units without any external routing, everything downloads via the proxy.

It also occurs to me that we’ll need a default gateway to be added (for the bond0.42 interface) so we can route traffic from the VIPs back to remote clients.