[Devel-conf] Generated config files

Vladislav Zavjalov slazav на altlinux.org
Вт Апр 14 11:21:58 MSD 2009


> Небольшая контора, местный админ особо не рубит, юзает
> конфигуратор. Что-то не получается, привлекается сторонняя контора с
> грамотными спецами. Что происходит дальше? Если локальный админ в состоянии,
> он даёт ssh-доступ, либо спец из конторы сам приезжает на место. Как он будет
> настраивать? Или ручками, или возьмёт готовый конфиг с какого-нибудь другого
> своего хоста, и поправит по месту. Дело сделано, $$$ заплачены.
> 
> Через месячишко локальный админ решил что-то поправить.
> 1. Лезет в конфигуратор.
> 2. ???
> 3. FAIL

Мне кажется, тут получается два разных подхода, от смешения которых ничего
хорошего не происходит:

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

2. модули Альтератора, как части некоторой самодостаточной системы
настройки. Тыкнул в одном месте -- все поменялось согласованным образом
во многих местах.

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

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

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

Кстати, могу сообщить, что по этой схеме сделан сейчас
alterator-net-iptables. Он знает про все допустимые варианты
использования и производит настройку так, как считает нужным,
не сохраняя старой кофигурации. Мне сейчас этот модуль очень нравится,
логика его работы кажется простой и понятной. А вот в разумность системы,
где надо брать старую старую конфигурацию и честно подгонять ее под
совершенно чуждую и бедную логику интерфейса, я что-то не верю.

Очевидно, что такие модули уже не унверсальны, а должны
рассматриваться только как часть конкретного, ограниченного по
функциональности продукта.
(В этом смысле, кстати, печально, что у нас не принятно "защищать Сизиф
от конкретных проектов", разрабатывать свои проекты по отдельным
репозитариям, с возможностью мерджить полезное друг у друга и в Сизиф,
причем не срочно, а когда изменения всех устроят. Вот и получается, что
специка, придуманая под конкретный продукт оказывается одна на всех.)

Слава




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