[00:02] Hello cloud-init channel, I am reaching about to ask the cloud-init rename interface. [00:05] What's the reason behind it to run it by default? Also, is it valid to have different named network interfaces with same mac address? Cloud-init seems to be unable to handle this case and will error out in the renaming interface module [00:40] Minghe: normally why would you have multiple network interfaces with the same MAC address? [00:40] (I'm aware there are specific exceptions to this "rule") [01:23] Not normally but we are running a LISA test called stress_synthetic_with_max_nics_reboot_from_platform where multiple nics created. We have seen intermittent error where cloud-init is unable to rename the nics. And I am see there different interface with same mac address. So I suspect if it's valid case [01:26] it's a valid case because you have a testcase for it? [01:26] what type of NICs are they? [01:26] I believe that c-i only expects some Hyper-V and Mellanox NICs to share MAC addresses [01:26] in my case, I am seeing eth13 and eth7 has same mac address [01:27] but that *type* of nics are they? i.e. which kernel driver is being used? [01:27] s/that/what/ [01:27] and cloud-init ip link set name cmd failed due to file exists [01:27] exity [01:29] oops [01:31] have you determined the kernel driver(s) used for those nics? [01:33] How to I check? I think it's ethernet [01:36] Linux has a 1001 ethernet kernel drivers, "ethtool -i " should tell you the specific driver(s) [01:40] Got it. It's hv_netvsc [01:41] so that's hyper-v [01:42] oh OK. [01:42] So it's a valid setting and cloud-int seems renaming logic seems do not handle this case [01:43] look at cloudinit/net/__init__.py, function filter_vf_with_synthetic_interface function [01:43] "Hyper-V's netvsc driver may register an SR-IOV/VF interface with a mac [01:43] that matches the synthetic (hv_netvsc) interface. This VF will be [01:43] enslaved to the synthetic interface, but cloud-init may be racing this [01:43] process. The [perhaps-yet-to-be-enslaved] VF should never be directly [01:43] configured, so we filter interfaces that duplicate any hv_netvsc mac [01:43] address, as this the most reliable indicator that it is meant to be [01:44] subordinate to the synthetic interface" [01:44] so cloud-init should handle this scenario [01:45] though then again you haven't indicated with version of cloud-init you are testing and on which version of which Linux distro... [01:45] you should open an Issue on the cloud-init github repo with more information [01:46] you also didn't indicate which ethernet kernel driver is being used for the OTHER interface... [01:47] Ok. I am on cloud-init 24.3 testing with azurelinux distro [01:48] I can attach some log here as well [01:48] it is better to open a Github Issue [01:49] ok. Will do. All the eth are hv_netvsc tpye [01:49] I will write up the issue [01:50] that doesn't sound correct, I thought the hv_netsvc interfaces would be "paired" with non-hv_netsvc interfaces with the same mac [01:51] ~I didn't expect multiple hv~_netsvc interfaces with the same mac [01:57] Checking the log Renamed [['60:45:bd:ae:38:38', 'eth0', 'hv_netvsc', '0x3'], ['60:45:bd:ae:3d:59', 'eth1', 'hv_netvsc', '0x3'], ['60:45:bd:ae:3b:fe', 'eth2', 'hv_netvsc', '0x3'], ['60:45:bd:ae:3d:44', 'eth3', 'hv_netvsc', '0x3'], ['60:45:bd:ae:3a:c8', 'eth4', 'hv_netvsc', '0x3'], ['60:45:bd:ae:38:a6', 'eth5', 'hv_netvsc', '0x3'], [01:57] ['60:45:bd:ae:33:e3', 'eth6', 'hv_netvsc', '0x3'], ['60:45:bd:ae:3b:81', 'eth7', 'hv_netvsc', '0x3']] [01:58] Cloud-init v. 24.2-1.azl3 running 'init' at Mon, 18 Nov 2024 08:15:08 +0000. Up 21.64 seconds. [01:58] ci-info: +++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++ [01:58] ci-info: +-----------+-------+------------------------------+---------------+--------+-------------------+ [01:58] ci-info: | Device | Up | Address | Mask | Scope | Hw-Address | [01:58] ci-info: +-----------+-------+------------------------------+---------------+--------+-------------------+ [01:58] ci-info: | cirename0 | False | . | . | . | 60:45:bd:ae:3b:81 | [01:58] ci-info: | eth0 | True | 10.0.0.4 | 255.255.255.0 | global | 60:45:bd:ae:38:38 |:q [01:58] ci-info: | eth0 | True | fe80::6245:bdff:feae:3838/64 | . | link | 60:45:bd:ae:38:38 | [01:58] ci-info: | eth1 | True | fe80::6245:bdff:feae:3bfe/64 | . | link | 60:45:bd:ae:3b:fe | [01:58] ci-info: | eth10 | True | fe80::6245:bdff:feae:33e3/64 | . | link | 60:45:bd:ae:33:e3 | [01:58] ci-info: | eth11 | True | fe80::6245:bdff:feae:3d44/64 | . | link | 60:45:bd:ae:3d:44 | [01:58] ci-info: | eth12 | False | . | . | . | 60:45:bd:ae:3b:81 | [01:58] ci-info: | eth13 | False | . | . | . | 60:45:bd:ae:3d:59 | [01:58] ci-info: | eth14 | True | fe80::6245:bdff:feae:3ac8/64 | . | link | 60:45:bd:ae:3a:c8 | [01:58] ci-info: | eth2 | True | 10.0.5.4 | 255.255.255.0 | global | 60:45:bd:ae:3b:fe | [01:58] ci-info: | eth2 | True | fe80::6245:bdff:feae:3bfe/64 | . | link | 60:45:bd:ae:3b:fe | [01:58] ci-info: | eth3 | True | 10.0.2.4 | 255.255.255.0 | global | 60:45:bd:ae:3d:44 | [01:58] ci-info: | eth3 | True | fe80::6245:bdff:feae:3d44/64 | . | link | 60:45:bd:ae:3d:44 | [01:58] please don't paste large output in the channel [01:59] I don't see any duplicated macs there... [02:00] anyway open a GH Issue and provide full logs in the Issue === dionysos is now known as dilfridge