Jump to: navigation, search

Difference between revisions of "Tricircle"

(Architecture)
Line 66: Line 66:
  
 
In short term, Tricircle would focus on developing a robust architecture and related features, in a long run, we hope we could successfully establish a paradigm that could be applied to the whole OpenStack community
 
In short term, Tricircle would focus on developing a robust architecture and related features, in a long run, we hope we could successfully establish a paradigm that could be applied to the whole OpenStack community
 +
 +
==To do list==
 +
work breakdown is listed in the etherpad:
 +
  
 
==How to contribute==
 
==How to contribute==

Revision as of 01:26, 23 November 2015

Overview

Tricircle is an OpenStack project that aims to deal with OpenStack deployment across multiple sites, and provides a Extension as a Service. Tricircle would enable user to have a single management view by having only one OpenStack instance on behalf of all the involved OpenStack instances. Tricircle essentially serves as a communication bus between the central OpenStack instance and the other OpenStack instances that are called upon.

Tricircle is the formal open source project for OpenStack cascading solution ( https://wiki.openstack.org/wiki/OpenStack_cascading_solution ).

Currently there have been various good sub-projects within different OpenStack projects that try to solve the same problem as Tricircle does, however when OpenStack is deployed in the real world, a suite of OpenStack projects need to be deployed together rather than individual one. That puts additional difficulties on the cross site multi-openstack-instances deployment. Builds upon that, the management of such deployment would make it sounds even impossible to deal with.

Here in Tricircle, we try to solve this problem by defining a unified approach that would apply to any OpenStack projects, as well as providing a plugable structure that is extensible and has minimal impact on the main in-tree code.

Currently we only have a very coarse code base of Tricircle providing very basic functionalities, however you could put your imagination and magic into it. By careful planning and developement, Tricircle could be extended to support more powerful capabilities such as support the central OpenStack instance being virtually splitted into multiple micro instances which could enable user to have a more fine granularity on the tenancy and service. And the Tricircle also enables OpenStack based hybrid cloud.

Architecture

The following architecture is the initial architectural idea

Tricircle initial architecture design

An improved design is discussed in https://docs.google.com/document/d/18kZZ1snMOCD9IQvUKI5NVDzSASpw-QKj7l2zNqMEd3g/edit?usp=sharing,

For example: (caution: WIP)

Tricircle improved architecture design


Tricircle

  • run as standalone service, listen to top OpenStack message bus
  • integrated with DevStack

Dispatcher

  • work in cluster mode(see detail in later slides)
  • use fake node to receive Nova/Cinder rpc request from top OpenStack, one fake node for Neutron in each Dispatcher, forward job to any one of the proxy node
  • generate consistency check job/status sync. job, forward to any one of the proxy node
  • store jobs in DB

Proxy Node

  • work in cluster mode (see detail in later slides)
  • pick job from Dispatcher, decompose, encapsulate and forward jobs to regarding bottom OpenStack instance,one proxy node can see all bottom OpenStack
  • orchestrate multiple api calling like create VM
  • store and query mapping/jobs to/from DB

API

  • expose api for administrator to manage the cascading
  • manage sites and availability zone mapping
  • retrieve object uuid mapping
  • expose api for maintenance

DB

  • store sites, fake nodes, availability zone mapping, jobs

MB

  • message bus. Tricircle can have its own message bus

Tricircle Neutron plugin

  • Tricircle provides its own plugin for Neutron

FAQ

Q: What is the different between Tricircle and OpenStack Cascading?

OpenStack Cascading was mainly an implementation method used in a PoC done in late 2014 and early 2015, which aims to test out the idea that multiple OpenStack instances COULD be deployed across multiple geo-diverse sites. After the PoC was carried out successfully, the team then planned to contribute the core idea to the community.

Tricircle Project was born out of that idea, however got a different shape and focus. Unlike what is usually part of in a PoC, which has plenty twists and plumbers of feature enhancements, Tricircle in its earliest stage tries to build a clean architecture that is extendable, pluggable and reusable in nature.

In short, OpenStack Cascading is a specific deployment solution used for production purpose, while Tricircle represents an idea of one type of services, like Neutron or Murano, that in the future could be applied to OpenStack Ecosystem.

Q: What are the use cases for Tricircle ?

Use Cases for Tricircle could be found in Telco WG documents, Large Deployment Team Use Cases, and OPNFV Multisite Use Cases


Q: What is the goal of Tricircle?

In short term, Tricircle would focus on developing a robust architecture and related features, in a long run, we hope we could successfully establish a paradigm that could be applied to the whole OpenStack community

To do list

work breakdown is listed in the etherpad:


How to contribute

  1. Clone https://github.com/openstack/tricircle
  2. Make the changes to your entry, be sure to include what’s changed and why
  3. Commit the change for review
  4. The changes will be reviewed, merged within a day or so.

Tricircle is designed to use the same tools for submission and review as other OpenStack projects. As such we follow the OpenStack development workflow. New contributors should follow the getting started steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.

The Tricircle Launchpad page can be found at https://launchpad.net/tricircle.

Community

We have regular weekly meetings at #openstack-meeting on every Wednesday starting from UTC 13:00.

You are also welcomed to discuss issues you cared about using openstack-dev mailing list with [Tricircle] in the mail title. I believe our team member would be quite responsible :)

Team Member