ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Введение в облачный кластер автоматизации.
@ 2013-07-23 20:58 Igor Vlasenko
  2013-07-24 10:18 ` Igor Zubkov
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Vlasenko @ 2013-07-23 20:58 UTC (permalink / raw)
  To: devel

Уважаемые коллеги!

Публичная страница текущего состояния облачного кластера автоматизации ALT Linux Team находится на странице  http://watch.altlinux.org/pub/monitor/index.htm, в частности, там же можно посмотреть репозитории, которые сопровождаются нодами кластера, результаты работы repocop, результаты работы сервиса watch и других сервисов, выполняющихся в автоматическом режиме.

Что такое облачный кластер автоматизации ALT Linux Team?

Это  совокупность нескольких вычислительных систем, работающих совместно для выполнения общей задачи автоматизированного либо полностью автоматического создания программных пакетов для бинарных платформ репозиториев ALT Linux, часть из которых идет в общие репозитории (например, пакеты, создаваемые cronbuild и cronport), а часть размещается в отдельных репозиториях-оверлеях, например, репозитории autoports и autoimports для платформ t6, p7 и Sisyphus.

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

Зачем нужен кластер автоматизации.

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

Устройство кластера.

Элементарной вычислительной системой кластера является автономная нода. На одной виртуальной машине может быть одна или несколько автономных нод.  На виртуальной машине устанавливается программное обеспечение autorepo, представляющее собой контейнер автономных нод. В задачи программного обеспечения autorepo, кроме создания окружения для работы автономных нод и мониторинга виртуальной машины, входит предоставление сетевого доступа на чтение по протоколам http, ftp и rsync к результатам работы автономных нод, которые экспортируются в подкаталоги каталога /var/ftp.

Каждая автономная нода разворачивается под своим отдельным псевдопользователем. Режим работы автономной ноды циклический.
Мастер-процесс автономной ноды периодически вызывается через cron, выполняет полезную работу и завершается. Для сборочных нод мастер-процесс обычно вызывается раз в день, но в зависимости от ноды этот период может быть и другим.
В типичной конфигурации виртуальной машины 2 ноды  одна сборочная, для сопровождения локального репозитория, вторая  нода repocop для внешнего тестирования и исправления полученного репозитория. Кроме сборочных нод и нод  repocop внешнего тестирования в состав кластера могут входить и другие служебные ноды, такие как ноды администрирования и мониторинга кластера, ноды watch оповещений о наличии обновлений, ноды cronbuild, агрегирующие ноды, наподобие autoimports, которые сливают несколько репозиториев под данную платформу в один большой.

Продукция и пользователи кластера.

Окончательной продукцией кластера являются пакеты под дистрибутивы ALT Linux, потребителями которых являются пользователи дистрибутивов. Пользователями же собственно кластера являются майнтайнеры подсистем, по отношению к которым кластер выступает в роли "on-demand software" (SaaS).
Именно, когда возникает нужда в опакечивании некоторой подсистемы, к примеру, модулей node.js, либо в автоматизации опакечивания имеющейся подсистемы, в кластере автоматизации для этой подсистемы создается новая сборочная нода, и при необходимости, нода внешнего тестирования, на которой разворачивается программное обеспечение автосборки, настроенное под данную подсистему. Результаты работы ноды будут затем включены в общий либо агрегирующий репозиторий.

Принципы работы программного обеспечения сборочных нод.

Сборочные ноды являются основными нодами кластера.
Выполняемый в цикле процесс работы сборочной ноды состоит из следующих этапов:

* сравнение репозиториев
* генерация пакетов
* сборка пакетов
* публикация пакетов в репозиторий.

Покажем принципы работы сборочной ноды на примере ноды импорта пакетов perl CPANimport.
Нода скачивает список репозитория CPAN.org исходных текстов модулей языка программирования perl и сравнивает этот список со списком пакетов perl, имеющихся в репозитории целевой платформы (например, ALT Linux Sisyphus). На этом шаге в репозитории целевой платформы выявляются пакеты, которые нуждаются в обновлении, а также модули из  репозитория CPAN, для которых нет пакета в репозитории целевой платформы.
На втором шаге для выявленных модулей генерируются пакеты, на третьем шаге производится их сборка. Полученные пакеты публикуются в собственном репозитории ноды cpanimport. Агрегирующая нода autoimports соединяет пакеты из собственного репозитория ноды cpanimport с пакетами репозиториев других нод в один большой репозиторий autoimports.
Полученный цикл повторяется, как следствие, репозиторий модулей perl автоматически поддерживается в актуальном состоянии.

-- 

Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



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

* Re: [devel] Введение в облачный кластер автоматизации.
  2013-07-23 20:58 [devel] Введение в облачный кластер автоматизации Igor Vlasenko
@ 2013-07-24 10:18 ` Igor Zubkov
  2013-07-24 15:27   ` Igor Vlasenko
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Zubkov @ 2013-07-24 10:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2013/7/23 Igor Vlasenko:
> Публичная страница текущего состояния облачного кластера автоматизации ALT Linux Team находится на странице  http://watch.altlinux.org/pub/monitor/index.htm, в частности, там же можно посмотреть репозитории, которые сопровождаются нодами кластера, результаты работы repocop, результаты работы сервиса watch и других сервисов, выполняющихся в автоматическом режиме.

Застайлить через twitter bootstrap не судьба? Ну или пиши урл для git
clone, я добавлю.

> Покажем принципы работы сборочной ноды на примере ноды импорта пакетов perl CPANimport.
> Нода скачивает список репозитория CPAN.org исходных текстов модулей языка программирования perl и сравнивает этот список со списком пакетов perl, имеющихся в репозитории целевой платформы (например, ALT Linux Sisyphus). На этом шаге в репозитории целевой платформы выявляются пакеты, которые нуждаются в обновлении, а также модули из  репозитория CPAN, для которых нет пакета в репозитории целевой платформы.
> На втором шаге для выявленных модулей генерируются пакеты, на третьем шаге производится их сборка. Полученные пакеты публикуются в собственном репозитории ноды cpanimport. Агрегирующая нода autoimports соединяет пакеты из собственного репозитория ноды cpanimport с пакетами репозиториев других нод в один большой репозиторий autoimports.
> Полученный цикл повторяется, как следствие, репозиторий модулей perl автоматически поддерживается в актуальном состоянии.

Для каждого cpan пакета который прометей смог распознать есть
информация о текущей версии на cpan. Пример:
http://packages.altlinux.org/ru/Sisyphus/srpms/perl-Alien-SDL Можно
добавить что бы прометей писал письма  майнтейнерам что их пакеты из
cpan устарели. Надо? Можно даже отдельную страницу майнтейнеру в
прометее сделать.

А от куда ты берёшь информацию для watch пакетов? Ну и как это работает?

-- 
Igor Zubkov
http://hi.im/ice

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

* Re: [devel] Введение в облачный кластер автоматизации.
  2013-07-24 10:18 ` Igor Zubkov
@ 2013-07-24 15:27   ` Igor Vlasenko
  2013-07-24 19:15     ` Igor Zubkov
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Vlasenko @ 2013-07-24 15:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jul 24, 2013 at 01:18:54PM +0300, Igor Zubkov wrote:
> > Публичная страница текущего состояния облачного кластера автоматизации ALT Linux Team находится на странице  http://watch.altlinux.org/pub/monitor/index.htm, в частности, там же можно посмотреть репозитории, которые сопровождаются нодами кластера, результаты работы repocop, результаты работы сервиса watch и других сервисов, выполняющихся в автоматическом режиме.
> 
> Застайлить через twitter bootstrap не судьба? Ну или пиши урл для git
> clone, я добавлю.

/people/viy/packages/autorepo-altnode-control-node.git
Давно не занимался web, забыл уже все.
 
> > Покажем принципы работы сборочной ноды на примере ноды импорта пакетов perl CPANimport.
> Можно
> добавить что бы прометей писал письма  майнтейнерам что их пакеты из
> cpan устарели. Надо? Можно даже отдельную страницу майнтейнеру в
> прометее сделать.

Я вот хочу робота развернуть. Возможно, майнтайнерство perl-* вручную устареет,
а роботу письма не нужны :)
 
> А от куда ты берёшь информацию для watch пакетов? Ну и как это работает?

В packages.a.o можно было бы импортировать
http://watch.altlinux.org/pub/watch/watch-by-name.txt

там это работает как аггрегатор плагинов для разных источников пакетов.



-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



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

* Re: [devel] Введение в облачный кластер автоматизации.
  2013-07-24 15:27   ` Igor Vlasenko
@ 2013-07-24 19:15     ` Igor Zubkov
  2013-07-24 20:03       ` Igor Vlasenko
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Zubkov @ 2013-07-24 19:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2013/7/24 Igor Vlasenko:
> On Wed, Jul 24, 2013 at 01:18:54PM +0300, Igor Zubkov wrote:
>> > Публичная страница текущего состояния облачного кластера автоматизации ALT Linux Team находится на странице  http://watch.altlinux.org/pub/monitor/index.htm, в частности, там же можно посмотреть репозитории, которые сопровождаются нодами кластера, результаты работы repocop, результаты работы сервиса watch и других сервисов, выполняющихся в автоматическом режиме.
>>
>> Застайлить через twitter bootstrap не судьба? Ну или пиши урл для git
>> clone, я добавлю.
>
> /people/viy/packages/autorepo-altnode-control-node.git
> Давно не занимался web, забыл уже все.

Забирай https://github.com/biow0lf/autorepo-altnode-control-node/commit/de437bb0f33b85eec16ca483125435a65ffcbefa

>> > Покажем принципы работы сборочной ноды на примере ноды импорта пакетов perl CPANimport.
>> Можно
>> добавить что бы прометей писал письма  майнтейнерам что их пакеты из
>> cpan устарели. Надо? Можно даже отдельную страницу майнтейнеру в
>> прометее сделать.
>
> Я вот хочу робота развернуть. Возможно, майнтайнерство perl-* вручную устареет,
> а роботу письма не нужны :)
>
>> А от куда ты берёшь информацию для watch пакетов? Ну и как это работает?
>
> В packages.a.o можно было бы импортировать
> http://watch.altlinux.org/pub/watch/watch-by-name.txt
>
> там это работает как аггрегатор плагинов для разных источников пакетов.

С учётом того сколько там мусора, то я лучше воздержусь. Один только
gnome3 чего стоит в том списке. Это же rawhide и они там собирают не
стабильный гном...

Повторюсь,

>> А от куда ты берёшь информацию для watch пакетов? Ну и как это работает?

-- 
Igor Zubkov
http://hi.im/ice

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

* Re: [devel] Введение в облачный кластер автоматизации.
  2013-07-24 19:15     ` Igor Zubkov
@ 2013-07-24 20:03       ` Igor Vlasenko
  0 siblings, 0 replies; 5+ messages in thread
From: Igor Vlasenko @ 2013-07-24 20:03 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jul 24, 2013 at 10:15:26PM +0300, Igor Zubkov wrote:
> Забирай https://github.com/biow0lf/autorepo-altnode-control-node/commit/de437bb0f33b85eec16ca483125435a65ffcbefa

Спасибо!

> Повторюсь,
> 
> >> А от куда ты берёшь информацию для watch пакетов? Ну и как это работает?

см. /people/viy/packages/watch-rear.git
из cron вызывается сначала 
repocop-watch-daily-remote
затем
repocop-watch-daily-watch


-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



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

end of thread, other threads:[~2013-07-24 20:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-23 20:58 [devel] Введение в облачный кластер автоматизации Igor Vlasenko
2013-07-24 10:18 ` Igor Zubkov
2013-07-24 15:27   ` Igor Vlasenko
2013-07-24 19:15     ` Igor Zubkov
2013-07-24 20:03       ` Igor Vlasenko

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