Fuel agent genereate wrong rules for 70-persistent-net.rules
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
In Progress
|
Medium
|
Alexander Gordeev | ||
7.0.x |
Fix Released
|
High
|
Fuel Toolbox |
Bug Description
Steps to reproduce:
MOS7 with MU3
1)Create env with hardware nodes(in this case it's DL180 G9s)
2)Assign networks to interfaces
3)Start deployment
Actual results:
Deployment stuck, because hardware servers never come back after deployment. This is because eth NIC for admin network renamed by udev in wrong way.
Here is file generated by fuel-agent:
root@node-47:~# cat /etc/udev/
# Generated by fuel-agent during provisioning: BEGIN
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
# Generated by fuel-agent during provisioning: END
Problem here is that when udev first time rename interface to something like eth1->rename2. The next rename is not works, because it doesn't match KERNLER='eth*' rule.
It can be resolved really easy, we just need to delete KERNEL="eth*", from rule definition. Below is fixed file, that did the trick
root@node-47:~# cat /etc/udev/
# Generated by fuel-agent during provisioning: BEGIN
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
# Generated by fuel-agent during provisioning: END
The same system was able to correctly rename interfaces:
[ 56.442750] systemd-
[ 56.510752] systemd-
[ 56.554635] systemd-
The buggy code is here:
Master - https:/
MOS7 - https:/
Expected result:
Deployment should finish successfully.
lspic output:
05:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
0c:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)
0c:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10)
Steps to Verify:
1) Ensure that initramfs image contains 70-persistent-
2) Ensure that renaming is happening very early. Search dmesg.log for 'renamed' entries. They should have happened very early and right after the NICs become recognized by udev. Not after dozens of seconds of uptime.
description: | updated |
no longer affects: | fuel/newton |
Changed in fuel: | |
assignee: | Fuel Toolbox (fuel-toolbox) → Alexander Gordeev (a-gordeev) |
tags: | added: on-verification |
Changed in fuel: | |
milestone: | 10.0 → 10.1 |
Starting from 8.0 default interface naming schema is biosdevnaming. So not assigning bug to 8.0 and 9.0.
Although there is a possibility to switch back to persistent naming ethX. Although it is not default. So will add 10.0 with medium priority.