Make-initrd development discussion
 help / color / mirror / Atom feed
From: Alexey Gladkov <gladkov.alexey@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] udhcpc script в фиче network
Date: Thu, 23 Sep 2021 02:45:10 +0200
Message-ID: <20210923004510.vwdythqavekqoow3@example.org> (raw)
In-Reply-To: <b5a40877-30a3-6d5b-8664-a53e85528594@gmail.com>

On Thu, Sep 23, 2021 at 01:06:33AM +0300, Leonid Krivoshein wrote:
> > Ты где-то отдельно пишешь код
> 
> Код отправляю пока в Сизиф и в локальную гитовницу:
> 
> git.altlinux.org/people/klark/packages/make-initrd-bootchain.git

Это отдельный репозиторий, делать ревью коммитов непонятно как.
git.alt/people это почти худшее место для обсуждения хода. Даже тарболл и
патчи в рассылке лучше.

Ты несколько раз говорил про него, но я просто не знаю, что с ним делать.

Я уже понял, что этот репозиторий живёт своей жизнью и имеет свою историю
изменений. Эта история безусловно важна и выкидывать её будет ошибкой. Но
проблема в том, что я не представляю как это мерджить поскольку это даже
как subtree сделать.

Моё предыдущее предложение сделать патчсет уже не актуально в данной
ситуации. Я предполагал, что у тебя будет некая минимальная реализация, а
остальное мы доработали бы в рабочем порядке. В этом случае все изменения
бы ли бы рабочими и проходили обсуждение. Увы, это всё теперь невозможно.

Но ты выбрал иную стратегию. Ты разрабатываешь вещь в себе в отдельном
репозитории. Это просто некое отдельное решение на основе make-initrd.

Этот репозитории повторяет стратегию make-initrd-propagator, который
как-то встраивался в make-initrd. И то и другое отдельно стоящие вещи в
себе. Новый, правда, интегрирован с основным кодом лучше.

> > вместо того чтобы обсуждать и порциями добавлять.
> 
> Если бы работы по обсуждённому ранее плану были завершены, мне бы только и
> оставалось, что добавлять порциями. Но к сожалению работы ещё много. Ты сам
> настаивал, чтобы продукт был тщательно проверен до того, как он поедет в
> апстрим. Находятся замечания, предложения, приходится их устранять и
> учитывать. А из-за этого у меня откладывается работа по автоматизации
> тестового стенда. Конечно лучше, чтобы в апстрим поехал безупречно
> работающий продукт. Ты и сам уже можешь посмотреть код в Сизифе, пощупать
> очередные регулярки с разными опциями и методами загрузки.
> 
> Лично мне кажется, что ни один пакет у нас так пристально не проверялся,
> попадая в обычные продукты. Но altboot -- важное звено в процессе загрузки и
> моя задача учесть совместимость с уже сделанным в Альте за многие годы.

Я начинаю думать, что уже лучше оставить всё как есть сейчас. Пусть
make-initrd-bootchain остаётся отдельным репозиторием и пакетом.

Когда в make-initrd будут появляться новые интерфейсы или фичи, то они
будут начинать использоваться в make-initrd-bootchain. В том числе, когда
какой-то функционал будет переползать в апстрим.

Иначе я просто не представляю как всё уже написанное поддерживать.

> > Ты уже спроектировал и реализовал свою систему так с чем я не
> > могу согласиться.

> мы решаем задачу по избавлению от propagator и запихиванию
> его функционала в make-initrd. Всё это проделано зря, если вместо propagator
> предложить в чистом виде pipeline или иную новую концепцию загрузки, которая
> будет идеальной с точки зрения make-initrd

Так. Очень интересно, но об этом чуть ниже.

> Как раз я старался учесть возможность перехода в будущем на более правильные
> концепции. Но сейчас и тебе надо принять, как данность, что пусть
> "функционал пропагатора" с твоей точки зрения не идеален, лучше чтобы он был
> внутри make-initrd

Вот тут ты ошибаешься. Мне не нужно и тебе не советую принимать как
данность, что нужно повторять поведение, которое написано в 2004. Это
поведение чуть-чуть устарело.

Кроме того, если тебе нужно поведение propagator, то он уже есть и незачем
его переизобретать.

> и работал как 1/80 часть его рантайма, а не наоборот,
> чтобы настоящий propagator полностью выкидывал и заменял собой все 100%
> рантайма make-initrd.

Признаюсь тебе: мне нет дела до propagator. Это древний кусок гов^W кода.
Раньше он замечательно работал без make-initrd. Он делает всё сам и своими
методами.

Считаю ли я, что _функционал_ propagator может быть реализован на
make-initrd ? Да.

Считаю ли я, что поведение propagator нужно воспроизводить ? Нет.

Я считаю, что должна быть сохранена совместимость до определённой степени.
Я не считаю, что нужна полная копия поведения. Для последнего у вас есть
сам propagator.

> Можно и нужно обсуждать, как лучше сделать это, не
> ломая совместимости, и учитывая потребности перехода на что-то более
> правильное в перспективе.

Ты сам себе противоречишь. Я должен принять, как данность функционал
пропагатора и не ломая совместимости с кодом 17 летней (на самом деле
большей) давности переходить на что-то более правильное.

И при этом ты пишешь, что не потянешь сопровождение. Другими словами жить
с и переписывать эту "данность" с учётом совместимости буду я ? Отличная
перспектива.

А давайте сначала вы осознаете, что вам не нужен клон propagator и будете
апстримить уже стазу более правильное ?

Потому что сейчас всё что, сказал выглядит не очень здорово. Выглядит так,
что пропагатор переписанный разом на форк pipeline мне пытаются скинуть на
поддержку.

> > И я до сих пор не видел ни одного патча. Поэтому для
> > меня каждая твоя проблема является большим сюрпризом.
> 
> Кажется, несколько попыток я уже делал, в частности, отдельно предлагал
> bootchain-interactive.

Патчей или PR так и не было.

А каталог bootchain-interactive в упомянутом выше репозитории ничем в
make-initrd не используется. Все сообщения make-initrd идут мимо. Кроме
того, мы уже обсуждали использование других vt.

Я не очень понимаю, что делать с этой фичей в make-initrd-bootchain.git

> Но, как я понял, ты хочешь принять всё одним разом, и
> только после тщательной проверки всей связки. Так мы этой проверкой сейчас
> занимаемся.

Я хотел совсем не этого. См. выше.

> После этого мне ещё README для каждой фичи писать и только потом
> делать коммиты в апстрим -- таков был план.

Не. Этот поезд уже ушёл. Превращать репозиторий с историей изменений в
некий патчет просто не имеет смысла.

> > Я говорил про удаление всей конфигурации не только из-за IFNAME. Если у
> > тебя был dhcp на интерфейсе, а теперь пользователь хочет статику, то dhcp
> > нужно аккуратно остановить.
> 
> В текущей простой ситуации, которую нельзя назвать финальным/идеальным
> вариантом, у пользователя нет шансов что-либо захотеть. :-)

Так это неправильно. Пользователь может такое хотеть. Да и дело не только
в dhcp -> static. Нужно уметь расконфигурировать интерфейс.

> http://git.altlinux.org/gears/m/make-initrd-bootchain.git?p=make-initrd-bootchain.git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=5a1a8d2acd09c06d8091b921803850ea313de2ed;hb=9305bcd041b50b018d7fa4c11cebac4123514b26#l24

> if [ ! -s /bin/network-sh-functions ]; then

В 2.22.0-13-g78001064a я специально реализовал проверку фич о которой мы
говорили.

> > Сначала я хочу понять зачем так в принципе делать т.к. cmdline.d/network
> > не для этого вообще. Мне кажется странным пытаться сконфигурировать сеть
> > путём эмуляции указания /proc/cmdline.
> 
> /proc/cmdline удобен тем, что можно что-то подлатать на лету,

подхакать на лету.

> Даже ядерщики дожили до bootconfig.

Мне кажется ты совсем не понял, зачем они это сделали.

> Я понимаю, что когда ты писал код фич, ты не
> рассчитывал на их повторный запуск. Но как мне быть, если нужно не
> сконфигурированную фичу сконфигурировать и перезапустить? Не делать же
> очередной форк!

Не нужно форкать. Нужно сформировать конфиги, которые используются кодом.
Если код не готов, то нужно предложить патч, который это поправит.

> Твоя фича рассчитывает на параметры из /proc/cmdline.

Ты не понял мой код. Фича network не рассчитывает на параметры из
/proc/cmdline. У неё есть генератор, который преобразует общепринятые
параметры [1] в формат своих конфигов. Она вообще может обойтись без этого
генератора, если конфигурпцию положить в образ при генерации.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/nfs/nfsroot.rst#n88

> А полная совместимость с пропагатором требует другого синтаксиса

А зачем эта совместимость ? Ты пишешь про это как про аксиому.

Я не хочу отвлекаться на кулстори, но когда мы с inger@ писали инсталлер,
то как-то пережили отсутствие совместимости с mandrake. А тут внезапно
появилось желание иметь совместимость с его частью.

> > [...]
> > Я с самого начала обсуждения диалогов говорил, что они должны быть сделаны
> > на системном уровне, чтобы весь код был готов к изменению параметров, но
> > почему-то меня не услышали.
> 
> Тебе видней, как это реализовать на системном уровне, разве кто-то будет
> возражать! Я не так хорошо пока знаю архитектуру make-initrd, но предлагал
> перетащить на верхний уровень bootchain-interactive

Я не понял как ты предлагал это перетакивать. Скопировать код в другой
репозиторий ?

> Кстати, только сегодня
> думал, что может как раз не стоит перетаскивать, а лучше оставить в составе
> пошаговой загрузки на отдельном терминале. Потому что разные фичи
> (запущенные демоны) должны выстраиваться в очередь, диалоги не должны
> мешаться, они не всегда бывают диалогами ввода.

Я уже выше писал, что начал тоже так думать. Пусть всё это пока живёт в
make-initrd-bootchain.

> Про перевод всех параметров
> /proc/cmdline в форму диалогов я правда слышу в первый раз. Мне кажется
> сомнительной такая возможность.

Я говорил не про другие параметры /proc/cmdline, а про дополнительную
информацию и интерактивщину. Последняя уже есть в fsck и luks.

> > > > > Если удастся найти рабочий вариант с диалогами настройки сети "вдогонку", у
> > > > > нас снимется много вопросов о том, как интегрировать bootchain/interactive с
> > > > > уже имеющимися фичами make-initrd. Будет хороший пример, как это можно
> > > > > сделать.
> 
> P.S.: Если хочешь, давай остановимся на версии 0.1.5-alt3 и начнём её
> апстримить. Вот прямо сегодня! :-)

Я уже высказался про это выше.

> Самое жёсткое пересечение -- это форк фичи pipeline в bootchain, только оно
> может затронуть нынешних пользователей pipeline, коих не так много.

Это нужно обсуждать.

-- 
Rgrds, legion



  reply	other threads:[~2021-09-23  0:45 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-17 20:48 Leonid Krivoshein
2021-09-17 22:08 ` Alexey Gladkov
2021-09-19 21:50   ` Leonid Krivoshein
2021-09-21 22:51     ` Leonid Krivoshein
2021-09-22  0:16       ` Leonid Krivoshein
2021-09-22 10:01       ` Alexey Gladkov
2021-09-22 10:09     ` Alexey Gladkov
2021-09-22 10:56       ` Leonid Krivoshein
2021-09-22 11:41         ` Alexey Gladkov
2021-09-22 12:06           ` Leonid Krivoshein
2021-09-22 13:08             ` Alexey Gladkov
2021-09-22 14:46                 ` Alexey Gladkov
2021-09-22 16:12                   ` Leonid Krivoshein
2021-09-22 19:03                     ` Alexey Gladkov
2021-09-22 22:06                       ` Leonid Krivoshein
2021-09-23  0:45                         ` Alexey Gladkov [this message]
2021-09-23  2:31                           ` Антон Мидюков
2021-09-23  8:59                             ` Alexey Gladkov
2021-09-23 20:40                               ` Leonid Krivoshein
2021-09-23 21:15                                 ` Alexey Gladkov
2021-09-23 21:55                                   ` Arseny Maslennikov
2021-09-23 22:41                                     ` Alexey Gladkov
2021-09-23 22:51                                       ` Leonid Krivoshein
2021-09-23 22:56                                   ` Leonid Krivoshein
2021-09-23 23:31                                     ` Alexey Gladkov
2021-09-23  2:40                           ` Leonid Krivoshein
2021-09-23 11:38                             ` Alexey Gladkov
2021-09-24 17:31                               ` Leonid Krivoshein
2021-09-24 18:35                                 ` Leonid Krivoshein
2021-09-24 19:00                                 ` Alexey Gladkov
2021-09-24 20:09                                   ` Leonid Krivoshein
2024-03-07 19:18   ` Leonid Krivoshein
2024-03-12 17:42     ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210923004510.vwdythqavekqoow3@example.org \
    --to=gladkov.alexey@gmail.com \
    --cc=make-initrd@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git