/srv/irclogs.ubuntu.com/2024/12/06/#cloud-init.txt

MingheHello cloud-init channel, I am reaching about to ask the cloud-init rename interface.00:02
MingheWhat'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 module00:05
minimalMinghe: normally why would you have multiple network interfaces with the same MAC address?00:40
minimal(I'm aware there are specific exceptions to this "rule")00:40
MingheNot 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 case01:23
minimalit's a valid case because you have a testcase for it?01:26
minimalwhat type of NICs are they?01:26
minimalI believe that c-i only expects some Hyper-V and Mellanox NICs to share MAC addresses01:26
Minghein my case, I am seeing eth13 and eth7 has same mac address01:26
minimalbut that *type* of nics are they? i.e. which kernel driver is being used?01:27
minimals/that/what/01:27
Mingheand cloud-init ip link set name cmd failed due to file exists01:27
minimalexity01:27
minimaloops01:29
minimalhave you determined the kernel driver(s) used for those nics?01:31
MingheHow to I check? I think it's ethernet01:33
minimalLinux has a 1001 ethernet kernel drivers, "ethtool -i <interface>" should tell you the specific driver(s)01:36
MingheGot it. It's hv_netvsc01:40
minimalso that's hyper-v01:41
Mingheoh OK.01:42
MingheSo it's a valid setting and cloud-int seems renaming logic seems do not handle this case01:42
minimallook at cloudinit/net/__init__.py, function filter_vf_with_synthetic_interface function01:43
minimal"Hyper-V's netvsc driver may register an SR-IOV/VF interface with a mac01:43
minimal    that matches the synthetic (hv_netvsc) interface.  This VF will be01:43
minimal    enslaved to the synthetic interface, but cloud-init may be racing this01:43
minimal    process.  The [perhaps-yet-to-be-enslaved] VF should never be directly01:43
minimal    configured, so we filter interfaces that duplicate any hv_netvsc mac01:43
minimal    address, as this the most reliable indicator that it is meant to be01:43
minimal    subordinate to the synthetic interface"01:44
minimalso cloud-init should handle this scenario01:44
minimalthough then again you haven't indicated with version of cloud-init you are testing and on which version of which Linux distro...01:45
minimalyou should open an Issue on the cloud-init github repo with more information01:45
minimalyou also didn't indicate which ethernet kernel driver is being used for the OTHER interface...01:46
MingheOk. I am on cloud-init 24.3 testing with azurelinux distro01:47
MingheI can attach some log here as well01:48
minimalit is better to open a Github Issue01:48
Mingheok. Will do. All the eth are hv_netvsc tpye01:49
MingheI will write up the issue01:49
minimalthat doesn't sound correct, I thought the hv_netsvc interfaces would be "paired" with non-hv_netsvc interfaces with the same mac01:50
minimal~I didn't expect multiple hv~_netsvc interfaces with the same mac01:51
MingheChecking 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
Minghe['60:45:bd:ae:33:e3', 'eth6', 'hv_netvsc', '0x3'], ['60:45:bd:ae:3b:81', 'eth7', 'hv_netvsc', '0x3']]01:57
MingheCloud-init v. 24.2-1.azl3 running 'init' at Mon, 18 Nov 2024 08:15:08 +0000. Up 21.64 seconds.01:58
Mingheci-info: +++++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++++01:58
Mingheci-info: +-----------+-------+------------------------------+---------------+--------+-------------------+01:58
Mingheci-info: |   Device  |   Up  |           Address            |      Mask     | Scope  |     Hw-Address    |01:58
Mingheci-info: +-----------+-------+------------------------------+---------------+--------+-------------------+01:58
Mingheci-info: | cirename0 | False |              .               |       .       |   .    | 60:45:bd:ae:3b:81 |01:58
Mingheci-info: |    eth0   |  True |           10.0.0.4           | 255.255.255.0 | global | 60:45:bd:ae:38:38 |:q01:58
Mingheci-info: |    eth0   |  True | fe80::6245:bdff:feae:3838/64 |       .       |  link  | 60:45:bd:ae:38:38 |01:58
Mingheci-info: |    eth1   |  True | fe80::6245:bdff:feae:3bfe/64 |       .       |  link  | 60:45:bd:ae:3b:fe |01:58
Mingheci-info: |   eth10   |  True | fe80::6245:bdff:feae:33e3/64 |       .       |  link  | 60:45:bd:ae:33:e3 |01:58
Mingheci-info: |   eth11   |  True | fe80::6245:bdff:feae:3d44/64 |       .       |  link  | 60:45:bd:ae:3d:44 |01:58
Mingheci-info: |   eth12   | False |              .               |       .       |   .    | 60:45:bd:ae:3b:81 |01:58
Mingheci-info: |   eth13   | False |              .               |       .       |   .    | 60:45:bd:ae:3d:59 |01:58
Mingheci-info: |   eth14   |  True | fe80::6245:bdff:feae:3ac8/64 |       .       |  link  | 60:45:bd:ae:3a:c8 |01:58
Mingheci-info: |    eth2   |  True |           10.0.5.4           | 255.255.255.0 | global | 60:45:bd:ae:3b:fe |01:58
Mingheci-info: |    eth2   |  True | fe80::6245:bdff:feae:3bfe/64 |       .       |  link  | 60:45:bd:ae:3b:fe |01:58
Mingheci-info: |    eth3   |  True |           10.0.2.4           | 255.255.255.0 | global | 60:45:bd:ae:3d:44 |01:58
Mingheci-info: |    eth3   |  True | fe80::6245:bdff:feae:3d44/64 |       .       |  link  | 60:45:bd:ae:3d:44 |01:58
minimalplease don't paste large output in the channel01:58
minimalI don't see any duplicated macs there...01:59
minimalanyway open a GH Issue and provide full logs in the Issue02:00
=== dionysos is now known as dilfridge

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!