Bug 31069

Summary: ругань про resume после обновления до systemd 220
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: make-initrd-propagatorAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: boyarsh, enp, evg, legion, rider, shaba
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
/lib/initrd/filters/{resume,netdev,mountdev} failing none

Description Michael Shigorin 2015-06-16 11:53:44 MSK
В процессе загрузки сегодняшних regular-rc (make-initrd 0.8.8-alt3, systemd 220) наблюдается следующее:

failed to get cgroup: No such file or directory
process '/lib/initrd/filters/resume' failed with exit code 2 // многократно

При загрузке с добавлением propagator-debug и sh -x /lib/initrd/filters/resume наблюдается облом на первой же строчке в силу отсутствия /dev/.initramfs/env; ручной запуск showenv -q аналогично data/lib/initrd/modules/050-udev выдаёт:

RUN_INITRD="1"
HOME="/"
TERMINFO="/etc/terminfo"
TERM="linux"
PATH="/usr/bin:/sbin:/usr/sbin"
PWD="/"

и вручную набранный фрагмент run(), который должен был заполнить /dev/.initramfs/env, отрабатывает.

2 shaba: где бы посмотреть, что там опять в udev наломали?
Comment 1 Michael Shigorin 2015-06-16 12:11:07 MSK
Created attachment 6300 [details]
/lib/initrd/filters/{resume,netdev,mountdev} failing

Присмотрелся -- ещё фильтры netdev и mountdev тоже с exit 2 фигурируют.
Comment 2 Michael Shigorin 2015-06-23 21:38:38 MSK
На udev-221-alt1 у меня продолжает наблюдаться.
Comment 4 Michael Shigorin 2015-11-03 19:55:47 MSK
В общем, проблема в make-initrd-propagator и вызвана она тем, что он реализован поперёк подхода make-initrd -- заменяет init и запускает udevd сам, причём совершенно иначе, нежели тамошний 050-udev; при этом не формируется требуемое для пресловутых фильтров окружение.

Затычка -- удалять при сборке initrd с propagator из образа
etc/udev/rules.d/99-{mountdev,netdev,resume}.rules (т.к. resume в таких контекстах всё равно не предвидится, а вместо mountdev/netdev как раз и работает propagator).

Решение -- переписать m-i-p встраивающимся в m-i образом, доработав и сам m-i;
из переписки:

<legion> т.е. для propagator нужен минимальный образ с дровами и udev,
         но без остального содержимого 
<legion> нужно либо реализовать опциональность добавления остальных стадий
         (тех что после udev), либо удаление
<legion> оба инструмента нужны на самом деле

По-хорошему это бы стоило делать на базе текущих наработок legion@, которые из-за уж не помню каких обнаруженных регрессий в своё время не были отправлены
в сизиф.
Comment 5 Repository Robot 2015-11-03 20:05:20 MSK
make-initrd-propagator-0.28-alt1 -> sisyphus:

* Tue Nov 03 2015 Michael Shigorin <mike@altlinux> 0.28-alt1
- remove superfluous rules duplicating propagator's functionality
  (closes: #31069)
Comment 6 enp 2015-11-05 08:48:50 MSK
(В ответ на комментарий №4)
> В общем, проблема в make-initrd-propagator и вызвана она тем, что он реализован
> поперёк подхода make-initrd

Спасибо за исправление, однако я бы добавил, что сам propagator в принципе реализован поперёк подхода make-initrd, и напомнил бы про фичреквест из https://bugzilla.altlinux.org/show_bug.cgi?id=31068, который устранил бы потребность в propagator.
Comment 7 Michael Shigorin 2015-11-05 14:53:15 MSK
(В ответ на комментарий №6)
> [...] и напомнил бы про фичреквест из bug 31068,
> который устранил бы потребность в propagator.
Остаётся вопрос интерактивной настройки сети -- очень редко, но ещё нужен.
Comment 8 Alexey Gladkov 2015-11-05 16:28:07 MSK
(В ответ на комментарий №7)
> (В ответ на комментарий №6)
> > [...] и напомнил бы про фичреквест из bug 31068,
> > который устранил бы потребность в propagator.
> Остаётся вопрос интерактивной настройки сети -- очень редко, но ещё нужен.

Это делается также отдельной фичей.