ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] Песочница и аудит для Альтератора (новая тема)
@ 2009-10-30  7:32 Stanislav Ievlev
  2009-10-30 11:14 ` Paul Wolneykien
  0 siblings, 1 reply; 10+ messages in thread
From: Stanislav Ievlev @ 2009-10-30  7:32 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Поскольку тред был загажен нервными товарищами, то меняю тему.

В письме было поднято очень много тем. Выскажусь на одну из них.

Возможно для массового администрирования и возможности отката действий
подошла бы такая схема.
1. Все команды оформляются как задания, информация о заданиях хранятся в БД.
2. У каждого задания есть некий job retention, что позволит не засорять базу.
3. Поскольку конфигурирование орудует с объектами очень разной
природы, то как откатить какое-либо действие знает только бакенд.
Поэтому возможно что в ответ на вызов метода-модификатора будет
возвращаться команда для отката действия.
4. Команды для отката действия также сохраняются в БД вмести с
заданием и при необходимости могут быть вызваны.

Всё это навеяно архитектурой бакулы ;)

29 октября 2009 г. 1:19 пользователь Paul Wolneykien
<manowar@altlinux.org> написал:
> Всем привет.
>
>  В ходе проектирования ЦМУ для Кольчуг и прочих кластеров, я пришёл к
> выводу, что комплексное обновление параметров кластера является
> стрессовой ситуацией для администратора и представляет проблему даже при
> большой степени автоматизации. Для того, чтобы как-то облегчить ему эту
> процедуру, было бы логичным дать ему возможность провести анализ
> предстоящих изменений и скорректировать свои действия.
>
>  Поскольку состояние системы представляется через Альтератор как набор
> параметров объектов, то возможно и логично показать администратору
> сводную таблицу параметров, с указанием их текущего и будущего состояния
> на каждом из узлов сети. С каждым параметром в этом случае должно быть
> связано некоторое внешнее имя или название, но это не проблема, я думаю.
>
>  Поскольку каждая совершаемая в подобных условиях операция может быть
> снабжена временным штампом и комментариями производящего действие лица,
> кроме возможности проанализировать свои действия, администратор получает
> возможность вести учёт действий, совершаемых им или третьими лицами. В
> перспективе можно предположить даже возможность "отката" определённых
> действий, т.е. возврата системы в состояние, соответствующее
> определённому временному штампу.
>
>  Основная проблема с организацией такого предварительного просмотра
> изменений -- это необходимость как-то предсказывать будущие значения
> параметров объектов или, говоря другими словами, реакцию системы на
> производимые действия. Самым надёжным способом такого предсказания было
> бы производить заданные действия с дубликатом системы, однако такое
> решение, очевидно, слишком накладно. Удешевить его нам позволяет тот
> факт, что дубликат системы вовсе не обязательно должен обладать полной
> её функциональностью, а напротив, быть эквивалентным ей лишь по строго
> ограниченному набору входных и выходных параметров. Вместо исходных
> служб в системе дубликате могут работать "службы-заглушки", и основным
> вопросом становится вопрос об эффективной методике построения таких
> заглушек.
>
>  Одним из критериев для заглушки я полагаю возможность её работы в
> окружении Hasher, поскольку именно Hasher я считаю наиболее вероятной
> платформой для построения системы-дубликата.
>
>  Дальше можно попытаться произвести проекцию типичных функций исходных
> служб в типичные функции заглушек. Первое что приходит на ум -- это
> свести функцию запуска службы к проверки корректности её
> конфигурационных файлов: если конфигурационный файл был признан
> корректным, то заглушка приобретает статус "работает"; иначе заглушка
> должна сообщать о невозможности запуска. Некоторые программы имеют
> доступные для вызова функции проверки конфигурационных файлов, и этим
> можно было бы воспользоваться.
>
>  В рамках данной задачи, отдельную категорию служб представляют, как
> мне кажется, программы, динамически приобретающие некоторое переменное
> состояние, такие как iptables. Можно ли каким-либо образом безопасно
> задействовать исходную программу iptables в качестве заглушки я не знаю.
> Мне представляется, что для этого нужно было бы иметь соответствующую
> заглушку для ядра, однако как эффективно построить последнюю я не знаю.
> Как я уже указывал, вариант полностью функционирующей системы-дубликата,
> пусть даже и в виртуальной машине, затрачивал бы ресурсы системы
> впустую.
>
>  Мне было бы интересно узнать, что вы обо всём этом думаете, нужна на
> ваш взгляд ли такая система и как её можно было бы реализовать.
>
>    Паша.
>
>
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30  7:32 [devel] Песочница и аудит для Альтератора (новая тема) Stanislav Ievlev
@ 2009-10-30 11:14 ` Paul Wolneykien
  2009-10-30 11:51   ` Anton Farygin
  0 siblings, 1 reply; 10+ messages in thread
From: Paul Wolneykien @ 2009-10-30 11:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В Птн, 30/10/2009 в 10:32 +0300, Stanislav Ievlev пишет:
> 3. Поскольку конфигурирование орудует с объектами очень разной
> природы, то как откатить какое-либо действие знает только бакенд.
> Поэтому возможно что в ответ на вызов метода-модификатора будет
> возвращаться команда для отката действия.

  А почему изменение конфигурации нужно как-то откатывать иначе чем
накатывать? Речь, на мой взгляд, просто в версии конфигурационного
файла. Git-справится. Другое дело, что git diff покажет дельту между
файлами, в которой чёрт ногу сломит. Поэтому я думаю, что стоит
показывать дельту между "/obj action read" который был раньше и "/obj
action read" который мы имеем сейчас. Вот в чём была моя основная идея.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 11:14 ` Paul Wolneykien
@ 2009-10-30 11:51   ` Anton Farygin
  2009-10-30 11:58     ` Paul Wolneykien
  0 siblings, 1 reply; 10+ messages in thread
From: Anton Farygin @ 2009-10-30 11:51 UTC (permalink / raw)
  To: ALT Linux Team development discussions

30.10.2009 14:14, Paul Wolneykien пишет:
> В Птн, 30/10/2009 в 10:32 +0300, Stanislav Ievlev пишет:
>> 3. Поскольку конфигурирование орудует с объектами очень разной
>> природы, то как откатить какое-либо действие знает только бакенд.
>> Поэтому возможно что в ответ на вызов метода-модификатора будет
>> возвращаться команда для отката действия.
>
>    А почему изменение конфигурации нужно как-то откатывать иначе чем
> накатывать? Речь, на мой взгляд, просто в версии конфигурационного
> файла. Git-справится. Другое дело, что git diff покажет дельту между
> файлами, в которой чёрт ногу сломит. Поэтому я думаю, что стоит
> показывать дельту между "/obj action read" который был раньше и "/obj
> action read" который мы имеем сейчас. Вот в чём была моя основная идея.

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





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 11:51   ` Anton Farygin
@ 2009-10-30 11:58     ` Paul Wolneykien
  2009-10-30 12:03       ` Anton Farygin
  2009-10-30 13:04       ` Stanislav Ievlev
  0 siblings, 2 replies; 10+ messages in thread
From: Paul Wolneykien @ 2009-10-30 11:58 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В Птн, 30/10/2009 в 14:51 +0300, Anton Farygin пишет:
> 30.10.2009 14:14, Paul Wolneykien пишет:
> > В Птн, 30/10/2009 в 10:32 +0300, Stanislav Ievlev пишет:
> >> 3. Поскольку конфигурирование орудует с объектами очень разной
> >> природы, то как откатить какое-либо действие знает только бакенд.
> >> Поэтому возможно что в ответ на вызов метода-модификатора будет
> >> возвращаться команда для отката действия.
> >
> >    А почему изменение конфигурации нужно как-то откатывать иначе чем
> > накатывать? Речь, на мой взгляд, просто в версии конфигурационного
> > файла. Git-справится. Другое дело, что git diff покажет дельту между
> > файлами, в которой чёрт ногу сломит. Поэтому я думаю, что стоит
> > показывать дельту между "/obj action read" который был раньше и "/obj
> > action read" который мы имеем сейчас. Вот в чём была моя основная идея.
> 
> Идея стоящая. Т.е. - можно добавить какую-то прослойку, которая будет 
> хранить все состояния дерева объектов. И, в зависимости от команды 
> -откатывать простым write нового значения ?

  Нет, простым write, к сожалению не получится. Стас, в своё время, не
завёл такого полиси, чтобы все операции выполнялись исключительно
посредством read/write. Так что я думаю использовать read и list только
для просмотра и сравнения. А восстанавливать конфигурационные файлы
напрямую из гита.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 11:58     ` Paul Wolneykien
@ 2009-10-30 12:03       ` Anton Farygin
  2009-10-30 12:14         ` Paul Wolneykien
  2009-10-30 12:24         ` Alexey I. Froloff
  2009-10-30 13:04       ` Stanislav Ievlev
  1 sibling, 2 replies; 10+ messages in thread
From: Anton Farygin @ 2009-10-30 12:03 UTC (permalink / raw)
  To: ALT Linux Team development discussions

30.10.2009 14:58, Paul Wolneykien пишет:
> В Птн, 30/10/2009 в 14:51 +0300, Anton Farygin пишет:
>> 30.10.2009 14:14, Paul Wolneykien пишет:
>>> В Птн, 30/10/2009 в 10:32 +0300, Stanislav Ievlev пишет:
>>>> 3. Поскольку конфигурирование орудует с объектами очень разной
>>>> природы, то как откатить какое-либо действие знает только бакенд.
>>>> Поэтому возможно что в ответ на вызов метода-модификатора будет
>>>> возвращаться команда для отката действия.
>>>
>>>     А почему изменение конфигурации нужно как-то откатывать иначе чем
>>> накатывать? Речь, на мой взгляд, просто в версии конфигурационного
>>> файла. Git-справится. Другое дело, что git diff покажет дельту между
>>> файлами, в которой чёрт ногу сломит. Поэтому я думаю, что стоит
>>> показывать дельту между "/obj action read" который был раньше и "/obj
>>> action read" который мы имеем сейчас. Вот в чём была моя основная идея.
>>
>> Идея стоящая. Т.е. - можно добавить какую-то прослойку, которая будет
>> хранить все состояния дерева объектов. И, в зависимости от команды
>> -откатывать простым write нового значения ?
>
>    Нет, простым write, к сожалению не получится. Стас, в своё время, не
> завёл такого полиси, чтобы все операции выполнялись исключительно
> посредством read/write. Так что я думаю использовать read и list только
> для просмотра и сравнения. А восстанавливать конфигурационные файлы
> напрямую из гита.

Есть большая засада с тем, что не всё хранится именно в конфигурационных 
файлах.

Да, и таким образом, например, не откатить создание пользователя. Тут 
нужно подумать как следует.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 12:03       ` Anton Farygin
@ 2009-10-30 12:14         ` Paul Wolneykien
  2009-10-30 12:40           ` Paul Wolneykien
  2009-10-30 12:24         ` Alexey I. Froloff
  1 sibling, 1 reply; 10+ messages in thread
From: Paul Wolneykien @ 2009-10-30 12:14 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В Птн, 30/10/2009 в 15:03 +0300, Anton Farygin пишет:
> 30.10.2009 14:58, Paul Wolneykien пишет:
> > В Птн, 30/10/2009 в 14:51 +0300, Anton Farygin пишет:
> >> 30.10.2009 14:14, Paul Wolneykien пишет:
> >>> В Птн, 30/10/2009 в 10:32 +0300, Stanislav Ievlev пишет:
> >>>> 3. Поскольку конфигурирование орудует с объектами очень разной
> >>>> природы, то как откатить какое-либо действие знает только бакенд.
> >>>> Поэтому возможно что в ответ на вызов метода-модификатора будет
> >>>> возвращаться команда для отката действия.
> >>>
> >>>     А почему изменение конфигурации нужно как-то откатывать иначе чем
> >>> накатывать? Речь, на мой взгляд, просто в версии конфигурационного
> >>> файла. Git-справится. Другое дело, что git diff покажет дельту между
> >>> файлами, в которой чёрт ногу сломит. Поэтому я думаю, что стоит
> >>> показывать дельту между "/obj action read" который был раньше и "/obj
> >>> action read" который мы имеем сейчас. Вот в чём была моя основная идея.
> >>
> >> Идея стоящая. Т.е. - можно добавить какую-то прослойку, которая будет
> >> хранить все состояния дерева объектов. И, в зависимости от команды
> >> -откатывать простым write нового значения ?
> >
> >    Нет, простым write, к сожалению не получится. Стас, в своё время, не
> > завёл такого полиси, чтобы все операции выполнялись исключительно
> > посредством read/write. Так что я думаю использовать read и list только
> > для просмотра и сравнения. А восстанавливать конфигурационные файлы
> > напрямую из гита.
> 
> Есть большая засада с тем, что не всё хранится именно в конфигурационных 
> файлах.

  Да. И вот тут как раз таки и нужна прослойка. И, кстати сказать, в
некоторых случаях она уже имеется. Например правила iptables статически
хранятся в etcnet.

> 
> Да, и таким образом, например, не откатить создание пользователя. Тут 
> нужно подумать как следует.

  Да, сфера применения ограниченная. Но, вообще говоря, такие вещи как
пакетная база и пользователи я не отношу к "настройкам".




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 12:03       ` Anton Farygin
  2009-10-30 12:14         ` Paul Wolneykien
@ 2009-10-30 12:24         ` Alexey I. Froloff
  2009-10-30 12:30           ` Paul Wolneykien
  1 sibling, 1 reply; 10+ messages in thread
From: Alexey I. Froloff @ 2009-10-30 12:24 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1262 bytes --]

On Fri, Oct 30, 2009 at 03:03:56PM +0300, Anton Farygin wrote:
> Есть большая засада с тем, что не всё хранится именно в конфигурационных 
> файлах.
> Да, и таким образом, например, не откатить создание пользователя. Тут 
> нужно подумать как следует.
Ruby on Rails database migrations:

$ cat db/migrate/002_issue_move.rb
class IssueMove < ActiveRecord::Migration
  # model removed
  class Permission < ActiveRecord::Base; end

  def self.up
    Permission.create :controller => "projects", :action => "move_issues", :description => "button_move", :sort => 1061, :mail_option => 0, :mail_enabled => 0
  end

  def self.down
    Permission.find(:first, :conditions => ["controller=? and action=?", 'projects', 'move_issues']).destroy
  end
end

$ rake --describe db:migrate:     
rake db:migrate:down
    Runs the "down" for a given migration VERSION.

rake db:migrate:redo
    Rollbacks the database one migration and re migrate up. If you want to rollback more than one step, define STEP=x. Target specific version with VERSION=x.

rake db:migrate:reset
    Resets your database using your migrations for the current environment

rake db:migrate:up
    Runs the "up" for a given migration VERSION.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 12:24         ` Alexey I. Froloff
@ 2009-10-30 12:30           ` Paul Wolneykien
  0 siblings, 0 replies; 10+ messages in thread
From: Paul Wolneykien @ 2009-10-30 12:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В Птн, 30/10/2009 в 15:24 +0300, Alexey I. Froloff пишет:
> On Fri, Oct 30, 2009 at 03:03:56PM +0300, Anton Farygin wrote:
> > Есть большая засада с тем, что не всё хранится именно в конфигурационных 
> > файлах.
> > Да, и таким образом, например, не откатить создание пользователя. Тут 
> > нужно подумать как следует.
> Ruby on Rails database migrations:
> 
> $ cat db/migrate/002_issue_move.rb
> class IssueMove < ActiveRecord::Migration
>   # model removed
>   class Permission < ActiveRecord::Base; end
> 
>   def self.up
>     Permission.create :controller => "projects", :action => "move_issues", :description => "button_move", :sort => 1061, :mail_option => 0, :mail_enabled => 0
>   end
> 
>   def self.down
>     Permission.find(:first, :conditions => ["controller=? and action=?", 'projects', 'move_issues']).destroy
>   end
> end

  Только что шла речь про ответы на английском.
  Отвечать на Ruby тоже нехорошо! ;)

  Прокомментируй, пожалуйста. :)




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 12:14         ` Paul Wolneykien
@ 2009-10-30 12:40           ` Paul Wolneykien
  0 siblings, 0 replies; 10+ messages in thread
From: Paul Wolneykien @ 2009-10-30 12:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В Птн, 30/10/2009 в 15:14 +0300, Paul Wolneykien пишет:
>   Да, сфера применения ограниченная. Но, вообще говоря, такие вещи как
> пакетная база и пользователи я не отношу к "настройкам".

  Но мне кажется, что для управления шлюзами вполне годится.

  Я завёл страничку на вики, где попытался более подробно описать такую
систему. Она называется ЦМПУ -- Центр мониторинга, прогнозирования и
управления.

  http://www.altlinux.org/ЦМПУ

  Паша.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Песочница и аудит для Альтератора (новая тема)
  2009-10-30 11:58     ` Paul Wolneykien
  2009-10-30 12:03       ` Anton Farygin
@ 2009-10-30 13:04       ` Stanislav Ievlev
  1 sibling, 0 replies; 10+ messages in thread
From: Stanislav Ievlev @ 2009-10-30 13:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

30 октября 2009 г. 14:58 пользователь Paul Wolneykien
<manowar@altlinux.org> написал:
> В Птн, 30/10/2009 в 14:51 +0300, Anton Farygin пишет:
>> 30.10.2009 14:14, Paul Wolneykien пишет:
>> > В Птн, 30/10/2009 в 10:32 +0300, Stanislav Ievlev пишет:
>> >> 3. Поскольку конфигурирование орудует с объектами очень разной
>> >> природы, то как откатить какое-либо действие знает только бакенд.
>> >> Поэтому возможно что в ответ на вызов метода-модификатора будет
>> >> возвращаться команда для отката действия.
>> >
>> >    А почему изменение конфигурации нужно как-то откатывать иначе чем
>> > накатывать? Речь, на мой взгляд, просто в версии конфигурационного
>> > файла. Git-справится. Другое дело, что git diff покажет дельту между
>> > файлами, в которой чёрт ногу сломит. Поэтому я думаю, что стоит
>> > показывать дельту между "/obj action read" который был раньше и "/obj
>> > action read" который мы имеем сейчас. Вот в чём была моя основная идея.
>>
>> Идея стоящая. Т.е. - можно добавить какую-то прослойку, которая будет
>> хранить все состояния дерева объектов. И, в зависимости от команды
>> -откатывать простым write нового значения ?
>
>  Нет, простым write, к сожалению не получится. Стас, в своё время, не
> завёл такого полиси, чтобы все операции выполнялись исключительно
> посредством read/write. Так что я думаю использовать read и list только
> для просмотра и сравнения. А восстанавливать конфигурационные файлы
> напрямую из гита.
Полиси не завелось само собой ибо если всё сводить к файловым
операциям, то достаточно быстро это перестаёт быть естественным
процессом и приходится заниматься изобретательством и притягиваниями
за уши. Это ,кстати, одна из причин почему отказались от admfs.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-10-30 13:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-30  7:32 [devel] Песочница и аудит для Альтератора (новая тема) Stanislav Ievlev
2009-10-30 11:14 ` Paul Wolneykien
2009-10-30 11:51   ` Anton Farygin
2009-10-30 11:58     ` Paul Wolneykien
2009-10-30 12:03       ` Anton Farygin
2009-10-30 12:14         ` Paul Wolneykien
2009-10-30 12:40           ` Paul Wolneykien
2009-10-30 12:24         ` Alexey I. Froloff
2009-10-30 12:30           ` Paul Wolneykien
2009-10-30 13:04       ` Stanislav Ievlev

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git