Meego Wiki
Views

Release Infrastructure/BOSS

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
m (moved Infrastructure/BOSS to Release Infrastructure/BOSS: Original title was broader than intended)
Line 4: Line 4:
MeeGo will use BOSS to orchestrate a CI (Continuous Integration) ecosystem around OBS.
MeeGo will use BOSS to orchestrate a CI (Continuous Integration) ecosystem around OBS.
 +
 +
[[File:Boss0.png]]
=== Why ===
=== Why ===
Line 20: Line 22:
=== What is BOSS ===
=== What is BOSS ===
-
* a workflow framework allowing site-specific workflow definition
+
There is a page describing the details of the [/Design design]
-
* a message bus to collect all triggers and feedback from the different components of the ecosystem
+
-
* A queue-manager to handle delivery of incoming messages from all existing systems to the worklow framework
+
-
==== Work Flow System ====
+
* a workflow framework allowing site-specific workflow definition
-
Boss uses [http://ruote.rubyforge.org/ Ruote] as the workflow system which
+
* a message bus and queue-manager to handle delivery of incoming messages from all existing systems to the worklow framework
-
There is [http://wiki.github.com/jmettraux/ruote/overview an overview of Ruote] which explains how it
+
* a queue-based job distribution system that handles delivery to pools of workers
-
* a set of Pa {objects, conditions, transitions, states} to define the components of the productization process
+
-
* separate workflow scripts for the product (can be multiple)
+
-
* a collection of plugins
+
-
** one plugin per external system
+
-
** possible plugins to handle transitions (parsing the requests)
+
-
 
+
-
==== Message Bus ====
+
-
* a collection of proxies representing external systems
+
-
* the RabbitMQ messaging system (or other similar) and a signal dispatcher
+
-
=== Architectecture ===
+
=== OBS event publisher ===
-
[[File:BOSS_overview.png]]
+
One important part of BOSS integration will be the connectivity with the OBS.
-
==== OBS event publisher ====
+
[[File:obs_events.png]]
[[File:obs_events.png]]
-
==== Queue Manager ====
 
-
[[File:BOSS_arch.png]]
 
== Resources ==
== Resources ==
-
The code will be in [http://meego.gitorious.org/meego-infrastructure-tools/boss a git project]
+
* Code: The [/Code BOSS code] is available
 +
* AMQP: [http://www.amqp.org AMQP.org] has the very readable [http://www.amqp.org/confluence/download/attachments/720900/amqp0-9-1.pdf?version=1&modificationDate=1227526523000 0.9.1 specification (pdf)]
 +
* Ruote: [http://wiki.github.com/jmettraux/ruote/overview An overview of Ruote]

Revision as of 11:16, 28 July 2010

TOC

Contents

BOSS "Build Orchestration Supervision System"

BOSS is a workflow orchestrator, a system that can be configured to automate your workflow requirements; it interacts with the OBS and with people and systems around it to apply your workflow steps.

MeeGo will use BOSS to orchestrate a CI (Continuous Integration) ecosystem around OBS.

Boss0.png

Why

  • we need a robust, flexible way of configuring a set of triggers (ex. OBS event or a submit request) and responses
  • OBS is a build system, not a general workflow system
  • there is need for automation of responses to OBS actions results
  • OBS requests are good but not flexible nor extensible
  • there's fear of OBS becoming a big black box doing all the magic (maintainability)
  • Hermes is there, but it is just taking care of notifications

Requirements

  • parallel worflows for parallel software programmes
  • allows for parallel implementation of the system
  • plugins are usable independently
  • take away the productization process/logic from the build infrastructure

What is BOSS

There is a page describing the details of the [/Design design]

  • a workflow framework allowing site-specific workflow definition
  • a message bus and queue-manager to handle delivery of incoming messages from all existing systems to the worklow framework
  • a queue-based job distribution system that handles delivery to pools of workers

OBS event publisher

One important part of BOSS integration will be the connectivity with the OBS. Obs events.png

Resources

Personal tools