Meego Wiki
Views

Release Infrastructure/BOSS

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
m (fix bullets)
m (adding diagrams)
Line 24: Line 24:
=== Architectecture ===
=== Architectecture ===
-
 
+
[[File:BOSS_overview.png]]
==== OBS event publisher ====
==== OBS event publisher ====
-
 
+
[[File:obs_events.png]]
==== Message Bus ====
==== Message Bus ====
* a collection of proxies
* a collection of proxies
Line 33: Line 33:
==== Queue Manager ====
==== Queue Manager ====
-
 
+
[[File:BOSS_arch.png]]
==== Work Flow System ====
==== Work Flow System ====
* a set of definitions(classes) {objects, conditions, transitions, states} to define the components of the productization process
* a set of definitions(classes) {objects, conditions, transitions, states} to define the components of the productization process

Revision as of 13:13, 10 June 2010

TOC

Contents

BOSS "Build Orchestration Supervision System"

BOSS is a workflow orchestrator, a system that is configured to your workflow requirements and interacts with OBS as well as with external systems to apply the required actions by your workflow.BR HADRON is a system to orchestrate a CI (Continuous Integration) ecosystem around OBS.

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 programs
  • allows for parallel implementation of the system
  • plugins are usable independently
  • take away the productization process/logic from the build infrastructure

What is BOSS

  • 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
  • a work flow framework allowing site-specific workflow definition

Architectecture

BOSS overview.png

OBS event publisher

Obs events.png

Message Bus

  • a collection of proxies
    • each proxy interprets on external system
  • a messaging system such as Qpid or DBus and a signal dispatcher

Queue Manager

BOSS arch.png

Work Flow System

  • a set of definitions(classes) {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)
Personal tools