Add project Tricircle to OpenStack big-tent

Following the directive
http://governance.openstack.org/reference/new-projects-requirements.html

OpenStack Mission Alignment:
The purpose of the Tricircle project is to provide networking automation
across Neutron in multi-region OpenStack clouds deployment.

Use cases for the Tricircle is described in the wiki[1] adn material for
big-tent application[2].

Each OpenStack cloud includes its own Nova, Cinder and Neutron, the
Neutron servers in these OpenStack clouds are called local Neuron
servers, all these local Neutron servers will be configured with the
Tricircle Local Neutron Plugin. A seperate Neutron server will be
installed and run standalone as the coordinator of networking automation
across local Neutron servers, this Neutron server will be configured
with the Tricircle Central Neutron Plugin, and is called central
Neutron server.

Leverage the Tricircle Central Neutron Plugin and the Tricircle Local
Neutron Plugin configured in these Neutron servers, the Tricircle can
ensure the IP address pool, IP/MAC address allocation and network
segment allocation being managed globally without conflict, and the
Tricircle handles tenant oriented data link layer(Layer2) or network
layer(Layer3) networking automation across local Neutron servers,
resources like VMs, bare metal or containers of the tenant can
communicate with each other via Layer2 or Layer3, no matter in which
OpenStack cloud these resources are running on.

Note: There are some our own definitions of Layer2/Layer3 networking
across Neutron. To make sure what they are, please read our design
documentation, especially "6.5 L2 Networking across Neutron"[3].

The Tricircle and multi-region OpenStack clouds will use shared
KeyStone(with centralized or distributed deployment) or federated
KeyStones.

The Tricircle is composed of the followings:
1)Tricircle Local Neutron Plugin
  It runs under local Neutron server in the same process like
  OVN/Dragonflow Neutron plugin, it is a shim layer between real core
  plugin and Neutron server
  The Tricircle Local Neutron Plugin serve for cross Neutron networking
  automation triggering.
2)Tricircle Central Neutron Plugin
  It runs under central Neutron server in the same process like
  OVN/Dragonflow Neutron plugin.
  The Tricircle Central Neutron Plugin serve for tenant level L2/L3
  networking automation across multi-OpenStack instances.
3)Admin API
  A web service introduced by the Tricircle to manage the mappings
  between OpenStack instances and availability zone which is used
  for availability zone hint parameter during network creation in
  central Neutron.
  Retrieve object uuid routing.
  Expose RESTful API for maintenance purpose.
  Running together with central Neutron Server.
4)XJob
  Receive and handle cross Neutron networking functionalities and
  other async jobs from Admin API or the Tricircle Central Neutron
  Plugin through message bus.
  For example, an async. job to configure the extra route in
  different local Neutron servers for L3 networking.
5)Database
  The Tricircle has its own database to store jobs, resource routing
  tables for the Tricircle Central Neutron plugin, Admin API and XJob.
  The Tricircle Neutron Central Plugin will also reuse database of
  central Neutron server to do the global management of tenant's
  resources like IP/MAC/network/router.
  The Tricircle Local Neutron Plugin is a shim layer between real
  core plugin and Neutron server, so Neutron database will be still
  there for local Neutron server and real core plugin.

Following the 4 opens:

Open Source:
- The Tricircle is 100% open source under an Apache 2.0 license[4], everything
  from implementation to design to future features and roadmap are happening
  and shared openly and presented in various meet-ups and documents.
- The Tricircle has no library dependencies which effectively restrict how the
  project may be distributed or deployed. Oslo libraries are used by all
  components where applicable.

Open Community:
- The leadership is chosen by the contributors to the project[5][6][7].
- We are working closely with the community to share use cases and problems
  and decide on future priorities for the project. It is our mission to
  collaborate with as many members/companies in the community as possible
  and we welcome any feedback and any desire to help us shape the Tricircle's
  future.
  This is done using the mailing list, etherpad, IRC, weekly meetings, patches,
  and OpenStack summit sessions[8][9][10][11][12][13][14].
- Contributors of the Tricircle comes from different companies and
  universities[15][16][17][18][19][20], some of them are working as
  independent contributors.

Open Development:
- All the Tricircle code is being code reviewed in OpenStack Gerrit[21].
- The Tricircle has a core team which openly discuss all issues[21][22].
- The Tricircle support gate tests which run unit tests and fullstack
  tests[23][24].
- The Tricircle collaborates other projects such as Neutron and L2GW to
  try and find optimal cross OpenStack L2 networking solutions[8].
- The Tricircle collobarates with Neutron via its plugin mechanism to do
  the cross OpenStack networking automation.
- Bugs are managed by OpenStack launchpad[25].

Open Design:
- All designs and specs of the Tricircle are published for review and managed
  in OpenStack launchpad[26][27].
- The Tricircle conducts a weekly IRC meeting to discuss all designs and
  future roadmap[10].
- The Tricircle repository offers documentation and diagrams to explain the
  current design, code and future roadmap[4].
- Everything is discussed openly either on the review board, the Tricircle
  IRC channel, or the ML, or Google doc[2][3], or etherpad[28][29].

[1] https://wiki.openstack.org/wiki/Tricircle#Use_Cases
[2] https://docs.google.com/presentation/d/1Zkoi4vMOGN713Vv_YO0GP6YLyjLpQ7fRbHlirpq6ZK4/edit?usp=sharing
[3] https://docs.google.com/document/d/1zcxwl8xMEpxVCqLTce2-dUOtB-ObmzJTbV1uSQ6qTsY/
[4] https://github.com/openstack/tricircle
[5] http://lists.openstack.org/pipermail/openstack-dev/2016-May/094019.html
[6] http://lists.openstack.org/pipermail/openstack-dev/2016-May/095317.html
[7] http://lists.openstack.org/pipermail/openstack-dev/2016-September/103925.html
[8] https://review.openstack.org/#/c/282180/
[9] http://eavesdrop.openstack.org/meetings/tricircle/
[10] https://wiki.openstack.org/wiki/Meetings/Tricircle
[11] https://wiki.openstack.org/wiki/Meetings/Tricircle#Announcements
[12] https://www.openstack.org/summit/austin-2016/summit-schedule/events/7480
[13] https://www.openstack.org/summit/austin-2016/summit-schedule/events/9533
[14] https://www.openstack.org/summit/barcelona-2016/summit-schedule/global-search?t=Tricircle%3A
[15] http://stackalytics.com/?project_type=openstack-others&module=tricircle&metric=marks&release=newton
[16] http://stackalytics.com/?project_type=openstack-others&module=tricircle&metric=patches&release=newton
[17] http://stackalytics.com/?project_type=openstack-others&module=tricircle&metric=loc&release=newton
[18] http://stackalytics.com/?project_type=openstack-others&module=tricircle
[19] http://stackalytics.com/?project_type=openstack-others&module=tricircle&metric=patches
[20] http://stackalytics.com/?project_type=openstack-others&module=tricircle&metric=loc
[21] https://review.openstack.org/#/q/project:openstack/tricircle
[22] https://review.openstack.org/#/admin/groups/441,members
[23] https://github.com/openstack-infra/project-config/search?utf8=%E2%9C%93&q=tricircle
[24] https://review.openstack.org/#/c/375976/
[25] https://bugs.launchpad.net/tricircle
[26] https://blueprints.launchpad.net/tricircle/+specs?show=all
[27] https://github.com/openstack/tricircle/tree/master/specs
[28] https://etherpad.openstack.org/p/TricircleCrossPodL2Networking
[29] https://etherpad.openstack.org/p/TricircleSplitting

Change-Id: I44f0d614dae81004ca31250461b9d4dbe865a13a
This commit is contained in:
Chaoyi Huang 2016-07-07 17:23:27 +08:00 committed by joehuang
parent f514a93082
commit 342ff2010c

@ -6434,6 +6434,25 @@ Telemetry:
- type:library
- release:independent
tricircle:
ptl:
name: Chaoyi Huang
irc: joehuang
email: joehuang@huawei.com
irc-channel: openstack-tricircle
service: Networking automation across Neutron service
mission: >
To provide networking automation across Neutron in multi-region OpenStack
clouds deployment.
url: https://wiki.openstack.org/wiki/Tricircle
deliverables:
tricircle:
repos:
- openstack/tricircle
tags:
- release:cycle-with-intermediary
- type:service
tripleo:
ptl:
name: Emilien Macchi