(Difference between revisions)
Revision as of 08:38, 20 July 2010
TOC
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.
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
- a workflow framework allowing site-specific workflow definition
- 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
Boss uses Ruote as the workflow system which
There is an overview of Ruote which explains how it
- 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
Queue Manager
Resources
The code will be in a git project