← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1657940] Re: eni rendering dhcp6 writes aliases fails to bring up dhcp6

 

** Changed in: cloud-init
       Status: In Progress => Fix Committed

** Also affects: cloud-init (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: cloud-init (Ubuntu)
       Status: New => Fix Committed

** Changed in: cloud-init (Ubuntu)
       Status: Fix Committed => Confirmed

** Changed in: cloud-init (Ubuntu)
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1657940

Title:
  eni rendering dhcp6 writes aliases fails to bring up dhcp6

Status in cloud-init:
  Fix Committed
Status in cloud-init package in Ubuntu:
  Confirmed

Bug description:
  Currently, a config like this:
  | version: 1
  | config:
  |    - 'type': 'physical'
  |      'name': 'iface0'
  |      'subnets':
  |        - {'type': 'dhcp4'}
  |        - {'type': 'dhcp6'}

  Will render:
  | auto lo
  | iface lo inet loopback
  | 
  | auto iface0
  | iface iface0 inet dhcp
  |     post-up ifup iface0:1
  | 
  | 
  | auto iface0:1
  | iface iface0:1 inet6 dhcp

  Below is an example test case that shows the output.
  Heres the problem:
  $ sudo sh -c 'ifdown eth0; ifup eth0'
  $ sudo sh -c 'ifdown eth0; ifup eth0'
  Killed old client process
  Internet Systems Consortium DHCP Client 4.3.3
  Copyright 2004-2015 Internet Systems Consortium.
  All rights reserved.
  For info, please visit https://www.isc.org/software/dhcp/

  Listening on LPF/eth0/06:b3:0a:3a:2d:e3
  Sending on   LPF/eth0/06:b3:0a:3a:2d:e3
  Sending on   Socket/fallback
  DHCPRELEASE on eth0 to 172.31.16.1 port 67 (xid=0x32b625f1)
  Internet Systems Consortium DHCP Client 4.3.3
  Copyright 2004-2015 Internet Systems Consortium.
  All rights reserved.
  For info, please visit https://www.isc.org/software/dhcp/

  Listening on LPF/eth0/06:b3:0a:3a:2d:e3
  Sending on   LPF/eth0/06:b3:0a:3a:2d:e3
  Sending on   Socket/fallback
  DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0xa4d5f301)
  DHCPREQUEST of 172.31.29.161 on eth0 to 255.255.255.255 port 67 (xid=0x1f3d5a4)
  DHCPOFFER of 172.31.29.161 from 172.31.16.1
  DHCPACK of 172.31.29.161 from 172.31.16.1
  bound to 172.31.29.161 -- renewal in 1801 seconds.

  Failed to bring up eth0:1.
  Failed to bring up eth0.

  $ sudo ifup -v eth0:1
  Parsing file /etc/network/interfaces.d/50-cloud-init.cfg
  Parsing file /etc/network/interfaces.d/60-ipv6.cfg
  Configuring interface eth0:1=eth0:1 (inet6)
  /bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
  run-parts: executing /etc/network/if-pre-up.d/ethtool
  run-parts: executing /etc/network/if-pre-up.d/ifenslave
  + [ inet6 = meta ]
  + IF_BOND_SLAVES=
  + [  ]
  + [  ]
  + [ -z  ]
  + exit
  run-parts: executing /etc/network/if-pre-up.d/vlan
  /sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.
  /sbin/sysctl -q -e -w net.ipv6.conf.eth0:1.accept_ra=1

  /bin/ip link set dev eth0:1  up
  /lib/ifupdown/wait-for-ll6.sh
  /sbin/dhclient -1 -6 -pf /run/dhclient6.eth0:1.pid -lf /var/lib/dhcp/dhclient6.eth0:1.leases -I -df /var/lib/dhcp/dhclient.eth0:1.leases eth0:1

  
  --- a/tests/unittests/test_net.py
  +++ b/tests/unittests/test_net.py
  @@ -813,6 +813,27 @@ class TestEniRoundTrip(TestCase):
           self.assertEqual(
               expected, [line for line in found if line])
   
  +    def test_dhcp4_and_dhcp6(self):
  +        conf = yaml.load(textwrap.dedent("""\
  +            version: 1
  +            config:
  +               - 'type': 'physical'
  +                 'name': 'iface0'
  +                 'subnets': 
  +                   - {'type': 'dhcp4'}
  +                   - {'type': 'dhcp6'}
  +               """))
  +
  +        #conf = [
  +        #    {'type': 'physical', 'name': 'iface0',
  +        #     'subnets': [
  +        #         {'type': 'dhcp4'},
  +        #         {'type': 'dhcp6'},
  +        #     ]},
  +        #]
  +        files = self._render_and_read(network_config=conf)
  +        raise Exception(files['/etc/network/interfaces'])
  +

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1657940/+subscriptions


References