Mikhail Gusarov <dotted...@altlinux.org> wrote:

> 
> Twas brillig at 00:55:55 12.04.2009 UTC+04 when mano...@altlinux.org did gyre 
> and gimble:
> 
>  PW>   А чем переписывание конфига целиком непригодно для формирования
>  PW> _первоначального_ вида?
> 
> Конфигуратор в этом случае должен отказываться работать (или
> предупреждать красными мигающими звучащими аршинными буквами о
> перетирании конфига), как только конфиг был изменён по сравнению с тем,
> что было нагенерено во избежание опасности потерять ручные изменения, а
> он этого сейчас, как я понимаю не делает.
> 

  Сейчас этот вопрос я обсуждаю со Стасом.

  Не знаю каково будет окончательное решение, но пока я склоняюсь к
следующему:

  1. решение о перезаписи файла принимается перед запуском сервиса;

  2. файл перезаписывается только в том случае, если в конфигураторе
  включён "режим автоматизированной конфигурации сервиса" (managed
  mode);

  3. в случае перезаписи файла (managed mode on) на консоль выводится
  предупреждение и сообщается имя файла, куда была сохранена резервная
  копия);

  4. кроме перезаписи файла, для обеспечения "прозрачного" режима
  прокси, в iptables добавляются нужные правила (только в manage mode);

  5. перед остановкой сервиса эти правила удаляются
  (только в managed mode и при отключении данного режима);

  6. пользовательский интерфейс работает в двух режимах: "заглушка"
  (managed mode off) и "автоматизированное управление конфигурацией
  сервиса" (managed mode on).

  В режиме заглушки в модуле доступна всего одна страница на которой (по
середине) написано, что сервис прокси-сервера обслуживается в ручном
режиме, а для перехода в "автоматизированный режим настройки" нужно
нажать на кнопку "включить автоматизированный режим". Кроме этой кнопки
на странице может быть кнопка остановки/запуска сервиса. По нажатию этой
кнопки сервис просто останавливается/запускается, без каких-либо
дополнительных действий.

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

  Поскольку alterator-services был упразднён, то (если не принимать во
внимание какую-нибудь экзотику) сервис может быть запущен только двумя
способами: из консоли (service squid start) и через модуль
Альтератора. В обоих случаях выводится предупреждение и сообщается имя
файла резервной копии.

  Почему я не хочу обновлять файл только из модуля altertor-squid, при
нажатии той же кнопки запуск/перезапуск? Ведь в этом случае можно было
бы запросить разрешение как при удалении объекта? Всё дело как раз в
необходимости совершать дополнительные действия с iptables. Если админ
изменил что-то в конфиге вручную, то нет никакой гарантии того, что
правила нужно добавлять/удалять из iptables. Если уж он взялся
администрировать Squid вручную, что пусть он делает это полностью,
включая iptables. И пока он не отключит managed mode, все его потуги
будут аккуратненько копироваться в файл squid.conf.orig-n, о чём ему и
будет говориться.

  Кстати сказать, я планирую по-умолчанию, "first-time", отключать
managed mode и в Альтераторе выводить именно "заглушку": пусть
администратор явно откажется от ручного управления. Думаю что прочитать
сообщение на заглушке и нажать на кнопку не составит труда и для
неопытного администратора.

  Павел.
_______________________________________________
devel-conf mailing list
devel-conf@lists.altlinux.org
https://lists.altlinux.org/mailman/listinfo/devel-conf

Ответить