[devel] об обсуждении подходов к оценке надёжности Sisyphus
Денис Смирнов
=?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Ср Ноя 26 14:15:14 MSK 2003
On Wed, Nov 26, 2003 at 11:27:52AM +0300, Stanislav Ievlev wrote:
> Ну допустим. Приходит в Сизиф новый bind10. Лежит себе в .incoming -
> _небольшое_ количество разработчиков (не админов) тестируют его в своих
> конфигурациях. По каким-то, до сих пор не сформулированным критериям,
> решают, что он надёжный.
> Пакет переезжает в Сизиф. админ X делает dist-upgrade по крону ... и
> опаньки. Оказывается в его очень специфической настройке bind, bind10 не
> работает. Просто разработчик не админ и не знал, что такие ситуации
> существуют. Цель .incoming не выполнена.
Цель -- _увеличить надёжность_. То есть _уменьшить вероятность сбоя_, а не
свести её к нулю (что, как я уже говорил, принципиально невозможно при
нынешней практике писать софт на си).
> Так что вопрос остаётся. Вы знаете критерий оценки надёжности пакета.
> Пользуясь которым _разработчики_ могли бы признавать пакет годным для
> перемещения. Ибо как понимаете если админ начинает смотреть .incoming, то
> зачем он нужен. Проще не проводить синхронизацию рабочих серверов каждый
> день. Как правило это и не нужно.
Предположим в данный конкретный день мне надо сделать обновление. А там
как раз сейчас валяется какой-нибудь пакет, которому 2 дня назад уже
выставили в BTS block-bug сборки. И что тогда делать? Ждать пока баг
закроют?
Смотреть incoming должны не админ, а именно разработчики. Или те админы,
которые по каким-то причинам считают нужным использовать в своей работе
Сизиф, и обслуживают большое количество машин (тогда им имеет смысл
участвовать в этом тестировании).
>> Поэтому можно либо закрывать глаза на такое его использование, либо
>> искать принимать меры, которые позволят убить сразу уйму зайцев без
>> негативных последствий для тех, кто привык и кому нравится нынешний
>> механизм разработки.
> Как бы при таком массовом убийстве зайцев и себя не задеть. Ибо как
> известно чтобы убить разбегающихся зайцев одним махом нужна бомба.
Или нечто скорострельное и самонаводящееся.
> Вот тут мы дошли до сути проблемы. Сизиф это _не дистрибутив_, а репозитарий.
> Давайте не будем переворачивать всё с ног на голову и переформулируем
> проблему так. Нужен способ полуавтоматического выпуска дистрибутивов
> скажем раз в месяц. Мы готовы к этому? Я думаю, что при текущем состоянии
> инфраструктуры нет. Сначала нужен реальный _репозитарий_ a-la sandman.
> Почему sandman-репозитарий не внедрён до сих пор, хотя разговоры между
> Сашей и Димой были уже неоднократно, надо ,как я понимаю, спрашивать у
> них.
Полуавтоматический выпуск дистрибутива это уже другой шаг, никак не
связаный с тем, что предлагаю я. Я предлагаю сделать так, чтобы без
усложнений и негативных последствий для кого бы то ни было увеличить
надёжность Сизифа.
>>>>> 3. кто всё это будет поддерживать.
>>>> Скрипты.
>>> Не всё можно охватить скриптами.
>>> Даже сейчас при наличии большого количества скриптов приходится иногда
>>> incoming переводить на ручное управление.
>> Все те изменения, которые я предложил здесь, отлично скриптуемы.
> Только если есть критерий. Его пока нет.
Критерий -- время. Речь идёт о том, чтобы разделить Сизиф на две части --
одна содержит уже протестированые пакеты (временем и людьми), другая
пакеты только что помещённые. Кто-то прописывает в apt только первый
репозиторий, кто-то оба.
> > > Нет никаких гарантий, что нетривиальные замены библиотек,
> > > преименование/образование подпакетов можно будет полностью охватить скриптами.
> > Образование подпакетов легко, потому как работать система будет на уровне
> > src.rpm, и сколько там подпакетов ей будет всё равно. Переименование --
> > отлично сработает само, так как новый помещаемый в дистрибутив пакет (с
> > другим именем) должен конфликтовать со старым (насколько я помню), таким
> > образом, если у этих пакетов один и тот же мантейнер, то он может быть
> > вынесен скриптом автоматически.
> Ну допустим src.rpm. Тогда, проверки придётся делать по 45000 пакетам при
> добавлении 10 пакетов. Каждое добавление в Сизиф будет занимать порядка 20
> минут. Это не реально.
Я не понял, какие проверки нужно делать по 45000 пакетам.
> > >> Для "заглушки" критерием может быть
> > >> время модификации, от которого прошло N часов (24?);
> > >> это даст эффект "админ должен быть в меру тормознутым" -- у
> > >> разработчиков будет фора в эти N часов на dist-upgrade и
> > >> использование пакета.
> > > Как и кем определяются эти N часов. Если была бага на которую кто-то ещё
> > > не напарывался - то не факт что через N часов она самоликвидируется.
> > За N часов её можно найти и повесить в BTS, и тогда пакет перемещён не
> > будет. Выбирать это самое N пока придётся опытным путём, потом можно
> > анализировать статистику.
> Флаг в руки ;)
> Пока ещё никто такого делать не научился (определять среднестатистическое
> обнаружение баги) ;)
> Было бы так. Не находили бы баги в 2.2 спустя несколько лет после выхода 2.4?
> Если за N принимать среднее - то будет срабатывать пример с bind10.
Не пытаюсь я искать серебряную пулю, не пытаюсь. И решить одним махом все
проблемы с безопасностью и надёжностью считаю невозможным. Посему
предлгаю вполне разумную технологию, которая заметно улучшит текущую
ситуацию и не имеет никаких (по крайней мере хоть кем-либо здесь
высказаных) негативных сторонних эффектов.
--
С уважением, Денис
http://freesource.info
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20031126/cb5dee6f/attachment-0001.bin>
Подробная информация о списке рассылки Devel