[devel] [I] rpm-build-vm: vm-run

Anton Farygin rider на basealt.ru
Ср Окт 16 07:56:11 MSK 2019


On 16.10.2019 2:41, Leonid Krivoshein wrote:
>
>
> 15.10.2019 21:48, Anton Farygin пишет:
>> On 15.10.2019 21:33, Dmitry V. Levin wrote:
>>> On Tue, Oct 15, 2019 at 09:28:09PM +0300, Anton Farygin wrote:
>>>> On 15.10.2019 21:22, Dmitry V. Levin wrote:
>>>>> On Tue, Oct 15, 2019 at 02:30:16PM +0300, Anton Farygin wrote:
>>>>>> On 15.10.2019 10:32, Michael Shigorin wrote:
>>>>>>> Зачем это тащить в hasher, особенно если на сборочнице?
>>>>>>> Собрал тестовое задание, гоняешь по нему спокойно тесты.
>>>>>> Есть цель сделать автоматическое тестирование воспроизводимым 
>>>>>> образом и
>>>>>> сразу в процессе сборки пакета.
>>>>> Вопрос, что мешает поместить всё необходимое в сборочную среду?
>>>>>
>>>> Я не совсем понимаю механизм, с помощью которого я могу поместить всё
>>>> необходимое в сборочную среду.
>>> А что из себя представляет всё необходимое?
>> Для того теста, который я хотел бы попробовать сделать - это 
>> репозиторий apt, из которого собирался данный hasher root (или доступ 
>> к этому репозиторию через apt).
>>
>> Грубо говоря - если мы хотим проверить инструментарий работы с 
>> репозиторием (apt, packagekit) во время сборки полноценно, то 
>> небольшого синтетического набора пакетов скорее всего будет 
>> недостаточно и его надо проверять на всей  доступной пакетной базе.
>>
>
> Мне кажется, что сильно ограниченный чрут, коим является hasher, равно 
> как и vm-run, для решения данной задачи не подходят. С 
> qemu-виртуалками я без проблем пробрасываю /ALT внутрь через 9p. Как я 
> понимаю, запрос не на фичу в vm-run -- она может пробросить через 9p 
> из хэшера что угодно. Вопрос на предоставление /ALT/чего-то/там через 
> механизм хэшера allowed_mountpoints на публичной сборочнице. Обычно в 
> хэшере не нужен APT, поскольку он снаружи вместе со своим aptbox'ом. 
> Но ничто не мешает положить ещё один APT внутрь. Наверное, для себя 
> пропатчить hasher-priv можно, но будет ли такая фича полезна в 
> публичной сборочнице -- вопрос к ldv@ и команде glebfm на .
>
> По-моему, такую автоматизацию проще выполнять на виртуалках, а не в 
> хэшере. При этом должен быть доступ ко всем состояниям репозитория. 
> Для автоматизации сборки/изменения/наполнения виртуалки можно 
> использовать мой autorun и полезную возможность qemu --no-reboot. Не 
> для всех архитектур пока, правда.

Такая автоматизация вне сборочницы уже есть и в целом работает.

Вопрос в том, что бы сделать её работу доступной для всех сборочных 
заданий и разработчиков. С публичными отчётами и логами о тестировании. 
Появление vm-run делает её в принципе возможной.

>
> В этой связи есть призыв (адресую всем, кто ведёт свои тайные 
> разработки) -- максимально унифицировать механизмы взаимодействия с 
> hasher, qemu, sudo-root a.k.a. tar2fs, потенциально возможными в 
> степях obivalger@ и shaba@ аналогичными инструментами контейнеризации. 
> Чтобы внутренние скрипты, выполняющие что-то полезное "как бы под 
> рутом" внутри этой среды были не очень сильно зависимыми от того, кто 
> и какую среду им смоделировал снаружи. А главное, чтобы в процессе 
> моделирования можно было, в зависимости от архитектуры и задачи, 
> определять более подходящий инструмент моделирования. Воспроизводимой 
> сборки пакетов это, конечно, не касается, речь об автоматизации 
> тестирования, сборки и перепаковки образов, моделирования сетевого 
> взаимодействия, построения сложных стендов, итп.

Сложные стенды вообще тяжело строить унифицированными инструментами. 
Часто так случается, что для сложных стендов наши инструменты в принципе 
не существуют (простой пример - стенд, одна из составляющих которых 
работает под Windows).





Подробная информация о списке рассылки Devel