RETIRED, Tricircle is to provide networking automation across Neutron.
Go to file
Dongfeng Huang e55e88fcae Implement resource routing features
1. What is the problem?
In order to dispatch resource operation request to the proper bottom instance,
we need a resource routing table, which maps a resource to the bottom instance
which it’s located at. However, the resource routing APIs have not been
implemented, so this patch carries out these features and performs some tests
for them at the same time.

2. What is the solution to the problem?
To implement the resource routing features, a new file named routing.py is
created in the directory tricircle/api/controllers, then regular post and
get functions will be implemented there. As for the unit test, a file named
test_routing.py is added to the directory tricircle/tests/unit/api/controllers,
conducting relevant tests for the features in file routing.py.

3. What the features need to be implemented to the Tricircle to realize
the solution?
Some main features like post, update, get and delete functions are implemented
in the file routing.py, then relative test method for each of them is realized
in the file test_routing.py. At last, these features are added to the search path
in the file root.py for REST API call.

Change-Id: I2c1073b8c8bd17eeb395afaa5ab7ea8d63609222
2016-11-07 16:01:24 +08:00
cmd Remove API-GW related code from the Tricricle 2016-10-10 23:12:09 -04:00
devstack Central and local plugin (part 2, l3 functionality) 2016-10-10 22:58:00 -04:00
doc/source [urgent] Fix multi-node installation guide about node_2 2016-10-26 20:59:37 +08:00
etc Remove API-GW related code from the Tricricle 2016-10-10 23:12:09 -04:00
releasenotes Add release notes for the master branch 2016-10-26 09:17:23 +08:00
specs Specification for local Neutron plugin 2016-09-29 09:32:01 +08:00
tricircle Implement resource routing features 2016-11-07 16:01:24 +08:00
.coveragerc Align project files structure with cookiecutter template 2016-07-05 15:08:41 +08:00
.gitignore Change the gate to OpenStack infrastrucure 2015-12-15 12:09:09 +08:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:41:25 +00:00
.testr.conf Add the Tricircle tempest plugin with a sample test case 2016-06-08 12:51:38 +08:00
CONTRIBUTING.rst Align project files structure with cookiecutter template 2016-07-05 15:08:41 +08:00
HACKING.rst Align project files structure with cookiecutter template 2016-07-05 15:08:41 +08:00
LICENSE Add source code to Tricircle 2014-09-25 15:56:40 +08:00
README.rst Add release notes for the master branch 2016-10-26 09:17:23 +08:00
requirements.txt Updated from global requirements 2016-11-06 02:08:48 +00:00
setup.cfg Remove API-GW related code from the Tricricle 2016-10-10 23:12:09 -04:00
setup.py Manual sync from global-requirements 2016-05-26 13:23:29 +10:00
test-requirements.txt Updated from global requirements 2016-11-06 02:08:48 +00:00
tox.ini Remove API-GW related code from the Tricricle 2016-10-10 23:12:09 -04:00

README.rst

Tricircle

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

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". The wiki and design documentation are linked below.

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

The Tricircle source code is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.