Bug 28484 - Разное именование сетевых интерфейсов в установщике и установленной системе
Summary: Разное именование сетевых интерфейсов в установщике и установленной системе
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: udev (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 27685 28955
  Show dependency tree
 
Reported: 2013-01-31 10:06 MSK by Anton V. Boyarshinov
Modified: 2013-05-15 22:16 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton V. Boyarshinov 2013-01-31 10:06:46 MSK
Хотя и в установщике и в установленной системе используется один и тот же udev 197, в установщике (видимо, в силу особенностей initrd и/или стартовых скриптов установщика) сетевые интерфейсы получают "старые" имена eth[0-9], а после перезагрузки в установленную систему -- новые "enp0s3" и тп..

Что бы это могло быть?
Comment 1 AEN 2013-01-31 10:30:58 MSK
В сборке ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/half-/20130130/regular-icewm-20130130-i586.iso, установленной с liveCD и запущенной в VB, единственный сетевой интерфейс остается eth0.
Но там udev-197-alt1 и ядро 3.7.4-std-def-alt1
Comment 2 AEN 2013-01-31 10:46:50 MSK
(В ответ на комментарий №1)
> В сборке
> ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/half-/20130130/regular-icewm-20130130-i586.iso,
> установленной с liveCD и запущенной в VB, единственный сетевой интерфейс
> остается eth0.
> Но там udev-197-alt1 и ядро 3.7.4-std-def-alt1

А вот после обновления этой системы в процессе загрузки прежнего ядра:
(initrd): Stage 'killall' failed
Comment 3 Anton V. Boyarshinov 2013-01-31 10:50:39 MSK
Yf
/lib/udev/rules.d/80-net-name-slot.rules
Comment 4 AEN 2013-01-31 10:52:05 MSK
(В ответ на комментарий №2)
> (В ответ на комментарий №1)
> > В сборке
> > ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/half-/20130130/regular-icewm-20130130-i586.iso,
> > установленной с liveCD и запущенной в VB, единственный сетевой интерфейс
> > остается eth0.
> > Но там udev-197-alt1 и ядро 3.7.4-std-def-alt1
> 
> А вот после обновления этой системы в процессе загрузки прежнего ядра:
> (initrd): Stage 'killall' failed
Со второй попытки загрузилось, сетевой интерфейс остался eth0
Comment 5 Anton V. Boyarshinov 2013-01-31 10:53:14 MSK
Насколько я понял, проблема в том, что в initrd не попадает
/lib/udev/rules.d/80-net-name-slot.rules
Comment 6 Anton V. Boyarshinov 2013-01-31 10:54:18 MSK
> А вот после обновления этой системы в процессе загрузки прежнего ядра:
> (initrd): Stage 'killall' failed
Это явно не имеет отношения к этой ошибке
Comment 7 Anton V. Boyarshinov 2013-01-31 11:57:36 MSK
(В ответ на комментарий №5)
> Насколько я понял, проблема в том, что в initrd не попадает
> /lib/udev/rules.d/80-net-name-slot.rules

Добавление /lib/udev/rules.d/80-net-name-slot.rules в образ initrd не решает. То ли этого мало, то ли какие-то правила из make-initrd успевают первыми..
Comment 8 Anton V. Boyarshinov 2013-02-06 11:40:19 MSK
Насколько я могу судить, проблема возникает в первую очередь изза того, что файл  75-net-description.rules находится в пакете udev-extras, а 80-net-name-slot.rules -- в пакете udev-rules, но это правило не работает без 75-net-description.rules
Видимо, следует переместить 75-net-description.rules в пакет udev-rules.
Comment 9 Michael Shigorin 2013-02-06 20:26:59 MSK
JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd наблюдаю нормально поднятый по DHCP eth0.  Убрал udev-extras -- порядок.
Comment 10 Alexey Shabalin 2013-02-06 20:35:39 MSK
(В ответ на комментарий №8)
> Насколько я могу судить, проблема возникает в первую очередь изза того, что
> файл  75-net-description.rules находится в пакете udev-extras, а
> 80-net-name-slot.rules -- в пакете udev-rules, но это правило не работает без
> 75-net-description.rules
> Видимо, следует переместить 75-net-description.rules в пакет udev-rules.

отправил на сборку 197-alt3, перенес 75-net-description.rules в пакет udev-rules.
Comment 11 Anton V. Boyarshinov 2013-02-06 20:38:45 MSK
(В ответ на комментарий №9)
> JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной
> системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd
> наблюдаю нормально поднятый по DHCP eth0.  Убрал udev-extras -- порядок.

С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно
Comment 12 AEN 2013-02-06 20:45:57 MSK
(В ответ на комментарий №11)
> (В ответ на комментарий №9)
> > JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной
> > системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd
> > наблюдаю нормально поднятый по DHCP eth0.  Убрал udev-extras -- порядок.
> 
> С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно

Будем надеяться, что не опущенный.
Comment 13 Michael Shigorin 2013-02-06 23:08:16 MSK
(В ответ на комментарий №11)
> С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно
С правильностью согласиться не могу (доводы апстрима читал и нашёл, мягко говоря, недостаточно убедительными); придётся учесть в своих сборках для людей.

Также напоминаю, что стоит проверить обновление при уже существующей сетевой конфигурации -- если у людей с настроенным eth0 обновление принесёт отпад сети, радости их вряд ли будет предел и производная.

Понимаю, что вы с Лёшей в том не виноваты, но перед пользователями отвечаем вместе...
Comment 14 Alexey Shabalin 2013-02-06 23:47:29 MSK
(В ответ на комментарий №13)
> (В ответ на комментарий №11)
> > С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно
> С правильностью согласиться не могу (доводы апстрима читал и нашёл, мягко
> говоря, недостаточно убедительными); придётся учесть в своих сборках для людей.

Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет.

> Также напоминаю, что стоит проверить обновление при уже существующей сетевой
> конфигурации -- если у людей с настроенным eth0 обновление принесёт отпад сети,
> радости их вряд ли будет предел и производная.

Обновление не удаляет ранее сгенерированный рулез. Что бы перейти на новое именование интерфейсов надо самому специально удалить рулез.

> 
> Понимаю, что вы с Лёшей в том не виноваты, но перед пользователями отвечаем
> вместе...
Comment 15 Michael Shigorin 2013-02-07 00:17:14 MSK
(В ответ на комментарий №14)
> Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет.
Если несложно.

[понял, спасибо]
Comment 16 Anton V. Boyarshinov 2013-02-07 11:53:29 MSK
> Будем надеяться, что не опущенный.
А с чего бы ему быть опущенным? Проблема возникала изза того, что в системах, загруженной с установочного носителя и установленной были разные имена интерфейсов (у меня и у Миши оно взрывалось в разные стороны), а теперь будут одинаковые.
Comment 17 Anton V. Boyarshinov 2013-02-07 11:55:16 MSK
udev 197-alt3 и make-initrd-propagator-0.14
Comment 18 Alexey Shabalin 2013-02-07 20:07:39 MSK
(В ответ на комментарий №15)
> (В ответ на комментарий №14)
> > Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет.
> Если несложно.

пакет udev-rule-generator-net
Comment 19 Michael Shigorin 2013-02-08 04:19:25 MSK
(В ответ на комментарий №16)
> > Будем надеяться, что не опущенный.
> А с чего бы ему быть опущенным?
Например, никто не озаботился конфигурированием.  Как подсказал sem@, default/options-eth на dhcp никак нельзя тащить, т.к. бриджам поплохеет (да и не переконфигурировать такое потом альтератором).

> а теперь будут одинаковые.
В общем, изобразил на коленке livecd-net-eth -- хорошо бы его коллегиально посмотреть и довести до приличного вида, раз уж перетаскиваем с предположения об имени интерфейса на определение имён интерфейсов в рантайме.  Больше всего промучился с service-файлом, комментарии опущу, пожалуй.

(В ответ на комментарий №18)
> пакет udev-rule-generator-net
Поймал, вот только и при его установленности в livecd огрёб enp0s3.
Comment 20 Anton V. Boyarshinov 2013-02-08 15:14:49 MSK
Как-то оно всё равно не всегда работает :(
Поставил систему из утреннего сизифа. В процессе установки интерфейсы были en*
после установки: eth*
systemd
правила все на месте нужные.
----------------------
udevadm info /sys/class/net/eth1
P: /devices/pci0000:00/0000:00:04.0/net/eth1
E: DEVPATH=/devices/pci0000:00/0000:00:04.0/net/eth1
E: ID_BUS=pci
E: ID_MM_CANDIDATE=1
E: ID_MODEL_ID=0x8139
E: ID_NET_NAME_MAC=enx805400a16ac8
E: ID_NET_NAME_PATH=enp0s4
E: ID_PCI_CLASS_FROM_DATABASE=Network controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=Ethernet controller
E: ID_PRODUCT_FROM_DATABASE=RTL-8139/8139C/8139C+
E: ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Co., Ltd.
E: ID_VENDOR_ID=0x10ec
E: IFINDEX=3
E: INTERFACE=eth1
E: SUBSYSTEM=net
E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/enp0s4
E: TAGS=:systemd:
E: USEC_INITIALIZED=91173
-----------------------
E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
Comment 21 AEN 2013-02-08 15:26:32 MSK
showstopper, однако.
normal->critical
Comment 22 Alexey Shabalin 2013-02-09 13:47:30 MSK
(В ответ на комментарий №19)
> (В ответ на комментарий №18)
> > пакет udev-rule-generator-net
> Поймал, вот только и при его установленности в livecd огрёб enp0s3.
забыл, надо ещё упаковать симлинк /etc/udev/rules.d/75-net-description.rules -> /dev/null, что бы работал только старый метод.
В следующей сборке.
Comment 23 Alexey Shabalin 2013-02-09 13:49:12 MSK
(В ответ на комментарий №20)
> Как-то оно всё равно не всегда работает :(
> Поставил систему из утреннего сизифа. В процессе установки интерфейсы были en*
> после установки: eth*
> systemd
> -----------------------
> E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли
> кто-то имя успел ему дать, то ли не знаю что..
etcnet переименовал?
Comment 24 Michael Shigorin 2013-02-10 19:47:47 MSK
(В ответ на комментарий №20)
> такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
В dmesg | grep renamed не отметилось?

(В ответ на комментарий №23)
> etcnet переименовал?
Маловероятно, если разве кто iftab создавал.

(В ответ на комментарий №22)
> забыл, надо ещё упаковать симлинк [...] В следующей сборке.
А, тогда работает: http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/tmp/regular-icewm-20130210-i586.iso

Только ещё поправил make-initrd-propagator (0.15-alt1):
http://git.altlinux.org/people/mike/packages/?p=make-initrd-propagator.git;a=commitdiff;h=7f78167fb68e08972af39e7fc1c12f7ca8984323 (чтобы поддерживал оба варианта в зависимости от наличия /lib/udev/write_net_rules).
Comment 25 Anton V. Boyarshinov 2013-02-11 12:48:54 MSK
----------------------
> > E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли
> > кто-то имя успел ему дать, то ли не знаю что..
> etcnet переименовал?
Да с чего бы ему? Тем более, что у  etcnet как раз сконфигурирован enp*
Comment 26 Anton V. Boyarshinov 2013-02-11 12:58:17 MSK
(В ответ на комментарий №24)
> (В ответ на комментарий №20)
> > такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
> В dmesg | grep renamed не отметилось?
[root@host-101 ~]# dmesg | grep renam
[root@host-101 ~]# dmesg | grep eth0
[    0.763611] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 82:54:00:50:91:c1
[    0.763617] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
[    6.414689] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    6.414692] 8021q: adding VLAN 0 to HW filter on device eth0
[    6.416488] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    6.416908] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[root@host-101 ~]#
Comment 27 Alexey Shabalin 2013-02-11 13:59:03 MSK
(В ответ на комментарий №24)
> (В ответ на комментарий №20)
> > такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что..
> В dmesg | grep renamed не отметилось?
> 
> (В ответ на комментарий №23)
> > etcnet переименовал?
> Маловероятно, если разве кто iftab создавал.
> 
> (В ответ на комментарий №22)
> > забыл, надо ещё упаковать симлинк [...] В следующей сборке.
Извиняюсь, ошибся. Надо только 80-net-name-slot.rules скрыть, 75-net-description.rules трогать не надо.
Топравляю в сизиф.

> А, тогда работает:
> http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/mkimage-profiles/tmp/regular-icewm-20130210-i586.iso
> 
> Только ещё поправил make-initrd-propagator (0.15-alt1):
> http://git.altlinux.org/people/mike/packages/?p=make-initrd-propagator.git;a=commitdiff;h=7f78167fb68e08972af39e7fc1c12f7ca8984323
> (чтобы поддерживал оба варианта в зависимости от наличия
> /lib/udev/write_net_rules).
Comment 28 Anton V. Boyarshinov 2013-02-11 17:58:15 MSK
На сегодняшний день наблюдаю такое, немного пародоксальное поведение:
на sysvinit имена интерфейсов en*
на systemd имена интерфейсов eth*
Comment 29 Mikhail Efremov 2013-02-11 19:52:26 MSK
У меня еще веселее.
livecd в kvm:
[altlinux@localhost ~]$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:a1:0b:eb brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:10:5b:ce brd ff:ff:ff:ff:ff:ff

В установленной системе:
[test@c251 ~]$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:a1:0b:eb brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:10:5b:ce brd ff:ff:ff:ff:ff:ff

[test@c251 ~]$ rpm -q udev
udev-197-alt5
Comment 30 Mikhail Efremov 2013-02-11 20:44:47 MSK
> У меня еще веселее.
В инстлятторе все так же: en* и eth1, после установки eth0 и eth1.
Comment 31 Michael Shigorin 2013-02-11 23:10:47 MSK
(В ответ на комментарий №27)
> Извиняюсь, ошибся. Надо только 80-net-name-slot.rules скрыть,
> 75-net-description.rules трогать не надо. Отправляю в сизиф.
Во, так совсем хорошо :)

TWIMC: сделал и отправил в сизиф livecd-net-eth, который позволяет настраивать определившиеся (но не вновь добавляемые) в рантайме ethernet-интерфейсы.
Comment 32 Mikhail Efremov 2013-02-12 20:48:50 MSK
Разное именование интерфейсов - это, похоже, нормально в данном случае, как подсказал boyarsh@.
Главное, что с udev-197-alt6 они теперь называются одинаково и в исталяторе, и в установленной системе.
Мне кажется FIXED.
Comment 33 AEN 2013-02-13 13:26:56 MSK
(В ответ на комментарий №32)
> Разное именование интерфейсов - это, похоже, нормально в данном случае, как
> подсказал boyarsh@.
> Главное, что с udev-197-alt6 они теперь называются одинаково и в исталяторе, и
> в установленной системе.
> Мне кажется FIXED.

2boyarsh: FIXED?
Comment 34 Anton V. Boyarshinov 2013-02-13 13:48:14 MSK
да
Comment 35 Anton Farygin 2013-04-26 10:07:04 MSK
Вылезло сегодня после dist-upgrade до Sisyphus.

udev переименовал интерфейс на сервере в enp0s3 и сеть на нём не поднялась. Кто виноват ?
Comment 36 Anton Farygin 2013-04-26 10:12:25 MSK
вылечил добавление net.ifnames=0 в параметры ядру. Но такое поведение при обновлении чревато.
Comment 37 AEN 2013-04-26 10:14:47 MSK
(В ответ на комментарий №36)
> вылечил добавление net.ifnames=0 в параметры ядру. Но такое поведение при
> обновлении чревато.

http://www.altlinux.org/Update/p7
Comment 38 Michael Shigorin 2013-05-15 22:11:11 MSK
(In reply to comment #24)
> Только ещё поправил make-initrd-propagator (0.15-alt1):
> http://git.altlinux.org/people/mike/packages/?p=make-initrd-propagator.git;a=commitdiff;h=7f78167fb68e08972af39e7fc1c12f7ca8984323
> (чтобы поддерживал оба варианта в зависимости от наличия
> /lib/udev/write_net_rules).
Возможно, это была ошибка, см. тж. bug #28955 comment 8.
Comment 39 Michael Shigorin 2013-05-15 22:16:10 MSK
<vsu> gvy: но работать оно действительно не должно
<vsu> http://git.altlinux.org/gears/s/systemd.git?p=systemd.git;a=commitdiff;h=97595710b77aa162ca5e20da57d0a1ed7355eaad
<vsu> gvy: так что udev-rule-generator-net в таком виде можно только выбросить
<vsu> https://bugs.freedesktop.org/show_bug.cgi?id=53837
<vsu> как обычно, RESOLVED WONTFIX