[Maas-devel] no default route for lxc containers deployed with juju/maas 2.0
Andrew McDermott
andrew.mcdermott at canonical.com
Tue Jun 7 19:57:33 UTC 2016
I'm trying to repro this but one other bug to be aware of is this:
https://bugs.launchpad.net/juju-core/+bug/1566801
And another useful bit of debug info would be:
$ lxc config show <container-name>
executed on the node hosting the containers.
On 7 June 2016 at 20:51, Matt Rae <matt.rae at canonical.com> wrote:
> Thanks Andrew, I think the issue of the default route not being added is
> appearing starting in juju 2.0 beta 8. When I downgraded to beta 7, I see
> the default route is added.
>
> Below are the interfaces files for the container and host when using beta
> 8 and beta 7. Beta 7 interfaces includes the default route, while beta 8
> doesn't.
>
> container with beta 8
>
> $ cat /etc/network/interfaces
>
> auto lo
> iface lo inet loopback
>
> auto eth0
> iface eth0 inet manual
> pre-up ip address add 172.27.72.13/26 dev eth0 || true
> up ip route replace 172.27.72.0/26 dev eth0 || true
> down ip route del 172.27.72.0/26 dev eth0 || true
> post-down address del 172.27.72.13/26 dev eth0 || true
>
> auto eth1
> iface eth1 inet manual
> pre-up ip address add 172.27.72.77/26 dev eth1 || true
> up ip route replace 172.27.72.64/26 dev eth1 || true
> down ip route del 172.27.72.64/26 dev eth1 || true
> post-down address del 172.27.72.77/26 dev eth1 || true
>
> auto eth2
> iface eth2 inet manual
> dns-nameservers 10.189.69.5 8.8.8.8
> pre-up ip address add 10.189.69.27/25 dev eth2 || true
> up ip route replace 10.189.69.0/25 dev eth2 || true
> down ip route del 10.189.69.0/25 dev eth2 || true
> post-down address del 10.189.69.27/25 dev eth2 || true
>
> host with beta 8
>
> $ cat /etc/network/interfaces
> auto lo
> iface lo inet loopback
> dns-nameservers 10.189.69.5
> dns-search maas
>
> iface eno1 inet manual
>
> auto br-eno1
> iface br-eno1 inet static
> gateway 10.189.69.1
> address 10.189.69.8/25
> mtu 1500
> bridge_ports eno1
> dns-nameservers 10.189.69.5 8.8.8.8
>
> auto eno2
> iface eno2 inet manual
> mtu 1500
>
> auto enp2s0f0
> iface enp2s0f0 inet manual
> bond-mode 802.3ad
> mtu 1500
> bond-miimon 100
> bond-xmit_hash_policy encap3+4
> bond-lacp_rate fast
> bond-master bond0
>
> auto enp2s0f1
> iface enp2s0f1 inet manual
> bond-mode 802.3ad
> mtu 1500
> bond-miimon 100
> bond-xmit_hash_policy encap3+4
> bond-lacp_rate fast
> bond-master bond0
>
> auto enp2s0f2
> iface enp2s0f2 inet manual
> bond-mode 802.3ad
> mtu 1500
> bond-miimon 100
> bond-xmit_hash_policy encap3+4
> bond-lacp_rate fast
> bond-master bond1
>
> auto enp2s0f3
> iface enp2s0f3 inet manual
> bond-mode 802.3ad
> mtu 1500
> bond-miimon 100
> bond-xmit_hash_policy encap3+4
> bond-lacp_rate fast
> bond-master bond1
>
> auto ens7f0
> iface ens7f0 inet manual
> bond-mode 802.3ad
> mtu 1500
> bond-miimon 100
> bond-xmit_hash_policy encap3+4
> bond-lacp_rate fast
> bond-master bond2
>
> auto ens7f1
> iface ens7f1 inet manual
> bond-mode 802.3ad
> mtu 1500
> bond-miimon 100
> bond-xmit_hash_policy encap3+4
> bond-lacp_rate fast
> bond-master bond2
>
> auto bond0
> iface bond0 inet manual
> address 172.27.72.3/26
> bond-mode 802.3ad
> bond-xmit_hash_policy encap3+4
> bond-miimon 100
> hwaddress 0c:c4:7a:8e:ec:e0
> mtu 1500
> bond-lacp_rate fast
> bond-slaves none
>
> auto br-bond0
> iface br-bond0 inet static
> address 172.27.72.3/26
> hwaddress 0c:c4:7a:8e:ec:e0
> mtu 1500
> bridge_ports bond0
>
> auto bond0:1
> iface bond0:1 inet6 static
> address fde9:8f83:4a81:1:0:1:0:2/64
> bond-mode 802.3ad
> bond-xmit_hash_policy encap3+4
> bond-miimon 100
> hwaddress 0c:c4:7a:8e:ec:e0
> mtu 1500
> bond-lacp_rate fast
> bond-slaves none
>
> auto bond1
> iface bond1 inet manual
> address 172.27.72.67/26
> bond-mode 802.3ad
> bond-xmit_hash_policy encap3+4
> bond-miimon 100
> hwaddress 0c:c4:7a:8e:ec:e2
> mtu 1500
> bond-lacp_rate fast
> bond-slaves none
>
> auto br-bond1
> iface br-bond1 inet static
> address 172.27.72.67/26
> hwaddress 0c:c4:7a:8e:ec:e2
> mtu 1500
> bridge_ports bond1
>
> auto bond1:1
> iface bond1:1 inet6 static
> address fde9:8f83:4a81::1:0:2/64
> bond-mode 802.3ad
> bond-xmit_hash_policy encap3+4
> bond-miimon 100
> hwaddress 0c:c4:7a:8e:ec:e2
> mtu 1500
> bond-lacp_rate fast
> bond-slaves none
>
> auto bond2
> iface bond2 inet6 manual
> address fd0d:ffe0:5771::1:0:0/64
> bond-mode 802.3ad
> bond-xmit_hash_policy encap3+4
> bond-miimon 100
> hwaddress 0c:c4:7a:b7:32:a0
> mtu 1500
> bond-lacp_rate fast
> bond-slaves none
>
> auto br-bond2
> iface br-bond2 inet6 static
> address fd0d:ffe0:5771::1:0:0/64
> hwaddress 0c:c4:7a:b7:32:a0
> mtu 1500
> bridge_ports bond2
>
> source /etc/network/interfaces.d/*.cfg
>
>
> container with beta 7
>
> root at juju-machine-2-lxc-2:~# cat /etc/network/interfaces
>
> auto lo
> iface lo inet loopback
>
> auto eth0
> iface eth0 inet manual
> dns-nameservers 10.189.69.5 8.8.8.8
> pre-up ip address add 10.189.69.24/25 dev eth0 || true
> up ip route replace 10.189.69.0/25 dev eth0 || true
> down ip route del 10.189.69.0/25 dev eth0 || true
> post-down address del 10.189.69.24/25 dev eth0 || true
> up ip route replace default via 10.189.69.1 || true
> down ip route del default via 10.189.69.1 || true
>
> auto eth1
> iface eth1 inet manual
> pre-up ip address add 172.27.72.10/26 dev eth1 || true
> up ip route replace 172.27.72.0/26 dev eth1 || true
> down ip route del 172.27.72.0/26 dev eth1 || true
> post-down address del 172.27.72.10/26 dev eth1 || true
>
> auto eth2
> iface eth2 inet manual
> pre-up ip address add 172.27.72.74/26 dev eth2 || true
> up ip route replace 172.27.72.64/26 dev eth2 || true
> down ip route del 172.27.72.64/26 dev eth2 || true
> post-down address del 172.27.72.74/26 dev eth2 || true
>
> Host with beta 7:
>
> root at barmiest-jesica:~# cat /etc/network/interfaces
> auto lo
> iface lo inet loopback
> dns-nameservers 10.189.69.5
> dns-search maas
>
> iface eno1 inet manual
>
> auto br-eno1
> iface br-eno1 inet static
> address 10.189.69.10/25
> gateway 10.189.69.1
> mtu 1500
> bridge_ports eno1
> dns-nameservers 10.189.69.5 8.8.8.8
>
> auto eno2
> iface eno2 inet manual
> mtu 1500
>
> auto enp2s0f0
> iface enp2s0f0 inet manual
> bond-master bond0
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-lacp_rate fast
> bond-miimon 100
> bond-mode 802.3ad
>
> auto enp2s0f1
> iface enp2s0f1 inet manual
> bond-master bond0
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-lacp_rate fast
> bond-miimon 100
> bond-mode 802.3ad
>
> auto enp2s0f2
> iface enp2s0f2 inet manual
> bond-master bond1
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-lacp_rate fast
> bond-miimon 100
> bond-mode 802.3ad
>
> auto enp2s0f3
> iface enp2s0f3 inet manual
> bond-master bond1
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-lacp_rate fast
> bond-miimon 100
> bond-mode 802.3ad
>
> auto ens7f0
> iface ens7f0 inet manual
> bond-master bond2
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-lacp_rate fast
> bond-miimon 100
> bond-mode 802.3ad
>
> auto ens7f1
> iface ens7f1 inet manual
> bond-master bond2
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-lacp_rate fast
> bond-miimon 100
> bond-mode 802.3ad
>
> auto bond0
> iface bond0 inet manual
> address 172.27.72.5/26
> bond-lacp_rate fast
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-mode 802.3ad
> hwaddress 0c:c4:7a:8e:ed:30
> bond-slaves none
> bond-miimon 100
>
> auto br-bond0
> iface br-bond0 inet static
> address 172.27.72.5/26
> mtu 1500
> hwaddress 0c:c4:7a:8e:ed:30
> bridge_ports bond0
>
> auto bond0:1
> iface bond0:1 inet6 static
> address fde9:8f83:4a81:1:0:1:0:4/64
> bond-lacp_rate fast
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-mode 802.3ad
> hwaddress 0c:c4:7a:8e:ed:30
> bond-slaves none
> bond-miimon 100
>
> auto bond1
> iface bond1 inet manual
> address 172.27.72.69/26
> bond-lacp_rate fast
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-mode 802.3ad
> hwaddress 0c:c4:7a:8e:ed:32
> bond-slaves none
> bond-miimon 100
>
> auto br-bond1
> iface br-bond1 inet static
> address 172.27.72.69/26
> mtu 1500
> hwaddress 0c:c4:7a:8e:ed:32
> bridge_ports bond1
>
> auto bond1:1
> iface bond1:1 inet6 static
> address fde9:8f83:4a81::1:0:4/64
> bond-lacp_rate fast
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-mode 802.3ad
> hwaddress 0c:c4:7a:8e:ed:32
> bond-slaves none
> bond-miimon 100
>
> auto bond2
> iface bond2 inet6 manual
> address fd0d:ffe0:5771::1:0:2/64
> bond-lacp_rate fast
> bond-xmit_hash_policy encap3+4
> mtu 1500
> bond-mode 802.3ad
> hwaddress 0c:c4:7a:b7:2d:96
> bond-slaves none
> bond-miimon 100
>
> auto br-bond2
> iface br-bond2 inet6 static
> address fd0d:ffe0:5771::1:0:2/64
> mtu 1500
> hwaddress 0c:c4:7a:b7:2d:96
> bridge_ports bond2
>
> source /etc/network/interfaces.d/*.cfg
>
>
> On Tue, Jun 7, 2016 at 10:20 AM, Andrew McDermott <
> andrew.mcdermott at canonical.com> wrote:
>
>> Hi Matt,
>>
>> If you still have the setup running please could you attach
>> /etc/network/interfaces from the container and the host. Thanks.
>>
>> On 7 June 2016 at 07:08, Matt Rae <matt.rae at canonical.com> wrote:
>>
>>> Hi, I'm deploying services into lxc containers using Juju 2.0 beta8 and
>>> MAAS 2.0 beta6.
>>>
>>> The containers are being created with 3 interfaces with separate subnets
>>> which are bridged to the interfaces on the node hosting the container. I'm
>>> noticing that the containers don't have a default route which is should be
>>> gateway_ip 10.189.69.1.
>>>
>>> The node hosting the container has the default route. I'm not sure why
>>> the default route isn't also in the container.
>>>
>>> On the host there is default route with gateway 10.189.69.1
>>>
>>> $ route -n
>>> Kernel IP routing table
>>> Destination Gateway Genmask Flags Metric Ref Use
>>> Iface
>>> 0.0.0.0 10.189.69.1 0.0.0.0 UG 0 0 0
>>> br-eno1
>>> 10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
>>> lxcbr0
>>> 10.189.69.0 0.0.0.0 255.255.255.128 U 0 0 0
>>> br-eno1
>>> 172.27.72.0 0.0.0.0 255.255.255.192 U 0 0 0
>>> br-bond0
>>> 172.27.72.64 0.0.0.0 255.255.255.192 U 0 0 0
>>> br-bond1
>>> 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0
>>> virbr0
>>>
>>> In the container there is no default route getting added:
>>>
>>> $ route -n
>>> Kernel IP routing table
>>> Destination Gateway Genmask Flags Metric Ref Use
>>> Iface
>>> 10.189.69.0 0.0.0.0 255.255.255.128 U 0 0 0
>>> eth2
>>> 172.27.72.0 0.0.0.0 255.255.255.192 U 0 0 0
>>> eth0
>>> 172.27.72.64 0.0.0.0 255.255.255.192 U 0 0 0
>>> eth1
>>>
>>> $ ping 8.8.8.8
>>> connect: Network is unreachable
>>>
>>> Adding the default route manually solves the problem.
>>>
>>> $ sudo route add default gw 10.189.69.1 eth2
>>> $ ping 8.8.8.8
>>> PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
>>> 64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=2.78 ms
>>>
>>> Is there an additional setting needed to add a default route to lxc
>>> containers?
>>>
>>> My subnets are below:
>>>
>>> $ maas maas subnets read
>>> Success.
>>> Machine-readable output follows:
>>> [
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5001/",
>>> "id": 5001,
>>> "vid": 0,
>>> "primary_rack": null,
>>> "mtu": 1500,
>>> "fabric": "fabric-0",
>>> "name": "untagged",
>>> "dhcp_on": false,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/5/",
>>> "allow_proxy": true,
>>> "id": 5,
>>> "gateway_ip": null,
>>> "cidr": "172.27.72.0/26",
>>> "dns_servers": [],
>>> "rdns_mode": 2,
>>> "name": "172.27.72.0/26",
>>> "space": "space-0"
>>> },
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5002/",
>>> "id": 5002,
>>> "vid": 0,
>>> "primary_rack": null,
>>> "mtu": 1500,
>>> "fabric": "fabric-1",
>>> "name": "untagged",
>>> "dhcp_on": false,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/6/",
>>> "allow_proxy": true,
>>> "id": 6,
>>> "gateway_ip": null,
>>> "cidr": "172.27.72.64/26",
>>> "dns_servers": [],
>>> "rdns_mode": 2,
>>> "name": "172.27.72.64/26",
>>> "space": "space-0"
>>> },
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5010/",
>>> "id": 5010,
>>> "vid": 0,
>>> "primary_rack": null,
>>> "mtu": 1500,
>>> "fabric": "fabric-9",
>>> "name": "untagged",
>>> "dhcp_on": false,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/9/",
>>> "allow_proxy": true,
>>> "id": 9,
>>> "gateway_ip": null,
>>> "cidr": "fd0d:ffe0:5771::/64",
>>> "dns_servers": null,
>>> "rdns_mode": 2,
>>> "name": "fd0d:ffe0:5771::/64",
>>> "space": "space-0"
>>> },
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5002/",
>>> "id": 5002,
>>> "vid": 0,
>>> "primary_rack": null,
>>> "mtu": 1500,
>>> "fabric": "fabric-1",
>>> "name": "untagged",
>>> "dhcp_on": false,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/10/",
>>> "allow_proxy": true,
>>> "id": 10,
>>> "gateway_ip": null,
>>> "cidr": "fde9:8f83:4a81::/64",
>>> "dns_servers": null,
>>> "rdns_mode": 2,
>>> "name": "fde9:8f83:4a81::/64",
>>> "space": "space-0"
>>> },
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5001/",
>>> "id": 5001,
>>> "vid": 0,
>>> "primary_rack": null,
>>> "mtu": 1500,
>>> "fabric": "fabric-0",
>>> "name": "untagged",
>>> "dhcp_on": false,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/11/",
>>> "allow_proxy": true,
>>> "id": 11,
>>> "gateway_ip": null,
>>> "cidr": "fde9:8f83:4a81:1::/64",
>>> "dns_servers": null,
>>> "rdns_mode": 2,
>>> "name": "fde9:8f83:4a81:1::/64",
>>> "space": "space-0"
>>> },
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5011/",
>>> "id": 5011,
>>> "vid": 0,
>>> "primary_rack": null,
>>> "mtu": 1500,
>>> "fabric": "fabric-10",
>>> "name": "untagged",
>>> "dhcp_on": false,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/12/",
>>> "allow_proxy": true,
>>> "id": 12,
>>> "gateway_ip": null,
>>> "cidr": "fd0d:ffe0:5771:1::/64",
>>> "dns_servers": null,
>>> "rdns_mode": 2,
>>> "name": "fd0d:ffe0:5771:1::/64",
>>> "space": "space-0"
>>> },
>>> {
>>> "vlan": {
>>> "external_dhcp": null,
>>> "resource_uri": "/MAAS/api/2.0/vlans/5004/",
>>> "id": 5004,
>>> "vid": 0,
>>> "primary_rack": "4y3h7p",
>>> "mtu": 1500,
>>> "fabric": "fabric-3",
>>> "name": "untagged",
>>> "dhcp_on": true,
>>> "secondary_rack": null
>>> },
>>> "resource_uri": "/MAAS/api/2.0/subnets/2/",
>>> "allow_proxy": true,
>>> "id": 2,
>>> "gateway_ip": "10.189.69.1",
>>> "cidr": "10.189.69.0/25",
>>> "dns_servers": [
>>> "10.189.69.5",
>>> "8.8.8.8"
>>> ],
>>> "rdns_mode": 2,
>>> "name": "10.189.69.0/25",
>>> "space": "space-0"
>>> }
>>> ]
>>>
>>> Matt
>>>
>>>
>>> --
>>> Mailing list: https://launchpad.net/~maas-devel
>>> Post to : maas-devel at lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~maas-devel
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>
>>
>> --
>> Andrew McDermott <andrew.mcdermott at canonical.com>
>> Juju Core Sapphire team <http://juju.ubuntu.com>
>>
>
>
--
Andrew McDermott <andrew.mcdermott at canonical.com>
Juju Core Sapphire team <http://juju.ubuntu.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/maas-devel/attachments/20160607/dc822e47/attachment.html>
More information about the Maas-devel
mailing list