Comment 1 for bug 1528217

Revision history for this message
Michael Foord (mfoord) wrote :

When address-allocation is off, 1.25.1 uses dhcp for containers. The code in apiserver/provisioner/provisioner.go has changed a great deal in 1.25.2 (specifically prepareOrGetContainerInterfaces) and now renders a manual interface.

Example of /e/n/i for a container with 1.25.1:

# loopback interface
auto lo
iface lo inet loopback
# interface "eth0"
auto eth0
iface eth0 inet dhcp

With 1.25.2:

# loopback interface
auto lo
iface lo inet loopback

# interface "eth0"
auto eth0
iface eth0 inet manual
    pre-up ip address add 172.16.0.5/32 dev eth0 &> /dev/null || true
    up ip route replace 172.16.0.1 dev eth0
    up ip route replace default via 172.16.0.1
    down ip route del default via 172.16.0.1 &> /dev/null || true
    down ip route del 172.16.0.1 dev eth0 &> /dev/null || true
    post-down ip address del 172.16.0.5/32 dev eth0 &> /dev/null || true

Our code for getting nameservers and DNS search from resolv.conf is only triggered when address allocation is on. This change probably needs reverting (why was it made?) or we need to use resolv.conf unconditionally for containers, not just when address allocation is on.