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 13:38:14 +0200
Message-ID: <20210923113814.ib7rjlvungq6gcyn@example.org> (raw)
In-Reply-To: <df553e50-5517-cd33-6369-b4b41c9ba02a@gmail.com>

On Thu, Sep 23, 2021 at 05:40:10AM +0300, Leonid Krivoshein wrote:
> > Этот репозитории повторяет стратегию make-initrd-propagator, который
> > как-то встраивался в make-initrd. И то и другое отдельно стоящие вещи в
> > себе. Новый, правда, интегрирован с основным кодом лучше.
> 
> Я так понимаю, это всё из-за интеграции с network. Но посуди сам: pipeline и
> network, плюс ещё несколько новых фич, это и есть тот набор, что ты сделал
> на замену пропагатора, я лишь приделываю к этому диалоги и совместимость с
> нынешним stage2. Если что-то не так приделываю, можно же это предметно
> обсуждать. Да, я сначала думал делать полный или частичный форк фичи
> network, потому что были большие сомнения, что удастся с ней
> интегрироваться. Но это последнее, что нужно было altboot, чтобы быть больше
> похожим на propagator (по возможностям) и удалось обойтись без форка, в
> отличии от pipeline. Ты можешь сказать, чем плоха такая интеграция? http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918
> -- работает просто идеально.

К вопросу о ревью: вот и как предполагается комментировать код с git.alt ?
Ок, буду по ссылкам.

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l12

Про это я уже писал. Это проверяется не так.

Остальной интегрируется так, что не использует ничего из того с чем
интегрируется.

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l32

В network-sh-functions есть ipv4_enabled.

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l51

Теряются абсолютно все ошибки. Ошибки в ip=, в macaddr, в указании масок.
Вместо всего этого будет "can't reconfigure network settings". Этого быть
не должно.

Также я уже говорил, что я думаю про дёргание /lib/initrd/cmdline.d/network.

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l56

Этот шаг можно выполнить лишь один раз. Это не вяжется у меня с

"Can't bridge up network interface. Try with other network settings, wired
connection and/or cable."

Если пользователь попробует тот же интерфейс с другими настройками, то
второй раз проверки не будет ???

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l65

Хардкод имени интерфейса. is_loopback().

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l67

Для чего эта проверка ?

http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l73

Я полагаю это проверка на то что интерфейс поднят ? Если да, то is_link_up
Если проверка на присутствие адреса, то "/.initrd/online/$NET_IF".

> > Кроме того, если тебе нужно поведение propagator, то он уже есть и незачем
> > его переизобретать.
> 
> Выше озвучивались не просто общие слова -- у нас куча граблей и нет способа
> быстро перейти на make-initrd + pipeline с ними. Вот простейший пример, мы
> готовимся избавиться от isolinux для legacy/x86, но сколько это будет
> тянуться -- неизвестно. Он сам (его брэндинг) добавляет опции пропагатора в
> загрузку и на это приходится ориентироваться, так как если не работает,
> сразу баг.

Я уж не знаю вашей кухни, но вообще-то, да, это сразу бага.
Бага на брэндинг. Он передаёт устаревшие параметры.

Новый make-initrd+bootchain всё равно требует либо дополнительных, либо
других параметров для включения новых фич.

> > Считаю ли я, что поведение propagator нужно воспроизводить ? Нет.
> 
> В каком смысле? Я не копировал его повеление в точности. Но методы -- нужны,
> совместимость со stage2 -- нужна. Многое сделано лучше и модульно, это
> нельзя назвать 100% копией поведения. И всё делалось в пределах исходной
> концепции pipeline, код декомпозирован.

Если ты не копируешь повеление в точности, то пожалуйста поясни свой
тезис:

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

Если ты не занимаешься копированием, то неправильного "функционала
пропагатора" в новом коде быть не должно.

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

http://git.altlinux.org/gears/p/propagator.git?p=propagator.git;a=commitdiff;h=08639c8fafa30e0f78d19f1c5831fd2b1cc2bc02

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

Ваш _инсталлятор_ был написан для Server 4 (который был ещё до branch4).
Этот инсталлер, как и предыдущий использовал propagator как stage1. Так
что вашему инсталлеру уже примерно 11-12 лет, а propagator же был за долго
до него.

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

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

Всё что я принимаю в репозиторий я понимаю и поддерживаю. Я должен
понимать код и как он работает именно потому что он переходит от коммитера
в репозиторий.

> Не, ну давай будем поддерживать всем миром. ))

Именно потому что ты ставишь здесь смайлики я и не принимаю просто
"написанный код".

> Мне кажется, что моя помощь в написании кода, документации, методики
> тестирования и инструментов для автоматизации тестирования с лихвой
> покроет даже моё неучастие в дальнейшей судьбе.

Обычно так и происходит. Коммитер пишет код, тестирует, документирует его,
отдаёт в апстрим и идёт своей дорогой. Но так происходит лишь тогда, когда
апстрим понимает и согласен со всеми предложенными изменениями.

То что ты написал не подпадает под последнее. У меня есть много вопросов
как архитектуре фич, так и к реализации. Когда ты решишь разрешишь все эти
вопросы, тогда я заберу код, а ты, если хочешь, можешь не участвовать в
его дальнейшей судьбе.

> Но я могу помогать с поддержкой, по возможности, хотя слабо представляю,
> как это возможно, когда это войдёт в состав make-initrd.

После вхождения изменений в мой репозиторий я не требую от тебя какой-то
поддержки. Но такое возможно лишь при разрешении всех моих вопросов.

> > Потому что сейчас всё что, сказал выглядит не очень здорово. Выглядит так,
> > что пропагатор переписанный разом на форк pipeline мне пытаются скинуть на
> > поддержку.
> 
> Да, есть немного и такого дела. А как бы ты хотел? Я тебя прекрасно понимаю.
> Вчера собрались регулярки и не грузится RPi4, сразу ко мне вопрос. В
> результате altboot оказался не причём, но так мне хотя бы спокойнее будет, а
> тебе какая разница, 80 тыс. строк кода поддерживать или 86 тыс., ты же к
> такому уже привык!? :-)

Так вот оно что.

То есть ты просто единовременно переписал propagator на шелле, а не на
make-initrd, потому что твой код использует остальной мой код по
минимуму, получил make-initrd-propagator, но теперь с банановым вкусом и
хочешь, чтобы уже с новым неподдерживаемым кодом возился я (ты сам
пишешь, что не тянешь его поддержку).

Нет, Леонид, так просто у тебя скинуть на меня это не получится. Я заберу
у тебя только то с чем буду полностью согласен. 

> > Патчей или PR так и не было.
> 
> Я собирал тестовые задания с патчами, приводил тут на них ссылки. Нет у меня
> на гитхабе аккаунта или я не очень понимаю в этой терминологии.

Леонид, я не сотрудник, который работает с тобой. У меня нет возможности
анализировать тестовые задания и патчи в них.

Патчи можно слать по почте в рассылку или лично, можно завести аккаунт на
github и делать PR там, как это делает Пётр Михалицын.

Ещё раз для ясности: Я не готов лазать по каким-то там тестовым заданиям,
пакетам в сизифе с целью "а что бы такого ещё запстримить". Мне это не
нужно.

> 
> > > А полная совместимость с пропагатором требует другого синтаксиса
> > А зачем эта совместимость ? Ты пишешь про это как про аксиому.
> 
> Потому что есть целая куча пакетов и документации в продуктах к ним, которые
> его используют. Например, для работы со слоями NFS, для сетевой установки. Я
> уже говорил выше, что речь о совместимости именно с этими многолетними
> наработками, которые разом не выкинуть, не заменить.

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

> > Я не понял как ты предлагал это перетакивать. Скопировать код в другой
> > репозиторий ?
> 
> п.7 здесь (самый конец):
> https://lists.altlinux.org/pipermail/make-initrd/2021-August/000521.html

Ок. Давай процитирую:

> > 6. Будешь ли ты сам ревьювить полностью отлаженный код до начала
> > процесса
> > апстрима или тебе лучше делать это по ходу?
> 
> Мне удобнее по ходу так как если вдруг возникнут вопросы, то править будет
> удобнее.

Мне удобнее по ходу. По ходу!!! Ты хоть куда-нибудь патчи посылал для
обсуждения ? В рассылке их нет. В личке тоже.

> > 7. Предлагаю такую последовательность отправки коммитов:
> > bootchain-interactive, затем bootchain-core + bootchain-getimage +
> > bootchain-waitdev, затем замена фичи pipeline виртуальной зависимостью
> > на
> > фичи bootchain-getimage и bootchain-waitdev, всё остальное (вся пачка
> > altboot), можно одним коммитом. Так пойдёт?
> 
> Вполне.

А тут ты про некую последовательность коммитов говорил, но где они ???
Я до сих пор не получил ни одного коммита. Все эти разговоры пустая
болтовня какая-то.

> и первый ответ тут:
> https://lists.altlinux.org/pipermail/make-initrd/2021-August/000525.html
> 
> я был уверен, что уже удалил то задание, но нет. :-)
> так это и был патч для make-initrd с фичей interactive.

Блин, опять какое-то тестовое задание, где нужно искать, что ты там
наменял. Я даже ссылку на строчку в diff с которой не согласен не могу
прислать сюда. Ещё бы через DHL распечатки кода прислали.

Знаешь, что мне такие "коммиты" даром не нужны. Далее обсуждать такой
подход добавления изменений в make-initrd не имеет смысла.

Если захочешь узнать как это делается без издевательства на ревьювером, то
спроси у Глеба или Димы.

-- 
Rgrds, legion



  reply	other threads:[~2021-09-23 11:38 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
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 [this message]
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=20210923113814.ib7rjlvungq6gcyn@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