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