Summary: | Разное именование сетевых интерфейсов в установщике и установленной системе | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Anton V. Boyarshinov <boyarsh> |
Component: | udev | Assignee: | Alexey Shabalin <shaba> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | aen, arseny, cas, legion, mike, rider, sem, shaba |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 27685, 28955 |
Description
Anton V. Boyarshinov
2013-01-31 10:06:46 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 (В ответ на комментарий №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
Yf /lib/udev/rules.d/80-net-name-slot.rules (В ответ на комментарий №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 Насколько я понял, проблема в том, что в initrd не попадает /lib/udev/rules.d/80-net-name-slot.rules
> А вот после обновления этой системы в процессе загрузки прежнего ядра:
> (initrd): Stage 'killall' failed
Это явно не имеет отношения к этой ошибке
(В ответ на комментарий №5)
> Насколько я понял, проблема в том, что в initrd не попадает
> /lib/udev/rules.d/80-net-name-slot.rules
Добавление /lib/udev/rules.d/80-net-name-slot.rules в образ initrd не решает. То ли этого мало, то ли какие-то правила из make-initrd успевают первыми..
Насколько я могу судить, проблема возникает в первую очередь изза того, что файл 75-net-description.rules находится в пакете udev-extras, а 80-net-name-slot.rules -- в пакете udev-rules, но это правило не работает без 75-net-description.rules Видимо, следует переместить 75-net-description.rules в пакет udev-rules. JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd наблюдаю нормально поднятый по DHCP eth0. Убрал udev-extras -- порядок. (В ответ на комментарий №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. (В ответ на комментарий №9) > JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной > системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd > наблюдаю нормально поднятый по DHCP eth0. Убрал udev-extras -- порядок. С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно (В ответ на комментарий №11) > (В ответ на комментарий №9) > > JFYI, при добавлении udev-extras в regular-icewm.iso получил в установленной > > системе с единственным Ethernet-интерфейсом опущенный enp0s3, при этом в livecd > > наблюдаю нормально поднятый по DHCP eth0. Убрал udev-extras -- порядок. > > С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно Будем надеяться, что не опущенный. (В ответ на комментарий №11) > С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно С правильностью согласиться не могу (доводы апстрима читал и нашёл, мягко говоря, недостаточно убедительными); придётся учесть в своих сборках для людей. Также напоминаю, что стоит проверить обновление при уже существующей сетевой конфигурации -- если у людей с настроенным eth0 обновление принесёт отпад сети, радости их вряд ли будет предел и производная. Понимаю, что вы с Лёшей в том не виноваты, но перед пользователями отвечаем вместе... (В ответ на комментарий №13) > (В ответ на комментарий №11) > > С сегодняшним make-initrd-propagator везде будет enp0s3 и это правильно > С правильностью согласиться не могу (доводы апстрима читал и нашёл, мягко > говоря, недостаточно убедительными); придётся учесть в своих сборках для людей. Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет. > Также напоминаю, что стоит проверить обновление при уже существующей сетевой > конфигурации -- если у людей с настроенным eth0 обновление принесёт отпад сети, > радости их вряд ли будет предел и производная. Обновление не удаляет ранее сгенерированный рулез. Что бы перейти на новое именование интерфейсов надо самому специально удалить рулез. > > Понимаю, что вы с Лёшей в том не виноваты, но перед пользователями отвечаем > вместе... (В ответ на комментарий №14) > Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет. Если несложно. [понял, спасибо]
> Будем надеяться, что не опущенный.
А с чего бы ему быть опущенным? Проблема возникала изза того, что в системах, загруженной с установочного носителя и установленной были разные имена интерфейсов (у меня и у Миши оно взрывалось в разные стороны), а теперь будут одинаковые.
udev 197-alt3 и make-initrd-propagator-0.14 (В ответ на комментарий №15) > (В ответ на комментарий №14) > > Если хочешь, могу тебе запаковать старый генератор рулеза в отдельный пакет. > Если несложно. пакет udev-rule-generator-net (В ответ на комментарий №16) > > Будем надеяться, что не опущенный. > А с чего бы ему быть опущенным? Например, никто не озаботился конфигурированием. Как подсказал sem@, default/options-eth на dhcp никак нельзя тащить, т.к. бриджам поплохеет (да и не переконфигурировать такое потом альтератором). > а теперь будут одинаковые. В общем, изобразил на коленке livecd-net-eth -- хорошо бы его коллегиально посмотреть и довести до приличного вида, раз уж перетаскиваем с предположения об имени интерфейса на определение имён интерфейсов в рантайме. Больше всего промучился с service-файлом, комментарии опущу, пожалуй. (В ответ на комментарий №18) > пакет udev-rule-generator-net Поймал, вот только и при его установленности в livecd огрёб enp0s3. Как-то оно всё равно не всегда работает :( Поставил систему из утреннего сизифа. В процессе установки интерфейсы были 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, такое впечатление, что то ли кто-то имя успел ему дать, то ли не знаю что.. showstopper, однако. normal->critical (В ответ на комментарий №19) > (В ответ на комментарий №18) > > пакет udev-rule-generator-net > Поймал, вот только и при его установленности в livecd огрёб enp0s3. забыл, надо ещё упаковать симлинк /etc/udev/rules.d/75-net-description.rules -> /dev/null, что бы работал только старый метод. В следующей сборке. (В ответ на комментарий №20) > Как-то оно всё равно не всегда работает :( > Поставил систему из утреннего сизифа. В процессе установки интерфейсы были en* > после установки: eth* > systemd > ----------------------- > E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли > кто-то имя успел ему дать, то ли не знаю что.. etcnet переименовал? (В ответ на комментарий №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). ----------------------
> > E: ID_NET_NAME_PATH=enp0s4, а имя всё равно eth0, такое впечатление, что то ли
> > кто-то имя успел ему дать, то ли не знаю что..
> etcnet переименовал?
Да с чего бы ему? Тем более, что у etcnet как раз сконфигурирован enp*
(В ответ на комментарий №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 ~]# (В ответ на комментарий №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). На сегодняшний день наблюдаю такое, немного пародоксальное поведение: на sysvinit имена интерфейсов en* на systemd имена интерфейсов eth* У меня еще веселее. 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 > У меня еще веселее.
В инстлятторе все так же: en* и eth1, после установки eth0 и eth1.
(В ответ на комментарий №27) > Извиняюсь, ошибся. Надо только 80-net-name-slot.rules скрыть, > 75-net-description.rules трогать не надо. Отправляю в сизиф. Во, так совсем хорошо :) TWIMC: сделал и отправил в сизиф livecd-net-eth, который позволяет настраивать определившиеся (но не вновь добавляемые) в рантайме ethernet-интерфейсы. Разное именование интерфейсов - это, похоже, нормально в данном случае, как подсказал boyarsh@. Главное, что с udev-197-alt6 они теперь называются одинаково и в исталяторе, и в установленной системе. Мне кажется FIXED. (В ответ на комментарий №32) > Разное именование интерфейсов - это, похоже, нормально в данном случае, как > подсказал boyarsh@. > Главное, что с udev-197-alt6 они теперь называются одинаково и в исталяторе, и > в установленной системе. > Мне кажется FIXED. 2boyarsh: FIXED? да Вылезло сегодня после dist-upgrade до Sisyphus. udev переименовал интерфейс на сервере в enp0s3 и сеть на нём не поднялась. Кто виноват ? вылечил добавление net.ifnames=0 в параметры ядру. Но такое поведение при обновлении чревато. (В ответ на комментарий №36) > вылечил добавление net.ifnames=0 в параметры ядру. Но такое поведение при > обновлении чревато. http://www.altlinux.org/Update/p7 (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. <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 |