[00:14] minimal: what, even, is dhcp6? [00:15] what do you mean? I've using a network-config v2 file [00:16] so "version: 2\nethernets:\n eth0:\n dhcp4:false\n dhcp6: true\n [00:19] but cloud-init.log shows: stages.py[INFO]: Applying network configuration from ds bringup=False: {'version': 2, 'ethernets': {'eth0': {'dhcp4': True, 'dhcp6': True}}} [00:21] I mean, what does dhcp6 do? [00:21] ra? [00:22] it enables DHCPv6 support, that's not the issue though, I want to disable DHCPv4 support but it is somehow being overriden [00:22] meena: DHCPv6 would work together with RA, yes.........but that's not relevant to the issue [00:35] oh, I didn't know there *is* DHCPv6 [00:36] RFC 3315 from 2003 [00:52] there is a cloud-init testcase for dhcpv6 only, but its using network-config v1, not v2, as input [01:11] minimal: on Ubuntu, since we have netplan, v2 config is passed directly though to the renderer layer and written out to /etc/netplan/50-cloud-init.yaml for us. For non-netplan systems the network config gets converted to internal network_state and eventually rendered out to the network backplane. Alpine linux is /etc/network/interfaces (ENI) right? [01:12] blackboxsw: figured it out - cidata ISO works as expected, eni file does not have dhcpv4 entry, however using same v2 network-config in a seed directory DHCPv4 *is* enabled - I guess its perhaps merging seed dir config with fallback somehow? [01:13] minimal: right, each nocloud datasource meta-data is sourced with priority and merged together if multiple sources are viable [01:13] right, but I was using only seed directory, no other source and the dhcp4: false was flipped to dhcp4: true [01:14] ohh, hrm [01:15] separately, for network-config v2 still trying to work out to indicate non-static-IPv6, non-dhcpv6-~IPv6, e.g. slaac related, RA related stuff [01:15] i.e. in order to get "iface eth0 inet6 auto" in /e/n/i file [01:16] "dhcp6: true" gives me "iface eth0 inet6 dhcp" which is fine for DHCPv6 [01:16] hrm wondering what default could be generating that dhcp4: true. [01:17] that's why I wondered if somehow the "fallback" was being consulted [01:18] It's possible in an image that network config could also be present in the image in /etc/cloud or /etc/cloud.cfg.d/*.cfg which would pollute any other network config provided from other sources for nocloud [01:18] but, I'm grasping at straws [01:18] not in my images ;-) [01:19] and the behaviour is different when I built an image with files in the seed directory vs with no such files but provided with cidata ISO at boot time [01:25] DataSourceNoCloud::_merge_new_seed looks like it will completely overwrite the entire network-config of the latest valid seed file it sees any network-config in a discovered nocloud viable source. So I don't see how it is getting a 'merge' of network-config from one source vs another here https://github.com/canonical/cloud-init/blob/main/cloudinit/sources/DataSourceNoCloud.py#L343 [01:26] it looks to me like last network-config present anywhere wins out in NoCloud [01:27] which would be network-config file seen on CIDATA labeled device. [01:28] yeah, that's fine, the strangeness appeared when there was a CIDATA provided, only /var/lib/cloud/seed/nocloud/network-config [01:29] s/was a/was no/ [01:29] not sure offhand, and being pulled into the weekend vortex shortly :/ [01:30] no problem, I'll have a look at it again myself [01:31] would welcome your thoughts on IPv6 network-config v2 settings in general (especially for eni rather than netplan) but we can chat about that next week [01:32] +1 will mull that over .. this is related to "separately, for network-config v2 still trying to work out to indicate non-static-IPv6, non-dhcpv6-~IPv6, e.g. slaac related, RA related stuff" ? [01:33] yeah, I've used static IPv6 in the past fine, its all that other stuff and how to get eni with the right settings for it [01:34] ok this is broader than me, but will refresh context a bit on it to see if I can think of something smart to say there [01:34] the testcases for this seem to only use v1 config [01:40] yeah looking at commit history too in this space 62bbc262c3c7f633eac1d09ec78c055eef05166a and aa1014cae2e326109581d4624f3a195a89369fd7 makes me think there may be a gap there in v2. But I'll have to get more context there to be sure [01:44] I'll think up more work for you over the weekend ;-)