Bug 43831 - installer-alterator-pkg: установка по HTTP с нераспакованного образа
Summary: installer-alterator-pkg: установка по HTTP с нераспакованного образа
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: installer-alterator-pkg (show other bugs)
Version: unstable
Hardware: all Linux
: P5 enhancement
Assignee: Alexey Sheplyakov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-20 15:49 MSK by Alexey Sheplyakov
Modified: 2022-10-03 19:57 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2022-09-20 15:49:49 MSK
propagator и altboot умеют загружаться с нераспакованного ISO, примерно так:

automatic=method:http,server:netboot.lan,directory:/http/alt-workstation-10.0-aarch64.iso stagename=altinst

При этом ISO скачивается в tmpfs, монитруется в /image, а далее загрузка происходит так же, как и с локального диска.

Однако при установке создаётся кривой sources.list вида

rpm /image ALTLinux main

из-за чего установка останавливается (на шаге "5/12 Установка системы").

Ожидаемое поведение:

создаётся sources.list
rpm file:/image ALTLinux main

и установка завершается успешно.
Comment 1 Alexey Sheplyakov 2022-09-20 17:28:08 MSK
#307110 TESTED #2 [test-only] sisyphus installer-alterator-pkg.git=3.0.2-alt1 installer.git=1.12.5-alt1

Теперь соберу какой-нибудь образ (jeos) и посмотрю, как оно работает
Comment 2 Антон Мидюков 2022-09-20 18:24:15 MSK
(Ответ для Alexey Sheplyakov на комментарий #1)
> #307110 TESTED #2 [test-only] sisyphus
> installer-alterator-pkg.git=3.0.2-alt1 installer.git=1.12.5-alt1
> 
> Теперь соберу какой-нибудь образ (jeos) и посмотрю, как оно работает

А почему бы не исправить глобально method на disk при такой загрузке? Имеем локальное устройство (ram-диск), которое не требуется извлекать.
Дело в том, что в других скриптах тоже могут быть завязки на method и их тоже придётся исправлять.
Делать это надо в propagator. В altboot так сделано, но метод nfs назначается (раньше с method disk были проблемы, я их исправил).
Comment 3 Антон Мидюков 2022-09-20 18:25:41 MSK
Ну т.е. у altboot проблемы нет сейчас с такой установкой.
Comment 4 Alexey Sheplyakov 2022-09-20 19:07:32 MSK
(Ответ для Антон Мидюков на комментарий #3)
> Ну т.е. у altboot проблемы нет сейчас с такой установкой.

Не знаю. Не знаю, на чём проверить - в регулярках только LiveCD.
Предполагаю, что есть, потому что altboot запускает ровно тот же installer.
Comment 5 Антон Мидюков 2022-09-20 19:17:27 MSK
(Ответ для Alexey Sheplyakov на комментарий #4)
> (Ответ для Антон Мидюков на комментарий #3)
> > Ну т.е. у altboot проблемы нет сейчас с такой установкой.
> 
> Не знаю. Не знаю, на чём проверить - в регулярках только LiveCD.
> Предполагаю, что есть, потому что altboot запускает ровно тот же installer.

Проблемы нет (проверить можно на regular-jeos-systemd.iso), я проверял. Переменная METHOD=nfs
Comment 6 Alexey Sheplyakov 2022-09-20 19:20:28 MSK
(Ответ для Антон Мидюков на комментарий #2)
> (Ответ для Alexey Sheplyakov на комментарий #1)
> > #307110 TESTED #2 [test-only] sisyphus
> > installer-alterator-pkg.git=3.0.2-alt1 installer.git=1.12.5-alt1
> > 
> > Теперь соберу какой-нибудь образ (jeos) и посмотрю, как оно работает
> 
> А почему бы не исправить глобально method на disk при такой загрузке? Имеем
> локальное устройство (ram-диск), которое не требуется извлекать.

Потому что есть сетевой интерфейс, который не всегда можно потушить.
А если заменить method на disk, эта информация потеряется.

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

Да, есть, см. #43832. Да, придётся. Исправляю.

> Делать это надо в propagator.

Нет. Задача propagator - скачать и запустить достаточно произвольный userspace.
А не делать работу за этот самый userspace.

> В altboot так сделано, но метод nfs назначается 

Изумительно. Вот я админ, настраиваю загрузку по сети.
Что-то пошло не так. Начинаю разбираться. Вижу, что я задаю method:http,
а получается - nfs. И сразу вопрос - что за ерунда?

Не надо нарушать принцип наименьшего удивления.

Проверяем - есть в /image/ALTLinux репозиторий - прекрасно, используем его.
Нет - если грузились по http/ftp, то пробуем найти репозиторий на сервере.
Всё просто и понятно.


> (раньше с method disk были проблемы, я их исправил).

Ага, потому что нельзя потушить сетевой интерфейс, через который ходит nfs/cifs.
Даже "совсем на чуть-чуть, а потом заново поднять".
Comment 7 Alexey Sheplyakov 2022-09-20 19:22:51 MSK
(Ответ для Антон Мидюков на комментарий #5)
> (Ответ для Alexey Sheplyakov на комментарий #4)
> > (Ответ для Антон Мидюков на комментарий #3)
> > > Ну т.е. у altboot проблемы нет сейчас с такой установкой.
> > 
> > Не знаю. Не знаю, на чём проверить - в регулярках только LiveCD.
> > Предполагаю, что есть, потому что altboot запускает ровно тот же installer.
> 
> Проблемы нет (проверить можно на regular-jeos-systemd.iso), я проверял.
> Переменная METHOD=nfs


1. Подмена method нарушает принцип наименьшего удивления, и запутывает отладку в случае, когда что-то пошло не так.
2. Задача initramfs - загрузить и запустить userspace, а не делать за него работу.
Comment 8 Антон Мидюков 2022-09-20 19:43:11 MSK
(Ответ для Alexey Sheplyakov на комментарий #6)
> > (раньше с method disk были проблемы, я их исправил).
> 
> Ага, потому что нельзя потушить сетевой интерфейс, через который ходит
> nfs/cifs.
> Даже "совсем на чуть-чуть, а потом заново поднять".

Почему нельзя? Мы образ скачали в память. Нам не нужна сеть.(Ответ для Alexey Sheplyakov на комментарий #7)
> (Ответ для Антон Мидюков на комментарий #5)
> > (Ответ для Alexey Sheplyakov на комментарий #4)
> > > (Ответ для Антон Мидюков на комментарий #3)
> > > > Ну т.е. у altboot проблемы нет сейчас с такой установкой.
> > > 
> > > Не знаю. Не знаю, на чём проверить - в регулярках только LiveCD.
> > > Предполагаю, что есть, потому что altboot запускает ровно тот же installer.
> > 
> > Проблемы нет (проверить можно на regular-jeos-systemd.iso), я проверял.
> > Переменная METHOD=nfs
> 
> 
> 1. Подмена method нарушает принцип наименьшего удивления, и запутывает
> отладку в случае, когда что-то пошло не так.
> 2. Задача initramfs - загрузить и запустить userspace, а не делать за него
> работу.

Ну ок. Я был просто обязан довести эту информацию.
Comment 9 Антон Мидюков 2022-09-20 19:45:08 MSK
(Ответ для Антон Мидюков на комментарий #8)
> (Ответ для Alexey Sheplyakov на комментарий #6)
> > > (раньше с method disk были проблемы, я их исправил).
> > 
> > Ага, потому что нельзя потушить сетевой интерфейс, через который ходит
> > nfs/cifs.
> > Даже "совсем на чуть-чуть, а потом заново поднять".
> 
> Почему нельзя? Мы образ скачали в память. Нам не нужна сеть.

Извиняюсь, я уже осознал. Просто удалить эту часть ответа забыл.
Comment 10 Антон Мидюков 2022-09-26 16:24:21 MSK
Alexey Sheplyakov, вот в этом коммите
https://git.altlinux.org/tasks/307110/gears/100/git?p=git;a=commitdiff;h=c6dc8c49c76188a35e9f3741fa1ab4c32dfd5c02

после else отступ не сделали для последующего кода:
+else
 case "$METHOD" in
Comment 11 Repository Robot 2022-10-03 19:57:57 MSK
installer-alterator-pkg-3.0.3-alt1 -> sisyphus:

 Mon Oct 03 2022 Anton Midyukov <antohami@altlinux> 3.0.3-alt1
 - initinstall.d/90-pkg.sh: fix identations
 - initinstall.d/90-pkg.sh: cleanup /etc/apt/sources.list.d/*.list
 Tue Sep 20 2022 Alexey Sheplyakov <asheplyakov@altlinux> 3.0.2-alt1
 - Support installation from ISO via HTTP/FTP (Closes: #43831)